dualsense-ts
Version:
A natural interface for your DualSense controller, with Typescript
40 lines • 1.87 kB
TypeScript
import { TriggerMode, PlayerID } from "./command";
import { HIDProvider, DualsenseHIDState } from "./hid_provider";
export type HIDCallback = (state: DualsenseHIDState) => void;
export type ErrorCallback = (error: Error) => void;
/** Coordinates a HIDProvider and tracks the latest HID state */
export declare class DualsenseHID {
readonly provider: HIDProvider;
/** Subscribers waiting for HID state updates */
private readonly subscribers;
/** Subscribers waiting for error updates */
private readonly errorSubscribers;
/** Queue of pending HID commands */
private pendingCommands;
/** Most recent HID state of the device */
state: DualsenseHIDState;
constructor(provider: HIDProvider, refreshRate?: number);
/** Register a handler for HID state updates */
register(callback: HIDCallback): void;
/** Cancel a previously registered handler */
unregister(callback: HIDCallback): void;
/** Add a subscriber for errors */
on(type: "error" | string, callback: ErrorCallback): void;
/** Update the HID state and pass it along to all state subscribers */
private set;
/** Pass errors along to all error subscribers */
private handleError;
/** Condense all pending commands into one HID feature report */
private static buildFeatureReport;
/** Set intensity for left and right rumbles */
setRumble(left: number, right: number): void;
/** Set left trigger resistance and behavior */
setLeftTriggerFeedback(mode: TriggerMode, forces: number[]): void;
/** Set right trigger resistance and behavior */
setRightTriggerFeedback(mode: TriggerMode, forces: number[]): void;
/** Set microphone LED brightness */
setMicrophoneLED(brightness: number): void;
/** Set player ID LEDs */
setPlayerId(id: PlayerID): void;
}
//# sourceMappingURL=dualsense_hid.d.ts.map