dualsense-ts 5.3.0 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +24 -8
  2. package/dist/dualsense.d.ts +10 -2
  3. package/dist/dualsense.d.ts.map +1 -1
  4. package/dist/dualsense.js +20 -0
  5. package/dist/dualsense.js.map +1 -1
  6. package/dist/elements/accelerometer.d.ts +17 -4
  7. package/dist/elements/accelerometer.d.ts.map +1 -1
  8. package/dist/elements/accelerometer.js +24 -4
  9. package/dist/elements/accelerometer.js.map +1 -1
  10. package/dist/elements/gyroscope.d.ts +17 -4
  11. package/dist/elements/gyroscope.d.ts.map +1 -1
  12. package/dist/elements/gyroscope.js +24 -4
  13. package/dist/elements/gyroscope.js.map +1 -1
  14. package/dist/hid/byte_array.d.ts +9 -0
  15. package/dist/hid/byte_array.d.ts.map +1 -0
  16. package/dist/hid/byte_array.js +3 -0
  17. package/dist/hid/byte_array.js.map +1 -0
  18. package/dist/hid/dualsense_hid.d.ts.map +1 -1
  19. package/dist/hid/dualsense_hid.js +2 -43
  20. package/dist/hid/dualsense_hid.js.map +1 -1
  21. package/dist/hid/hid_provider.d.ts +85 -9
  22. package/dist/hid/hid_provider.d.ts.map +1 -1
  23. package/dist/hid/hid_provider.js +246 -9
  24. package/dist/hid/hid_provider.js.map +1 -1
  25. package/dist/hid/index.d.ts +1 -0
  26. package/dist/hid/index.d.ts.map +1 -1
  27. package/dist/hid/index.js +1 -0
  28. package/dist/hid/index.js.map +1 -1
  29. package/dist/hid/node_hid_provider.d.ts +3 -2
  30. package/dist/hid/node_hid_provider.d.ts.map +1 -1
  31. package/dist/hid/node_hid_provider.js +14 -64
  32. package/dist/hid/node_hid_provider.js.map +1 -1
  33. package/dist/hid/web_hid_provider.d.ts +12 -3
  34. package/dist/hid/web_hid_provider.d.ts.map +1 -1
  35. package/dist/hid/web_hid_provider.js +61 -61
  36. package/dist/hid/web_hid_provider.js.map +1 -1
  37. package/nodehid_example/debug.ts +8 -1
  38. package/package.json +3 -2
  39. package/src/dualsense.ts +35 -3
  40. package/src/elements/accelerometer.ts +45 -4
  41. package/src/elements/gyroscope.ts +45 -4
  42. package/src/hid/byte_array.ts +8 -0
  43. package/src/hid/dualsense_hid.ts +11 -46
  44. package/src/hid/hid_provider.ts +286 -11
  45. package/src/hid/index.ts +1 -0
  46. package/src/hid/node_hid_provider.ts +21 -80
  47. package/src/hid/web_hid_provider.ts +83 -79
  48. package/webhid_example/build/asset-manifest.json +3 -3
  49. package/webhid_example/build/index.html +1 -1
  50. package/webhid_example/build/static/js/main.0432376e.js +3 -0
  51. package/webhid_example/build/static/js/main.0432376e.js.map +1 -0
  52. package/webhid_example/src/App.tsx +8 -3
  53. package/webhid_example/src/hud/Debugger.tsx +23 -21
  54. package/webhid_example/src/hud/Gyro.tsx +79 -0
  55. package/webhid_example/src/hud/Reticle.tsx +0 -2
  56. package/webhid_example/src/hud/index.tsx +1 -0
  57. package/webhid_example/build/static/js/main.38a225bc.js +0 -3
  58. package/webhid_example/build/static/js/main.38a225bc.js.map +0 -1
  59. /package/webhid_example/build/static/js/{main.38a225bc.js.LICENSE.txt → main.0432376e.js.LICENSE.txt} +0 -0
package/README.md CHANGED
@@ -110,9 +110,27 @@ for await (const { pressure } of controller.left.trigger) {
110
110
  }
