dualsense-ts
Version:
A natural interface for your DualSense controller, with Typescript
81 lines • 3.28 kB
TypeScript
import { Momentary, Dpad, DpadParams, Mute, Unisense, UnisenseParams, Touchpad, Gyroscope, GyroscopeParams, Accelerometer, AccelerometerParams } from "./elements";
import { Input, InputParams } from "./input";
import { DualsenseHID } from "./hid";
import { Intensity } from "./math";
/** Settings for your Dualsense controller and each of its inputs */
export interface DualsenseParams extends InputParams {
/** Sets the source for HID events. Default: decide automatically */
hid?: DualsenseHID | null;
/** Settings for the Playstation button */
ps?: InputParams;
/** Settings for the mute button */
mute?: InputParams;
/** Settings for the options button */
options?: InputParams;
/** Settings for the create button */
create?: InputParams;
/** Settings for the triangle button */
triangle?: InputParams;
/** Settings for the circle button */
circle?: InputParams;
/** Settings for the cross button */
cross?: InputParams;
/** Settings for the square button */
square?: InputParams;
/** Settings for the dpad buttons */
dpad?: DpadParams;
/** Settings for inputs on the left half of the controller */
left?: UnisenseParams;
/** Settings for inputs on the right side of the controller */
right?: UnisenseParams;
/** Settings for the touchpad inputs */
touchpad?: InputParams;
/** Settings for the gyroscope */
gyroscope?: GyroscopeParams;
/** Settings for the accelerometer */
accelerometer?: AccelerometerParams;
}
/** Represents a Dualsense controller */
export declare class Dualsense extends Input<Dualsense> {
readonly state: Dualsense;
/** The Playstation button */
readonly ps: Momentary;
/** The mute button and status light */
readonly mute: Mute;
/** The options button */
readonly options: Momentary;
/** The create button */
readonly create: Momentary;
/** The triangle button */
readonly triangle: Momentary;
/** The circle button */
readonly circle: Momentary;
/** The cross, or X button */
readonly cross: Momentary;
/** The square button */
readonly square: Momentary;
/** The up/down/left/right dpad buttons */
readonly dpad: Dpad;
/** Inputs on the left half of the controller */
readonly left: Unisense;
/** Inputs on the right half of the controller */
readonly right: Unisense;
/** The touchpad; works like a pair of analog sticks */
readonly touchpad: Touchpad;
/** Tracks the controller's angular velocity */
readonly gyroscope: Gyroscope;
/** Tracks the controller's linear acceleration */
readonly accelerometer: Accelerometer;
/** Represents the underlying HID device. Provides input events */
readonly hid: DualsenseHID;
/** A virtual button representing whether or not a controller is connected */
readonly connection: Momentary;
get active(): boolean;
constructor(params?: DualsenseParams);
private get rumbleIntensity();
/** Check or adjust rumble intensity evenly across both sides of the controller */
rumble(intensity?: Intensity): number;
/** Distributes HID event values to the controller's inputs */
private processHID;
}
//# sourceMappingURL=dualsense.d.ts.map