ive-connect
Version:
A universal haptic device control library for interactive experiences
64 lines (63 loc) • 1.37 kB
TypeScript
/**
* Buttplug-specific types
*/
import { DeviceSettings } from "../../core/device-interface";
/**
* Buttplug connection types
*/
export declare enum ButtplugConnectionType {
WEBSOCKET = "websocket",
LOCAL = "local"
}
/**
* Enum to represent current connection state
*/
export declare enum ButtplugConnectionState {
DISCONNECTED = "DISCONNECTED",
CONNECTING = "CONNECTING",
CONNECTED = "CONNECTED"
}
/**
* Buttplug device settings
*/
export interface ButtplugSettings extends DeviceSettings {
connectionType: ButtplugConnectionType;
serverUrl?: string;
clientName: string;
strokeRange?: {
min: number;
max: number;
};
allowedFeatures: {
vibrate: boolean;
rotate: boolean;
linear: boolean;
};
devicePreferences: Record<number, {
enabled: boolean;
useVibrate: boolean;
useRotate: boolean;
useLinear: boolean;
intensity?: number;
}>;
}
/**
* Buttplug device info
*/
export interface ButtplugDeviceInfo {
index: number;
name: string;
canVibrate: boolean;
canRotate: boolean;
canLinear: boolean;
}
/**
* Device preference for storing configuration
*/
export interface DevicePreference {
enabled: boolean;
useVibrate: boolean;
useRotate: boolean;
useLinear: boolean;
intensity?: number;
}