111
111
  ```
112
112
 
113
- ### Rumble Support
113
+ ### Other Supported Features
114
114
 
115
- Only supported in node.js with a wireless connection.
115
+ #### Motion Control
116
+
117
+ ```typescript
118
+ controller.gyroscope.on("change", ({ x, y, z }) => {
119
+ console.log(`Gyroscope: \n\t${x}\n\t${y}\n\t${z}`)
120
+ }
121
+
122
+ controller.accelerometer.on("change", ({ x, y, z }) => {
123
+ console.log(`Accelerometer: \n\t${x}\n\t${y}\n\t${z}`)
124
+ }
125
+
126
+ controller.accelerometer.z.on("change", ({ force }) => {
127
+ if (force > 0.3) console.log('Controller moving')
128
+ })
129
+ ```
130
+
131
+ #### Rumble
132
+
133
+ Only supported in node.js over USB at this time.
116
134
 
117
135
  ```typescript
118
136
  controller.rumble(1.0); // 100% rumble intensity
@@ -201,13 +219,9 @@ export const ControllerConnection = () => {
201
219
 
202
220
  ### It's not working
203
221
 
204
- `controller.hid` manages the connection to the device and provides useful error events:
205
-
206
- ```typescript
207
- controller.hid.on("error", console.error);
208
- ```
222
+ Try out the [example app](https://nsfm.github.io/dualsense-ts/)'s debugger to look for clues. Please open an issue on Github if you have questions or something doesn't seem right.
209
223
 
210
- Please open an issue Github if you're having trouble.
224
+ If inputs are not working or wrong, use the debugger to view the report buffer and include this with your issue to help us reproduce the problem.
211
225
 
212
226
  ## Migration Guide
213
227
 
@@ -217,3 +231,5 @@ Please open an issue Github if you're having trouble.
217
231
 
218
232
  - [CamTosh](https://github.com/CamTosh)'s [node-dualsense](https://github.com/CamTosh/node-dualsense)
219
233
  - [flok](https://github.com/flok)'s [pydualsense](https://github.com/flok/pydualsense)
234
+ - [nondebug](https://github.com/nondebug)'s [dualsense reference](https://github.com/nondebug/dualsense)
235
+ - [Contributors to `dualsense-ts` on Github](https://github.com/nsfm/dualsense-ts/graphs/contributors)
@@ -1,4 +1,4 @@
1
- import { Momentary, Dpad, DpadParams, Mute, Unisense, UnisenseParams, Touchpad } from "./elements";
1
+ import { Momentary, Dpad, DpadParams, Mute, Unisense, UnisenseParams, Touchpad, Gyroscope, GyroscopeParams, Accelerometer, AccelerometerParams } from "./elements";
2
2
  import { Input, InputParams } from "./input";
3
3
  import { DualsenseHID } from "./hid";
4
4
  import { Intensity } from "./math";
@@ -30,6 +30,10 @@ export interface DualsenseParams extends InputParams {
30
30
  right?: UnisenseParams;
31
31
  /** Settings for the touchpad inputs */
32
32
  touchpad?: InputParams;
33
+ /** Settings for the gyroscope */
34
+ gyroscope?: GyroscopeParams;
35
+ /** Settings for the accelerometer */
36
+ accelerometer?: AccelerometerParams;
33
37
  }
34
38
  /** Represents a Dualsense controller */
35
39
  export declare class Dualsense extends Input<Dualsense> {
@@ -56,8 +60,12 @@ export declare class Dualsense extends Input<Dualsense> {
56
60
  readonly left: Unisense;
57
61
  /** Inputs on the right half of the controller */
58
62
  readonly right: Unisense;
59
- /** The touchpad; works like an analog stick */
63
+ /** The touchpad; works like a pair of analog sticks */
60
64
  readonly touchpad: Touchpad;
65
+ /** Tracks the controller's angular velocity */
66
+ readonly gyroscope: Gyroscope;
67
+ /** Tracks the controller's linear acceleration */
68
+ readonly accelerometer: Accelerometer;
61
69
  /** Represents the underlying HID device. Provides input events */
62
70
  readonly hid: DualsenseHID;
63
71
  /** A virtual button representing whether or not a controller is connected */
@@ -1 +1 @@
1
- {"version":3,"file":"dualsense.d.ts","sourceRoot":"","sources":["../src/dualsense.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,QAAQ,EACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAY,WAAW,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAEL,YAAY,EAGb,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,oEAAoE;AACpE,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,oEAAoE;IACpE,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,0CAA0C;IAC1C,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,mCAAmC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oCAAoC;IACpC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,wCAAwC;AACxC,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC;IAC7C,SAAgB,KAAK,EAAE,SAAS,CAAQ;IAExC,6BAA6B;IAC7B,SAAgB,EAAE,EAAE,SAAS,CAAC;IAC9B,uCAAuC;IACvC,SAAgB,IAAI,EAAE,IAAI,CAAC;IAC3B,yBAAyB;IACzB,SAAgB,OAAO,EAAE,SAAS,CAAC;IACnC,wBAAwB;IACxB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,0BAA0B;IAC1B,SAAgB,QAAQ,EAAE,SAAS,CAAC;IACpC,wBAAwB;IACxB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,6BAA6B;IAC7B,SAAgB,KAAK,EAAE,SAAS,CAAC;IACjC,wBAAwB;IACxB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,0CAA0C;IAC1C,SAAgB,IAAI,EAAE,IAAI,CAAC;IAC3B,gDAAgD;IAChD,SAAgB,IAAI,EAAE,QAAQ,CAAC;IAC/B,iDAAiD;IACjD,SAAgB,KAAK,EAAE,QAAQ,CAAC;IAChC,+CAA+C;IAC/C,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IAEnC,kEAAkE;IAClE,SAAgB,GAAG,EAAE,YAAY,CAAC;IAElC,6EAA6E;IAC7E,SAAgB,UAAU,EAAE,SAAS,CAAC;IAEtC,IAAW,MAAM,IAAI,OAAO,CAI3B;gBAEW,MAAM,GAAE,eAAoB;IAsGxC,OAAO,KAAK,eAAe,GAE1B;IAED,kFAAkF;IAC3E,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM;IAM5C,8DAA8D;IAC9D,OAAO,CAAC,UAAU;CAwCnB"}
1
+ {"version":3,"file":"dualsense.d.ts","sourceRoot":"","sources":["../src/dualsense.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,SAAS,EACT,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAY,WAAW,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAEL,YAAY,EAGb,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,oEAAoE;AACpE,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,oEAAoE;IACpE,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,0CAA0C;IAC1C,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,mCAAmC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oCAAoC;IACpC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,iCAAiC;IACjC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,qCAAqC;IACrC,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,wCAAwC;AACxC,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC;IAC7C,SAAgB,KAAK,EAAE,SAAS,CAAQ;IAExC,6BAA6B;IAC7B,SAAgB,EAAE,EAAE,SAAS,CAAC;IAC9B,uCAAuC;IACvC,SAAgB,IAAI,EAAE,IAAI,CAAC;IAC3B,yBAAyB;IACzB,SAAgB,OAAO,EAAE,SAAS,CAAC;IACnC,wBAAwB;IACxB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,0BAA0B;IAC1B,SAAgB,QAAQ,EAAE,SAAS,CAAC;IACpC,wBAAwB;IACxB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,6BAA6B;IAC7B,SAAgB,KAAK,EAAE,SAAS,CAAC;IACjC,wBAAwB;IACxB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,0CAA0C;IAC1C,SAAgB,IAAI,EAAE,IAAI,CAAC;IAC3B,gDAAgD;IAChD,SAAgB,IAAI,EAAE,QAAQ,CAAC;IAC/B,iDAAiD;IACjD,SAAgB,KAAK,EAAE,QAAQ,CAAC;IAChC,uDAAuD;IACvD,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC,+CAA+C;IAC/C,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,kDAAkD;IAClD,SAAgB,aAAa,EAAE,aAAa,CAAC;IAE7C,kEAAkE;IAClE,SAAgB,GAAG,EAAE,YAAY,CAAC;IAElC,6EAA6E;IAC7E,SAAgB,UAAU,EAAE,SAAS,CAAC;IAEtC,IAAW,MAAM,IAAI,OAAO,CAI3B;gBAEW,MAAM,GAAE,eAAoB;IAiHxC,OAAO,KAAK,eAAe,GAE1B;IAED,kFAAkF;IAC3E,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM;IAM5C,8DAA8D;IAC9D,OAAO,CAAC,UAAU;CAiDnB"}
package/dist/dualsense.js CHANGED
@@ -77,6 +77,18 @@ class Dualsense extends input_1.Input {
77
77
  name: "Connected",
78
78
  ...(params.square ?? {}),
79
79
  });
80
+ this.gyroscope = new elements_1.Gyroscope({
81
+ icon: "∞",
82
+ name: "Gyroscope",
83
+ threshold: 0.01,
84
+ ...(params.gyroscope ?? {}),
85
+ });
86
+ this.accelerometer = new elements_1.Accelerometer({
87
+ icon: "⤲",
88
+ name: "Accelerometer",
89
+ threshold: 0.01,
90
+ ...(params.accelerometer ?? {}),
91
+ });
80
92
  this.connection[input_1.InputSet](false);
81
93
  this.hid = params.hid ?? new hid_1.DualsenseHID(new hid_1.PlatformHIDProvider());
82
94
  this.hid.register((state) => {
@@ -137,14 +149,22 @@ class Dualsense extends input_1.Input {
137
149
  this.touchpad.right.tracker[input_1.InputSet](state["TouchId1" /* InputId.TouchId1 */]);
138
150
  this.left.analog.x[input_1.InputSet](state["LX" /* InputId.LeftAnalogX */]);
139
151
  this.left.analog.y[input_1.InputSet](state["LY" /* InputId.LeftAnalogY */]);
152
+ this.left.analog.button[input_1.InputSet](state["L3" /* InputId.LeftAnalogButton */]);
140
153
  this.left.bumper[input_1.InputSet](state["L1" /* InputId.LeftBumper */]);
141
154
  this.left.trigger[input_1.InputSet](state["L2" /* InputId.LeftTrigger */]);
142
155
  this.left.trigger.button[input_1.InputSet](state["L2Button" /* InputId.LeftTriggerButton */]);
143
156
  this.right.analog.x[input_1.InputSet](state["RX" /* InputId.RightAnalogX */]);
144
157
  this.right.analog.y[input_1.InputSet](state["RY" /* InputId.RightAnalogY */]);
158
+ this.right.analog.button[input_1.InputSet](state["R3" /* InputId.RightAnalogButton */]);
145
159
  this.right.bumper[input_1.InputSet](state["R1" /* InputId.RightBumper */]);
146
160
  this.right.trigger[input_1.InputSet](state["R2" /* InputId.RightTrigger */]);
147
161
  this.right.trigger.button[input_1.InputSet](state["R2Button" /* InputId.RightTriggerButton */]);
162
+ this.gyroscope.x[input_1.InputSet](state["GyroX" /* InputId.GyroX */]);
163
+ this.gyroscope.y[input_1.InputSet](state["GyroY" /* InputId.GyroY */]);
164
+ this.gyroscope.z[input_1.InputSet](state["GyroZ" /* InputId.GyroZ */]);
165
+ this.accelerometer.x[input_1.InputSet](state["AccelX" /* InputId.AccelX */]);
166
+ this.accelerometer.y[input_1.InputSet](state["AccelY" /* InputId.AccelY */]);
167
+ this.accelerometer.z[input_1.InputSet](state["AccelZ" /* InputId.AccelZ */]);
148
168
  }
149
169
  }
150
170
  exports.Dualsense = Dualsense;
@@ -1 +1 @@
1
- {"version":3,"file":"dualsense.js","sourceRoot":"","sources":["../src/dualsense.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dualsense.js","sourceRoot":"","sources":["../src/dualsense.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,20 @@
1
- import { Input } from "../input";
2
- /** Not yet implemented */
3
- export declare class Accelerometer extends Input<boolean> {
4
- readonly state: boolean;
1
+ import { Input, InputParams } from "../input";
2
+ import { Axis, AxisParams } from "./axis";
3
+ export interface AccelerometerParams extends InputParams {
4
+ /** Configuration for the input's x axis */
5
+ x?: AxisParams;
6
+ /** Configuration for the input's y axis */
7
+ y?: AxisParams;
8
+ /** Configuration for the input's z axis */
9
+ z?: AxisParams;
10
+ }
11
+ /** Tracks the linear acceleration of the controller. */
12
+ export declare class Accelerometer extends Input<Accelerometer> {
13
+ readonly state: this;
14
+ readonly x: Axis;
15
+ readonly y: Axis;
16
+ readonly z: Axis;
17
+ constructor(params?: AccelerometerParams);
5
18
  readonly active = false;
6
19
  }
7
20
  //# sourceMappingURL=accelerometer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accelerometer.d.ts","sourceRoot":"","sources":["../../src/elements/accelerometer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,0BAA0B;AAC1B,qBAAa,aAAc,SAAQ,KAAK,CAAC,OAAO,CAAC;IAC/C,SAAgB,KAAK,EAAE,OAAO,CAAS;IACvC,SAAgB,MAAM,SAAS;CAChC"}
1
+ {"version":3,"file":"accelerometer.d.ts","sourceRoot":"","sources":["../../src/elements/accelerometer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,2CAA2C;IAC3C,CAAC,CAAC,EAAE,UAAU,CAAC;IAEf,2CAA2C;IAC3C,CAAC,CAAC,EAAE,UAAU,CAAC;IAEf,2CAA2C;IAC3C,CAAC,CAAC,EAAE,UAAU,CAAC;CAChB;AAED,wDAAwD;AACxD,qBAAa,aAAc,SAAQ,KAAK,CAAC,aAAa,CAAC;IACrD,SAAgB,KAAK,EAAE,IAAI,CAAQ;IAEnC,SAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,SAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,SAAgB,CAAC,EAAE,IAAI,CAAC;gBAEZ,MAAM,CAAC,EAAE,mBAAmB;IAwBxC,SAAgB,MAAM,SAAS;CAChC"}
@@ -2,12 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Accelerometer = void 0;
4
4
  const input_1 = require("../input");
5
- /** Not yet implemented */
5
+ const axis_1 = require("./axis");
6
+ /** Tracks the linear acceleration of the controller. */
6
7
  class Accelerometer extends input_1.Input {
7
- constructor() {
8
- super(...arguments);
9
- this.state = false;
8
+ constructor(params) {
9
+ super(params);
10
+ this.state = this;
10
11
  this.active = false;
12
+ const { x, y, z } = params ?? {};
13
+ this.x = new axis_1.Axis({
14
+ icon: "AX",
15
+ name: "X",
16
+ ...params,
17
+ ...x,
18
+ });
19
+ this.y = new axis_1.Axis({
20
+ icon: "AY",
21
+ name: "Y",
22
+ ...params,
23
+ ...y,
24
+ });
25
+ this.z = new axis_1.Axis({
26
+ icon: "AZ",
27
+ name: "Z",
28
+ ...params,
29
+ ...z,
30
+ });
11
31
  }
12
32
  }
13
33
  exports.Accelerometer = Accelerometer;
@@ -1 +1 @@
1
- {"version":3,"file":"accelerometer.js","sourceRoot":"","sources":["../../src/elements/accelerometer.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAEjC,0BAA0B;AAC1B,MAAa,aAAc,SAAQ,aAAc;IAAjD;;QACkB,UAAK,GAAY,KAAK,CAAC;QACvB,WAAM,GAAG,KAAK,CAAC;IACjC,CAAC;CAAA;AAHD,sCAGC"}
1
+ {"version":3,"file":"accelerometer.js","sourceRoot":"","sources":["../../src/elements/accelerometer.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAC9C,iCAA0C;AAa1C,wDAAwD;AACxD,MAAa,aAAc,SAAQ,aAAoB;IAOrD,YAAY,MAA4B;QACtC,KAAK,CAAC,MAAM,CAAC,CAAC;QAPA,UAAK,GAAS,IAAI,CAAC;QA8BnB,WAAM,GAAG,KAAK,CAAC;QAtB7B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAEjC,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CAAC;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,GAAG;YACT,GAAG,MAAM;YACT,GAAG,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CAAC;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,GAAG;YACT,GAAG,MAAM;YACT,GAAG,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CAAC;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,GAAG;YACT,GAAG,MAAM;YACT,GAAG,CAAC;SACL,CAAC,CAAC;IACL,CAAC;CAGF;AAhCD,sCAgCC"}
@@ -1,7 +1,20 @@
1
- import { Input } from "../input";
2
- /** Not yet implemented */
3
- export declare class Gyroscope extends Input<boolean> {
4
- readonly state: boolean;
1
+ import { Input, InputParams } from "../input";
2
+ import { Axis, AxisParams } from "./axis";
3
+ export interface GyroscopeParams extends InputParams {
4
+ /** Configuration for the input's x axis */
5
+ x?: AxisParams;
6
+ /** Configuration for the input's y axis */
7
+ y?: AxisParams;
8
+ /** Configuration for the input's z axis */
9
+ z?: AxisParams;
10
+ }
11
+ /** Tracks the angular velocity of the controller. */
12
+ export declare class Gyroscope extends Input<Gyroscope> {
13
+ readonly state: this;
14
+ readonly x: Axis;
15
+ readonly y: Axis;
16
+ readonly z: Axis;
17
+ constructor(params?: GyroscopeParams);
5
18
  readonly active = false;
6
19
  }
7
20
  //# sourceMappingURL=gyroscope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gyroscope.d.ts","sourceRoot":"","sources":["../../src/elements/gyroscope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,0BAA0B;AAC1B,qBAAa,SAAU,SAAQ,KAAK,CAAC,OAAO,CAAC;IAC3C,SAAgB,KAAK,EAAE,OAAO,CAAS;IACvC,SAAgB,MAAM,SAAS;CAChC"}
1
+ {"version":3,"file":"gyroscope.d.ts","sourceRoot":"","sources":["../../src/elements/gyroscope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,2CAA2C;IAC3C,CAAC,CAAC,EAAE,UAAU,CAAC;IAEf,2CAA2C;IAC3C,CAAC,CAAC,EAAE,UAAU,CAAC;IAEf,2CAA2C;IAC3C,CAAC,CAAC,EAAE,UAAU,CAAC;CAChB;AAED,qDAAqD;AACrD,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC;IAC7C,SAAgB,KAAK,EAAE,IAAI,CAAQ;IAEnC,SAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,SAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,SAAgB,CAAC,EAAE,IAAI,CAAC;gBAEZ,MAAM,CAAC,EAAE,eAAe;IAwBpC,SAAgB,MAAM,SAAS;CAChC"}
@@ -2,12 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Gyroscope = void 0;
4
4
  const input_1 = require("../input");
5
- /** Not yet implemented */
5
+ const axis_1 = require("./axis");
6
+ /** Tracks the angular velocity of the controller. */
6
7
  class Gyroscope extends input_1.Input {
7
- constructor() {
8
- super(...arguments);
9
- this.state = false;
8
+ constructor(params) {
9
+ super(params);
10
+ this.state = this;
10
11
  this.active = false;
12
+ const { x, y, z } = params ?? {};
13
+ this.x = new axis_1.Axis({
14
+ icon: "GX",
15
+ name: "X",
16
+ ...params,
17
+ ...x,
18
+ });
19
+ this.y = new axis_1.Axis({
20
+ icon: "GY",
21
+ name: "Y",
22
+ ...params,
23
+ ...y,
24
+ });
25
+ this.z = new axis_1.Axis({
26
+ icon: "GZ",
27
+ name: "Z",
28
+ ...params,
29
+ ...z,
30
+ });
11
31
  }
12
32
  }
13
33
  exports.Gyroscope = Gyroscope;
@@ -1 +1 @@
1
- {"version":3,"file":"gyroscope.js","sourceRoot":"","sources":["../../src/elements/gyroscope.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAEjC,0BAA0B;AAC1B,MAAa,SAAU,SAAQ,aAAc;IAA7C;;QACkB,UAAK,GAAY,KAAK,CAAC;QACvB,WAAM,GAAG,KAAK,CAAC;IACjC,CAAC;CAAA;AAHD,8BAGC"}
1
+ {"version":3,"file":"gyroscope.js","sourceRoot":"","sources":["../../src/elements/gyroscope.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAC9C,iCAA0C;AAa1C,qDAAqD;AACrD,MAAa,SAAU,SAAQ,aAAgB;IAO7C,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,CAAC;QAPA,UAAK,GAAS,IAAI,CAAC;QA8BnB,WAAM,GAAG,KAAK,CAAC;QAtB7B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAEjC,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CAAC;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,GAAG;YACT,GAAG,MAAM;YACT,GAAG,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CAAC;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,GAAG;YACT,GAAG,MAAM;YACT,GAAG,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CAAC;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,GAAG;YACT,GAAG,MAAM;YACT,GAAG,CAAC;SACL,CAAC,CAAC;IACL,CAAC;CAGF;AAhCD,8BAgCC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Byte buffer abstraction over Buffer (NodeJS) and DataView (web).
3
+ */
4
+ export interface ByteArray {
5
+ length: number;
6
+ readUint8(offset: number): number;
7
+ readUint16LE(offset: number): number;
8
+ }
9
+ //# sourceMappingURL=byte_array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"byte_array.d.ts","sourceRoot":"","sources":["../../src/hid/byte_array.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=byte_array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"byte_array.js","sourceRoot":"","sources":["../../src/hid/byte_array.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"dualsense_hid.d.ts","sourceRoot":"","sources":["../../src/hid/dualsense_hid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAW,MAAM,gBAAgB,CAAC;AAEzE,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAC7D,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAenD,gEAAgE;AAChE,qBAAa,YAAY;IAoDX,QAAQ,CAAC,QAAQ,EAAE,WAAW;IAnD1C,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IAC7D,oCAAoC;IACpC,OAAO,CAAC,eAAe,CAAsB;IAC7C,0CAA0C;IACnC,KAAK,EAAE,iBAAiB,CA0C7B;gBAEmB,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAE,MAAW;IAmBpE,+CAA+C;IACxC,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI5C,6CAA6C;IACtC,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI9C,kCAAkC;IAC3B,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIhE,sEAAsE;IACtE,OAAO,CAAC,GAAG;IAKX,iDAAiD;IACjD,OAAO,CAAC,WAAW;IAInB,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAsBjC,+CAA+C;IACxC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBnD,+CAA+C;IACxC,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAUxE,gDAAgD;IACzC,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAUzE,oCAAoC;IAC7B,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAOjD,yBAAyB;IAClB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;CAMvC"}
1
+ {"version":3,"file":"dualsense_hid.d.ts","sourceRoot":"","sources":["../../src/hid/dualsense_hid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EACL,WAAW,EACX,iBAAiB,EAElB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAC7D,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAenD,gEAAgE;AAChE,qBAAa,YAAY;IAWrB,QAAQ,CAAC,QAAQ,EAAE,WAAW;IAVhC,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IAC7D,oCAAoC;IACpC,OAAO,CAAC,eAAe,CAAsB;IAC7C,0CAA0C;IACnC,KAAK,EAAE,iBAAiB,CAAmC;gBAGvD,QAAQ,EAAE,WAAW,EAC9B,WAAW,GAAE,MAAW;IAoB1B,+CAA+C;IACxC,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI5C,6CAA6C;IACtC,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI9C,kCAAkC;IAC3B,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIhE,sEAAsE;IACtE,OAAO,CAAC,GAAG;IAKX,iDAAiD;IACjD,OAAO,CAAC,WAAW;IAInB,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAsBjC,+CAA+C;IACxC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBnD,+CAA+C;IACxC,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAUxE,gDAAgD;IACzC,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAUzE,oCAAoC;IAC7B,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAOjD,yBAAyB;IAClB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;CAMvC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DualsenseHID = void 0;
4
+ const hid_provider_1 = require("./hid_provider");
4
5
  const SCOPE_A = 1;
5
6
  const SCOPE_B = 2;
6
7
  /** Coordinates a HIDProvider and tracks the latest HID state */
@@ -14,49 +15,7 @@ class DualsenseHID {
14
15
  /** Queue of pending HID commands */
15
16
  this.pendingCommands = [];
16
17
  /** Most recent HID state of the device */
17
- this.state = {
18
- ["LX" /* InputId.LeftAnalogX */]: 0,
19
- ["LY" /* InputId.LeftAnalogY */]: 0,
20
- ["RX" /* InputId.RightAnalogX */]: 0,
21
- ["RY" /* InputId.RightAnalogY */]: 0,
22
- ["L2" /* InputId.LeftTrigger */]: 0,
23
- ["R2" /* InputId.RightTrigger */]: 0,
24
- ["Triangle" /* InputId.Triangle */]: false,
25
- ["Circle" /* InputId.Circle */]: false,
26
- ["Cross" /* InputId.Cross */]: false,
27
- ["Square" /* InputId.Square */]: false,
28
- ["Dpad" /* InputId.Dpad */]: 0,
29
- ["Up" /* InputId.Up */]: false,
30
- ["Down" /* InputId.Down */]: false,
31
- ["Left" /* InputId.Left */]: false,
32
- ["Right" /* InputId.Right */]: false,
33
- ["R3" /* InputId.RightAnalogButton */]: false,
34
- ["L3" /* InputId.LeftAnalogButton */]: false,
35
- ["Options" /* InputId.Options */]: false,
36
- ["Create" /* InputId.Create */]: false,
37
- ["R2Button" /* InputId.RightTriggerButton */]: false,
38
- ["L2Button" /* InputId.LeftTriggerButton */]: false,
39
- ["R1" /* InputId.RightBumper */]: false,
40
- ["L1" /* InputId.LeftBumper */]: false,
41
- ["Playstation" /* InputId.Playstation */]: false,
42
- ["TouchButton" /* InputId.TouchButton */]: false,
43
- ["Mute" /* InputId.Mute */]: false,
44
- ["Status" /* InputId.Status */]: false,
45
- ["TouchX0" /* InputId.TouchX0 */]: 0,
46
- ["TouchY0" /* InputId.TouchY0 */]: 0,
47
- ["TouchContact0" /* InputId.TouchContact0 */]: false,
48
- ["TouchId0" /* InputId.TouchId0 */]: 0,
49
- ["TouchX1" /* InputId.TouchX1 */]: 0,
50
- ["TouchY1" /* InputId.TouchY1 */]: 0,
51
- ["TouchContact1" /* InputId.TouchContact1 */]: false,
52
- ["TouchId1" /* InputId.TouchId1 */]: 0,
53
- ["GyroX" /* InputId.GyroX */]: 0,
54
- ["GyroY" /* InputId.GyroY */]: 0,
55
- ["GyroZ" /* InputId.GyroZ */]: 0,
56
- ["AccelX" /* InputId.AccelX */]: 0,
57
- ["AccelY" /* InputId.AccelY */]: 0,
58
- ["AccelZ" /* InputId.AccelZ */]: 0,
59
- };
18
+ this.state = { ...hid_provider_1.DefaultDualsenseHIDState };
60
19
  provider.onData = this.set.bind(this);
61
20
  provider.onError = this.handleError.bind(this);
62
21
  setInterval(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"dualsense_hid.js","sourceRoot":"","sources":["../../src/hid/dualsense_hid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dualsense_hid.js","sourceRoot":"","sources":["../../src/hid/dualsense_hid.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,18 @@
1
+ /// <reference types="w3c-web-hid" />
2
+ /// <reference types="node" />
3
+ import type { HID } from "node-hid";
1
4
  import { InputId } from "../id";
5
+ import { ByteArray } from "./byte_array";
2
6
  export * from "../id";
3
7
  /** Maps a HID input of 0...n to -1...1 */
4
8
  export declare function mapAxis(value: number, max?: number): number;
5
9
  /** Maps a HID input of 0...255 to 0...1 */
6
10
  export declare function mapTrigger(value: number): number;
11
+ /**
12
+ * Maps a HID input for either gyroscope or acceleration.
13
+ * Adapted from https://github.com/nondebug/dualsense
14
+ */
15
+ export declare function mapGyroAccel(v0: number, v1: number): number;
7
16
  /** Describes an observation of the input state of a Dualsense controller */
8
17
  export interface DualsenseHIDState {
9
18
  [InputId.LeftAnalogX]: number;
@@ -48,12 +57,18 @@ export interface DualsenseHIDState {
48
57
  [InputId.AccelY]: number;
49
58
  [InputId.AccelZ]: number;
50
59
  }
60
+ /** Default values for all inputs */
61
+ export declare const DefaultDualsenseHIDState: DualsenseHIDState;
51
62
  /** Supports a connection to a physical or virtual Dualsense device */
52
63
  export declare abstract class HIDProvider {
53
64
  /** HID vendorId for a Dualsense controller */
54
65
  static readonly vendorId: number;
55
66
  /** HID productId for a Dualsense controller */
56
67
  static readonly productId: number;
68
+ /** HID usagePage for a Dualsense controller */
69
+ static readonly usagePage: number;
70
+ /** HID usage for a Dualsense controller */
71
+ static readonly usage: number;
57
72
  /** Callback to use for new input events */
58
73
  onData: (state: DualsenseHIDState) => void;
59
74
  /** Callback to use for Error events */
@@ -64,19 +79,80 @@ export declare abstract class HIDProvider {
64
79
  abstract disconnect(): void;
65
80
  /** Returns true if a device is currently connected and working */
66
81
  abstract get connected(): boolean;
82
+ /** The underlying HID device handle */
83
+ abstract device?: HIDDevice | HID;
67
84
  /** Returns true if a device is connected wirelessly */
68
- abstract wireless: boolean;
85
+ abstract wireless?: boolean;
86
+ /** Debug: The most recent HID report buffer */
87
+ abstract buffer?: Buffer | DataView;
69
88
  /** Converts the HID report to a simpler format */
70
89
  abstract process(input: unknown): DualsenseHIDState;
71
90
  /** Write to the HID device */
72
91
  abstract write(data: Uint8Array): Promise<void>;
73
- /** Debug: Treat the device as if it were connected over Bluetooth */
74
- setWireless(): void;
75
- /** Debug: Treat the device as if it were connected over USB */
76
- setWired(): void;
77
- /** Debug: Reference to the most recent HID report buffer (Buffer or DataView) */
78
- abstract buffer?: unknown;
79
- /** Debug: Adjust the HID report byte offset */
80
- reportOffset: number;
92
+ /** If true, gyroscope, touchpad, accelerometer are disabled */
93
+ limited?: boolean;
94
+ /**
95
+ * Sselects the correct method for reading the report.
96
+ * @param buffer HID report buffer
97
+ */
98
+ protected processReport(buffer: ByteArray): DualsenseHIDState;
99
+ /**
100
+ * Reset the HIDProvider state when the device is disconnected
101
+ */
102
+ protected reset(): void;
103
+ /**
104
+ * Process a bluetooth input report of type 01.
105
+ * @param buffer the report
106
+ */
107
+ protected processBluetoothInputReport01(buffer: ByteArray): DualsenseHIDState;
108
+ /** Process bluetooth input report of type 31 */
109
+ protected processBluetoothInputReport31(buffer: ByteArray): {
110
+ LX: number;
111
+ LY: number;
112
+ RX: number;
113
+ RY: number;
114
+ L2: number;
115
+ R2: number;
116
+ Triangle: boolean;
117
+ Circle: boolean;
118
+ Cross: boolean;
119
+ Square: boolean;
120
+ Dpad: number;
121
+ Up: boolean;
122
+ Down: boolean;
123
+ Left: boolean;
124
+ Right: boolean;
125
+ L2Button: boolean;
126
+ R2Button: boolean;
127
+ L1: boolean;
128
+ R1: boolean;
129
+ Create: boolean;
130
+ Options: boolean;
131
+ L3: boolean;
132
+ R3: boolean;
133
+ Playstation: boolean;
134
+ TouchButton: boolean;
135
+ Mute: boolean;
136
+ GyroX: number;
137
+ GyroY: number;
138
+ GyroZ: number;
139
+ AccelX: number;
140
+ AccelY: number;
141
+ AccelZ: number;
142
+ TouchId0: number;
143
+ TouchContact0: boolean;
144
+ TouchX0: number;
145
+ TouchY0: number;
146
+ TouchId1: number;
147
+ TouchContact1: boolean;
148
+ TouchX1: number;
149
+ TouchY1: number;
150
+ Status: boolean;
151
+ };
152
+ /**
153
+ * Process a USB input report of type 01.
154
+ * @param buffer the report
155
+ */
156
+ protected processUsbInputReport01(buffer: ByteArray): DualsenseHIDState;
81
157
  }
82
158
  //# sourceMappingURL=hid_provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hid_provider.d.ts","sourceRoot":"","sources":["../../src/hid/hid_provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hid_provider.d.ts","sourceRoot":"","sources":["../../src/hid/hid_provider.ts"],"names":[],"mappings":"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"}