dualsense-ts 2.2.0 → 3.0.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 (124) hide show
  1. package/README.md +9 -2
  2. package/dist/comparators.d.ts +13 -0
  3. package/dist/comparators.d.ts.map +1 -0
  4. package/dist/comparators.js +27 -0
  5. package/dist/comparators.js.map +1 -0
  6. package/dist/dualsense.d.ts +10 -1
  7. package/dist/dualsense.d.ts.map +1 -1
  8. package/dist/dualsense.js +46 -45
  9. package/dist/dualsense.js.map +1 -1
  10. package/dist/elements/analog.d.ts +1 -1
  11. package/dist/elements/analog.d.ts.map +1 -1
  12. package/dist/elements/analog.js +13 -3
  13. package/dist/elements/analog.js.map +1 -1
  14. package/dist/elements/dpad.d.ts +1 -1
  15. package/dist/elements/dpad.d.ts.map +1 -1
  16. package/dist/elements/dpad.js +6 -5
  17. package/dist/elements/dpad.js.map +1 -1
  18. package/dist/elements/touch.d.ts +1 -1
  19. package/dist/elements/touch.d.ts.map +1 -1
  20. package/dist/elements/touch.js.map +1 -1
  21. package/dist/elements/touchpad.d.ts +1 -1
  22. package/dist/elements/touchpad.d.ts.map +1 -1
  23. package/dist/elements/touchpad.js.map +1 -1
  24. package/dist/elements/trigger.d.ts.map +1 -1
  25. package/dist/elements/trigger.js +1 -1
  26. package/dist/elements/trigger.js.map +1 -1
  27. package/dist/elements/unisense.d.ts +1 -1
  28. package/dist/elements/unisense.d.ts.map +1 -1
  29. package/dist/elements/unisense.js +12 -5
  30. package/dist/elements/unisense.js.map +1 -1
  31. package/dist/hid/dualsense_hid.d.ts +16 -58
  32. package/dist/hid/dualsense_hid.d.ts.map +1 -1
  33. package/dist/hid/dualsense_hid.js +25 -101
  34. package/dist/hid/dualsense_hid.js.map +1 -1
  35. package/dist/hid/hid_provider.d.ts +86 -0
  36. package/dist/hid/hid_provider.d.ts.map +1 -0
  37. package/dist/hid/hid_provider.js +45 -0
  38. package/dist/hid/hid_provider.js.map +1 -0
  39. package/dist/hid/index.d.ts +4 -1
  40. package/dist/hid/index.d.ts.map +1 -1
  41. package/dist/hid/index.js +4 -1
  42. package/dist/hid/index.js.map +1 -1
  43. package/dist/hid/node_hid_provider.d.ts +11 -0
  44. package/dist/hid/node_hid_provider.d.ts.map +1 -0
  45. package/dist/hid/node_hid_provider.js +97 -0
  46. package/dist/hid/node_hid_provider.js.map +1 -0
  47. package/dist/hid/platform_hid_provider.d.ts +4 -0
  48. package/dist/hid/platform_hid_provider.d.ts.map +1 -0
  49. package/dist/hid/platform_hid_provider.js +7 -0
  50. package/dist/hid/platform_hid_provider.js.map +1 -0
  51. package/dist/hid/web_hid_provider.d.ts +10 -0
  52. package/dist/hid/web_hid_provider.d.ts.map +1 -0
  53. package/dist/hid/web_hid_provider.js +102 -0
  54. package/dist/hid/web_hid_provider.js.map +1 -0
  55. package/dist/{hid/ids.d.ts → id.d.ts} +6 -2
  56. package/dist/id.d.ts.map +1 -0
  57. package/dist/{hid/ids.js → id.js} +1 -1
  58. package/dist/id.js.map +1 -0
  59. package/dist/index.d.ts +2 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +2 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/input.d.ts +81 -36
  64. package/dist/input.d.ts.map +1 -1
  65. package/dist/input.js +128 -89
  66. package/dist/input.js.map +1 -1
  67. package/docs/Analog.md +81 -131
  68. package/docs/AnalogParams.md +7 -9
  69. package/docs/Axis.md +72 -79
  70. package/docs/Brightness.md +8 -8
  71. package/docs/CommandScopeA.md +16 -16
  72. package/docs/CommandScopeB.md +14 -14
  73. package/docs/Dpad.md +74 -81
  74. package/docs/DpadParams.md +8 -8
  75. package/docs/DualSenseCommand.md +45 -45
  76. package/docs/Dualsense.md +83 -90
  77. package/docs/DualsenseHID.md +47 -42
  78. package/docs/DualsenseHIDState.md +41 -41
  79. package/docs/DualsenseParams.md +17 -17
  80. package/docs/Exports.md +18 -21
  81. package/docs/Haptic.md +1 -1
  82. package/docs/Home.md +29 -31
  83. package/docs/Indicator.md +2 -2
  84. package/docs/Input.md +70 -79
  85. package/docs/InputId.md +84 -84
  86. package/docs/InputParams.md +4 -4
  87. package/docs/LedOptions.md +10 -10
  88. package/docs/Momentary.md +70 -77
  89. package/docs/Motion.md +2 -2
  90. package/docs/Mute.md +71 -89
  91. package/docs/PlayerID.md +12 -12
  92. package/docs/PulseOptions.md +8 -8
  93. package/docs/Touchpad.md +120 -94
  94. package/docs/Trigger.md +75 -82
  95. package/docs/TriggerMode.md +22 -22
  96. package/docs/Unisense.md +74 -81
  97. package/docs/UnisenseParams.md +7 -7
  98. package/package.json +16 -10
  99. package/src/comparators.ts +26 -0
  100. package/src/dualsense.ts +61 -58
  101. package/src/elements/analog.spec.ts +17 -0
  102. package/src/elements/analog.ts +14 -8
  103. package/src/elements/axis.spec.ts +31 -0
  104. package/src/elements/dpad.ts +7 -6
  105. package/src/elements/touch.ts +1 -1
  106. package/src/elements/touchpad.ts +1 -1
  107. package/src/elements/trigger.ts +1 -1
  108. package/src/elements/unisense.ts +16 -15
  109. package/src/hid/dualsense_hid.ts +25 -156
  110. package/src/hid/{dualsense_hid.spec.ts → hid_provider.spec.ts} +1 -1
  111. package/src/hid/hid_provider.ts +100 -0
  112. package/src/hid/index.ts +4 -1
  113. package/src/hid/node_hid_provider.ts +108 -0
  114. package/src/hid/platform_hid_provider.ts +4 -0
  115. package/src/hid/web_hid_provider.ts +116 -0
  116. package/src/{hid/ids.ts → id.ts} +6 -1
  117. package/src/index.ts +2 -0
  118. package/src/input.ts +178 -142
  119. package/src/readme.spec.ts +6 -8
  120. package/webpack.config.js +42 -0
  121. package/dist/hid/ids.d.ts.map +0 -1
  122. package/dist/hid/ids.js.map +0 -1
  123. package/docs/Increment.md +0 -1554
  124. package/docs/Touch.md +0 -1824
package/README.md CHANGED
@@ -13,6 +13,13 @@ Install it using your preferred package manager:
13
13
  - `yarn add dualsense-ts`
14
14
  - `npm add dualsense-ts`
15
15
 
16
+ ### Platforms
17
+
18
+ `dualsense-ts` is a cross-platform, low dependency library that works in Node.js or natively in your browser.
19
+
20
+ - In Node.js, the only dependency is `node-hid`
21
+ - In the browser, tree-shaking reduces this to a zero-dependency package relying on WebHID
22
+
16
23
  ### Connecting
17
24
 
18
25
  `dualsense-ts` will try to connect to the first Dualsense controller it finds.
@@ -50,7 +57,7 @@ controller.touchpad.right.contact.state; // false
50
57
  +controller.touchpad.right.x; // -0.44, -1 to 1
51
58
  ```
52
59
 
53
- - _Callbacks_: Each input is an EventEmitter that provides `input`, `press`, `release`, and `change` events
60
+ - _Callbacks_: Each input is an EventEmitter, or EventTarget that provides `input`, `press`, `release`, and `change` events
54
61
 
55
62
  ```typescript
56
63
  // Change events are triggered only when an input's value changes
@@ -61,7 +68,7 @@ controller.triangle.on("change", (input) =>
61
68
  // ▲ changed: false
62
69
 
63
70
  // The callback provides two arguments, so you can monitor nested inputs
64
- // You'll get a reference to your original input, and whichever one changed
71
+ // You'll get a reference to your original input, and the one that changed
65
72
  controller.dpad.on("press", (dpad, input) =>
66
73
  assert(dpad === controller.dpad)
67
74
  console.log(`${input} pressed`)
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Input state change checker that always returns true.
3
+ */
4
+ export declare function VirtualComparator(): boolean;
5
+ /**
6
+ * Input state change checker that considers a numeric threshold.
7
+ */
8
+ export declare function ThresholdComparator(threshold: number, state: unknown, newState: unknown): boolean;
9
+ /**
10
+ * Input state change checker for most values.
11
+ */
12
+ export declare function BasicComparator(state: unknown, newState: unknown): boolean;
13
+ //# sourceMappingURL=comparators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparators.d.ts","sourceRoot":"","sources":["../src/comparators.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,OAAO,GAChB,OAAO,CAIT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAE1E"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BasicComparator = exports.ThresholdComparator = exports.VirtualComparator = void 0;
4
+ /**
5
+ * Input state change checker that always returns true.
6
+ */
7
+ function VirtualComparator() {
8
+ return true;
9
+ }
10
+ exports.VirtualComparator = VirtualComparator;
11
+ /**
12
+ * Input state change checker that considers a numeric threshold.
13
+ */
14
+ function ThresholdComparator(threshold, state, newState) {
15
+ if (typeof state !== "number" || typeof newState !== "number")
16
+ throw new Error("Bad threshold comparison");
17
+ return Math.abs(state - newState) > threshold;
18
+ }
19
+ exports.ThresholdComparator = ThresholdComparator;
20
+ /**
21
+ * Input state change checker for most values.
22
+ */
23
+ function BasicComparator(state, newState) {
24
+ return state !== newState;
25
+ }
26
+ exports.BasicComparator = BasicComparator;
27
+ //# sourceMappingURL=comparators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparators.js","sourceRoot":"","sources":["../src/comparators.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAFD,8CAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,SAAiB,EACjB,KAAc,EACd,QAAiB;IAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC;AAChD,CAAC;AARD,kDAQC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAc,EAAE,QAAiB;IAC/D,OAAO,KAAK,KAAK,QAAQ,CAAC;AAC5B,CAAC;AAFD,0CAEC"}
@@ -2,6 +2,9 @@ import { Momentary, Dpad, DpadParams, Mute, Unisense, UnisenseParams, Touchpad }
2
2
  import { Input, InputParams } from "./input";
3
3
  import { DualsenseHID } from "./hid";
4
4
  export interface DualsenseParams extends InputParams {
5
+ /**
6
+ * Sets the source of HID events for the controller interface.
7
+ */
5
8
  hid?: DualsenseHID | null;
6
9
  ps?: InputParams;
7
10
  mute?: InputParams;
@@ -16,6 +19,9 @@ export interface DualsenseParams extends InputParams {
16
19
  right?: UnisenseParams;
17
20
  touchpad?: InputParams;
18
21
  }
22
+ /**
23
+ * Represents a Dualsense controller.
24
+ */
19
25
  export declare class Dualsense extends Input<Dualsense> {
20
26
  readonly state: Dualsense;
21
27
  readonly ps: Momentary;
@@ -30,9 +36,12 @@ export declare class Dualsense extends Input<Dualsense> {
30
36
  readonly left: Unisense;
31
37
  readonly right: Unisense;
32
38
  readonly touchpad: Touchpad;
33
- readonly hid: DualsenseHID | null;
39
+ readonly hid: DualsenseHID;
34
40
  get active(): boolean;
35
41
  constructor(params?: DualsenseParams);
42
+ /**
43
+ * Distributes input values to various elements.
44
+ */
36
45
  private processHID;
37
46
  }
38
47
  //# sourceMappingURL=dualsense.d.ts.map
@@ -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,EAAE,YAAY,EAAW,MAAM,OAAO,CAAC;AAE9C,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAG1B,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC;IAC7C,SAAgB,KAAK,EAAE,SAAS,CAAQ;IAExC,SAAgB,EAAE,EAAE,SAAS,CAAC;IAC9B,SAAgB,IAAI,EAAE,IAAI,CAAC;IAE3B,SAAgB,OAAO,EAAE,SAAS,CAAC;IACnC,SAAgB,MAAM,EAAE,SAAS,CAAC;IAElC,SAAgB,QAAQ,EAAE,SAAS,CAAC;IACpC,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,KAAK,EAAE,SAAS,CAAC;IACjC,SAAgB,MAAM,EAAE,SAAS,CAAC;IAElC,SAAgB,IAAI,EAAE,IAAI,CAAC;IAE3B,SAAgB,IAAI,EAAE,QAAQ,CAAC;IAC/B,SAAgB,KAAK,EAAE,QAAQ,CAAC;IAEhC,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IAEnC,SAAgB,GAAG,EAAE,YAAY,GAAG,IAAI,CAAQ;IAEhD,IAAW,MAAM,IAAI,OAAO,CAK3B;gBAEW,MAAM,GAAE,eAAoB;IA0ExC,OAAO,CAAC,UAAU;CA+CnB"}
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;AAEf,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD;;OAEG;IACH,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE1B,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC;IAC7C,SAAgB,KAAK,EAAE,SAAS,CAAQ;IAExC,SAAgB,EAAE,EAAE,SAAS,CAAC;IAC9B,SAAgB,IAAI,EAAE,IAAI,CAAC;IAE3B,SAAgB,OAAO,EAAE,SAAS,CAAC;IACnC,SAAgB,MAAM,EAAE,SAAS,CAAC;IAElC,SAAgB,QAAQ,EAAE,SAAS,CAAC;IACpC,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,KAAK,EAAE,SAAS,CAAC;IACjC,SAAgB,MAAM,EAAE,SAAS,CAAC;IAElC,SAAgB,IAAI,EAAE,IAAI,CAAC;IAE3B,SAAgB,IAAI,EAAE,QAAQ,CAAC;IAC/B,SAAgB,KAAK,EAAE,QAAQ,CAAC;IAEhC,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IAEnC,SAAgB,GAAG,EAAE,YAAY,CAAC;IAElC,IAAW,MAAM,IAAI,OAAO,CAI3B;gBAEW,MAAM,GAAE,eAAoB;IAwExC;;OAEG;IACH,OAAO,CAAC,UAAU;CAwCnB"}
package/dist/dualsense.js CHANGED
@@ -4,11 +4,13 @@ exports.Dualsense = void 0;
4
4
  const elements_1 = require("./elements");
5
5
  const input_1 = require("./input");
6
6
  const hid_1 = require("./hid");
7
+ /**
8
+ * Represents a Dualsense controller.
9
+ */
7
10
  class Dualsense extends input_1.Input {
8
11
  constructor(params = {}) {
9
12
  super(params);
10
13
  this.state = this;
11
- this.hid = null;
12
14
  this.ps = new elements_1.Momentary({
13
15
  icon: "㎰",
14
16
  name: "Home",
@@ -69,53 +71,52 @@ class Dualsense extends input_1.Input {
69
71
  name: "Touchpad",
70
72
  ...(params.touchpad || {}),
71
73
  });
72
- const { hid } = params;
73
- if (hid !== null)
74
- this.hid = hid ? hid : new hid_1.DualsenseHID();
75
- if (this.hid) {
76
- this.hid.on("input", () => {
77
- this.processHID();
78
- });
79
- }
74
+ this.hid = params.hid || new hid_1.DualsenseHID(new hid_1.PlatformHIDProvider());
75
+ this.hid.register((state) => {
76
+ this.processHID(state);
77
+ });
78
+ if (params.hid !== null)
79
+ this.hid.provider.connect();
80
80
  }
81
81
  get active() {
82
- return Object.values(this).some((input) => input instanceof input_1.Input && input !== this && input.active);
82
+ return Object.values(this).some((input) => input !== this && input instanceof input_1.Input && input.active);
83
83
  }
84
- processHID() {
85
- if (!this.hid)
86
- return;
87
- this.ps[input_1.InputSet](this.hid.state["Playstation" /* InputId.Playstation */]);
88
- this.options[input_1.InputSet](this.hid.state["Options" /* InputId.Options */]);
89
- this.create[input_1.InputSet](this.hid.state["Create" /* InputId.Create */]);
90
- this.mute[input_1.InputSet](this.hid.state["Mute" /* InputId.Mute */]);
91
- this.mute.status[input_1.InputSet](this.hid.state["Status" /* InputId.Status */]);
92
- this.triangle[input_1.InputSet](this.hid.state["Triangle" /* InputId.Triangle */]);
93
- this.circle[input_1.InputSet](this.hid.state["Circle" /* InputId.Circle */]);
94
- this.cross[input_1.InputSet](this.hid.state["Cross" /* InputId.Cross */]);
95
- this.square[input_1.InputSet](this.hid.state["Square" /* InputId.Square */]);
96
- this.dpad.up[input_1.InputSet](this.hid.state["Up" /* InputId.Up */]);
97
- this.dpad.down[input_1.InputSet](this.hid.state["Down" /* InputId.Down */]);
98
- this.dpad.right[input_1.InputSet](this.hid.state["Right" /* InputId.Right */]);
99
- this.dpad.left[input_1.InputSet](this.hid.state["Left" /* InputId.Left */]);
100
- this.touchpad.button[input_1.InputSet](this.hid.state["TouchButton" /* InputId.TouchButton */]);
101
- this.touchpad.left.x[input_1.InputSet](this.hid.state["TouchX0" /* InputId.TouchX0 */]);
102
- this.touchpad.left.y[input_1.InputSet](this.hid.state["TouchY0" /* InputId.TouchY0 */]);
103
- this.touchpad.left.contact[input_1.InputSet](this.hid.state["TouchContact0" /* InputId.TouchContact0 */]);
104
- this.touchpad.left.tracker[input_1.InputSet](this.hid.state["TouchId0" /* InputId.TouchId0 */]);
105
- this.touchpad.right.x[input_1.InputSet](this.hid.state["TouchX1" /* InputId.TouchX1 */]);
106
- this.touchpad.right.y[input_1.InputSet](this.hid.state["TouchY1" /* InputId.TouchY1 */]);
107
- this.touchpad.right.contact[input_1.InputSet](this.hid.state["TouchContact1" /* InputId.TouchContact1 */]);
108
- this.touchpad.right.tracker[input_1.InputSet](this.hid.state["TouchId1" /* InputId.TouchId1 */]);
109
- this.left.analog.x[input_1.InputSet](this.hid.state["LX" /* InputId.LeftAnalogX */]);
110
- this.left.analog.y[input_1.InputSet](this.hid.state["LY" /* InputId.LeftAnalogY */]);
111
- this.left.bumper[input_1.InputSet](this.hid.state["L1" /* InputId.LeftBumper */]);
112
- this.left.trigger[input_1.InputSet](this.hid.state["L2" /* InputId.LeftTrigger */]);
113
- this.left.trigger.button[input_1.InputSet](this.hid.state["L2Button" /* InputId.LeftTriggerButton */]);
114
- this.right.analog.x[input_1.InputSet](this.hid.state["RX" /* InputId.RightAnalogX */]);
115
- this.right.analog.y[input_1.InputSet](this.hid.state["RY" /* InputId.RightAnalogY */]);
116
- this.right.bumper[input_1.InputSet](this.hid.state["R1" /* InputId.RightBumper */]);
117
- this.right.trigger[input_1.InputSet](this.hid.state["R2" /* InputId.RightTrigger */]);
118
- this.right.trigger.button[input_1.InputSet](this.hid.state["R2Button" /* InputId.RightTriggerButton */]);
84
+ /**
85
+ * Distributes input values to various elements.
86
+ */
87
+ processHID(state) {
88
+ this.ps[input_1.InputSet](state["Playstation" /* InputId.Playstation */]);
89
+ this.options[input_1.InputSet](state["Options" /* InputId.Options */]);
90
+ this.create[input_1.InputSet](state["Create" /* InputId.Create */]);
91
+ this.mute[input_1.InputSet](state["Mute" /* InputId.Mute */]);
92
+ this.mute.status[input_1.InputSet](state["Status" /* InputId.Status */]);
93
+ this.triangle[input_1.InputSet](state["Triangle" /* InputId.Triangle */]);
94
+ this.circle[input_1.InputSet](state["Circle" /* InputId.Circle */]);
95
+ this.cross[input_1.InputSet](state["Cross" /* InputId.Cross */]);
96
+ this.square[input_1.InputSet](state["Square" /* InputId.Square */]);
97
+ this.dpad.up[input_1.InputSet](state["Up" /* InputId.Up */]);
98
+ this.dpad.down[input_1.InputSet](state["Down" /* InputId.Down */]);
99
+ this.dpad.right[input_1.InputSet](state["Right" /* InputId.Right */]);
100
+ this.dpad.left[input_1.InputSet](state["Left" /* InputId.Left */]);
101
+ this.touchpad.button[input_1.InputSet](state["TouchButton" /* InputId.TouchButton */]);
102
+ this.touchpad.left.x[input_1.InputSet](state["TouchX0" /* InputId.TouchX0 */]);
103
+ this.touchpad.left.y[input_1.InputSet](state["TouchY0" /* InputId.TouchY0 */]);
104
+ this.touchpad.left.contact[input_1.InputSet](state["TouchContact0" /* InputId.TouchContact0 */]);
105
+ this.touchpad.left.tracker[input_1.InputSet](state["TouchId0" /* InputId.TouchId0 */]);
106
+ this.touchpad.right.x[input_1.InputSet](state["TouchX1" /* InputId.TouchX1 */]);
107
+ this.touchpad.right.y[input_1.InputSet](state["TouchY1" /* InputId.TouchY1 */]);
108
+ this.touchpad.right.contact[input_1.InputSet](state["TouchContact1" /* InputId.TouchContact1 */]);
109
+ this.touchpad.right.tracker[input_1.InputSet](state["TouchId1" /* InputId.TouchId1 */]);
110
+ this.left.analog.x[input_1.InputSet](state["LX" /* InputId.LeftAnalogX */]);
111
+ this.left.analog.y[input_1.InputSet](state["LY" /* InputId.LeftAnalogY */]);
112
+ this.left.bumper[input_1.InputSet](state["L1" /* InputId.LeftBumper */]);
113
+ this.left.trigger[input_1.InputSet](state["L2" /* InputId.LeftTrigger */]);
114
+ this.left.trigger.button[input_1.InputSet](state["L2Button" /* InputId.LeftTriggerButton */]);
115
+ this.right.analog.x[input_1.InputSet](state["RX" /* InputId.RightAnalogX */]);
116
+ this.right.analog.y[input_1.InputSet](state["RY" /* InputId.RightAnalogY */]);
117
+ this.right.bumper[input_1.InputSet](state["R1" /* InputId.RightBumper */]);
118
+ this.right.trigger[input_1.InputSet](state["R2" /* InputId.RightTrigger */]);
119
+ this.right.trigger.button[input_1.InputSet](state["R2Button" /* InputId.RightTriggerButton */]);
119
120
  }
120
121
  }
121
122
  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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"}
@@ -20,7 +20,7 @@ export interface AnalogParams extends InputParams {
20
20
  * - Pushed all the way down and to the left, the stick's coordinates are [-1, -1]
21
21
  */
22
22
  export declare class Analog extends Input<Analog> {
23
- readonly state: Analog;
23
+ readonly state: this;
24
24
  /**
25
25
  * The left/right position of the input.
26
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"analog.d.ts","sourceRoot":"","sources":["../../src/elements/analog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,qBAAa,MAAO,SAAQ,KAAK,CAAC,MAAM,CAAC;IACvC,SAAgB,KAAK,EAAE,MAAM,CAAQ;IAErC;;OAEG;IACH,SAAgB,CAAC,EAAE,IAAI,CAAC;IACxB;;OAEG;IACH,SAAgB,CAAC,EAAE,IAAI,CAAC;IACxB;;OAEG;IACH,SAAgB,MAAM,EAAE,SAAS,CAAC;gBAEtB,MAAM,CAAC,EAAE,YAAY;IAajC;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAW,MAAM,IAAI;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE,CAEhE;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,KAAK,CAIxB;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,OAAO,CAEjC;CACF"}
1
+ {"version":3,"file":"analog.d.ts","sourceRoot":"","sources":["../../src/elements/analog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,qBAAa,MAAO,SAAQ,KAAK,CAAC,MAAM,CAAC;IACvC,SAAgB,KAAK,EAAE,IAAI,CAAQ;IAEnC;;OAEG;IACH,SAAgB,CAAC,EAAE,IAAI,CAAC;IACxB;;OAEG;IACH,SAAgB,CAAC,EAAE,IAAI,CAAC;IACxB;;OAEG;IACH,SAAgB,MAAM,EAAE,SAAS,CAAC;gBAEtB,MAAM,CAAC,EAAE,YAAY;IAmBjC;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAW,MAAM,IAAI;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE,CAEhE;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,KAAK,CAIxB;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,OAAO,CAEjC;CACF"}
@@ -17,9 +17,19 @@ class Analog extends input_1.Input {
17
17
  super(params);
18
18
  this.state = this;
19
19
  const { button, x, y, threshold } = params || {};
20
- this.button = new momentary_1.Momentary(button || { icon: "3", name: "Button" });
21
- this.x = new axis_1.Axis(x || { icon: "↔", name: "X", threshold: threshold || (1 / 128) * 6 });
22
- this.y = new axis_1.Axis(y || { icon: "", name: "Y", threshold: threshold || (1 / 128) * 6 });
20
+ this.button = new momentary_1.Momentary({ icon: "3", name: "Button", ...button });
21
+ this.x = new axis_1.Axis({
22
+ icon: "",
23
+ name: "X",
24
+ threshold: threshold || 0.01,
25
+ ...x,
26
+ });
27
+ this.y = new axis_1.Axis({
28
+ icon: "↕",
29
+ name: "Y",
30
+ threshold: threshold || 0.01,
31
+ ...y,
32
+ });
23
33
  }
24
34
  /**
25
35
  * Returns true if the stick is away from the idle position, or the button is pressed.
@@ -1 +1 @@
1
- {"version":3,"file":"analog.js","sourceRoot":"","sources":["../../src/elements/analog.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAC9B,2CAAwC;AACxC,oCAA8C;AAa9C;;;;;;;GAOG;AACH,MAAa,MAAO,SAAQ,aAAa;IAgBvC,YAAY,MAAqB;QAC/B,KAAK,CAAC,MAAM,CAAC,CAAC;QAhBA,UAAK,GAAW,IAAI,CAAC;QAiBnC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAEjD,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CACf,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CACrE,CAAC;QACF,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CACf,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CACrE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM;YAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AApGD,wBAoGC"}
1
+ {"version":3,"file":"analog.js","sourceRoot":"","sources":["../../src/elements/analog.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAC9B,2CAAwC;AACxC,oCAA8C;AAa9C;;;;;;;GAOG;AACH,MAAa,MAAO,SAAQ,aAAa;IAgBvC,YAAY,MAAqB;QAC/B,KAAK,CAAC,MAAM,CAAC,CAAC;QAhBA,UAAK,GAAS,IAAI,CAAC;QAiBjC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAEjD,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,GAAG;YACT,SAAS,EAAE,SAAS,IAAI,IAAI;YAC5B,GAAG,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,GAAG;YACT,SAAS,EAAE,SAAS,IAAI,IAAI;YAC5B,GAAG,CAAC;SACL,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM;YAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AA1GD,wBA0GC"}
@@ -7,7 +7,7 @@ export interface DpadParams extends InputParams {
7
7
  right?: InputParams;
8
8
  }
9
9
  export declare class Dpad extends Input<Dpad> {
10
- readonly state: Dpad;
10
+ readonly state: this;
11
11
  readonly up: Momentary;
12
12
  readonly down: Momentary;
13
13
  readonly left: Momentary;
@@ -1 +1 @@
1
- {"version":3,"file":"dpad.d.ts","sourceRoot":"","sources":["../../src/elements/dpad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,qBAAa,IAAK,SAAQ,KAAK,CAAC,IAAI,CAAC;IACnC,SAAgB,KAAK,EAAE,IAAI,CAAQ;IAEnC,SAAgB,EAAE,EAAE,SAAS,CAAC;IAC9B,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,KAAK,EAAE,SAAS,CAAC;gBAErB,MAAM,CAAC,EAAE,UAAU;IAS/B,IAAW,MAAM,IAAI,OAAO,CAO3B;CACF"}
1
+ {"version":3,"file":"dpad.d.ts","sourceRoot":"","sources":["../../src/elements/dpad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,qBAAa,IAAK,SAAQ,KAAK,CAAC,IAAI,CAAC;IACnC,SAAgB,KAAK,EAAE,IAAI,CAAQ;IAEnC,SAAgB,EAAE,EAAE,SAAS,CAAC;IAC9B,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,KAAK,EAAE,SAAS,CAAC;gBAErB,MAAM,GAAE,UAAe;IAUnC,IAAW,MAAM,IAAI,OAAO,CAO3B;CACF"}
@@ -4,13 +4,14 @@ exports.Dpad = void 0;
4
4
  const momentary_1 = require("./momentary");
5
5
  const input_1 = require("../input");
6
6
  class Dpad extends input_1.Input {
7
- constructor(params) {
7
+ constructor(params = {}) {
8
8
  super(params);
9
9
  this.state = this;
10
- this.up = new momentary_1.Momentary(params?.up || { icon: "⮉", name: "Up" });
11
- this.down = new momentary_1.Momentary(params?.down || { icon: "", name: "Down" });
12
- this.left = new momentary_1.Momentary(params?.left || { icon: "", name: "Left" });
13
- this.right = new momentary_1.Momentary(params?.right || { icon: "", name: "Right" });
10
+ const { up, down, left, right } = params;
11
+ this.up = new momentary_1.Momentary(params?.up || { icon: "", name: "Up", ...up });
12
+ this.down = new momentary_1.Momentary(params?.down || { icon: "", name: "Down", ...down });
13
+ this.left = new momentary_1.Momentary(params?.left || { icon: "", name: "Left", ...left });
14
+ this.right = new momentary_1.Momentary(params?.right || { icon: "⮊", name: "Right", ...right });
14
15
  }
15
16
  get active() {
16
17
  return (this.up.active ||
@@ -1 +1 @@
1
- {"version":3,"file":"dpad.js","sourceRoot":"","sources":["../../src/elements/dpad.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,oCAA8C;AAS9C,MAAa,IAAK,SAAQ,aAAW;IAQnC,YAAY,MAAmB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;QARA,UAAK,GAAS,IAAI,CAAC;QAUjC,IAAI,CAAC,EAAE,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,IAAW,MAAM;QACf,OAAO,CACL,IAAI,CAAC,EAAE,CAAC,MAAM;YACd,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;CACF;AAzBD,oBAyBC"}
1
+ {"version":3,"file":"dpad.js","sourceRoot":"","sources":["../../src/elements/dpad.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,oCAA8C;AAS9C,MAAa,IAAK,SAAQ,aAAW;IAQnC,YAAY,SAAqB,EAAE;QACjC,KAAK,CAAC,MAAM,CAAC,CAAC;QARA,UAAK,GAAS,IAAI,CAAC;QASjC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;QAExC,IAAI,CAAC,EAAE,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAC,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,IAAW,MAAM;QACf,OAAO,CACL,IAAI,CAAC,EAAE,CAAC,MAAM;YACd,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;CACF;AA1BD,oBA0BC"}
@@ -5,7 +5,7 @@ import { Increment } from "./increment";
5
5
  * with [0,0] representing the center of the touchpad.
6
6
  */
7
7
  export declare class Touch extends Analog {
8
- readonly state: Touch;
8
+ readonly state: this;
9
9
  readonly contact: import("./momentary").Momentary;
10
10
  readonly tracker: Increment;
11
11
  get active(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"touch.d.ts","sourceRoot":"","sources":["../../src/elements/touch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,KAAM,SAAQ,MAAM;IAC/B,SAAgB,KAAK,EAAE,KAAK,CAAQ;IACpC,SAAgB,OAAO,kCAAe;IACtC,SAAgB,OAAO,EAAE,SAAS,CAAmB;IAErD,IAAW,MAAM,IAAI,OAAO,CAE3B;CACF"}
1
+ {"version":3,"file":"touch.d.ts","sourceRoot":"","sources":["../../src/elements/touch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,KAAM,SAAQ,MAAM;IAC/B,SAAgB,KAAK,EAAE,IAAI,CAAQ;IACnC,SAAgB,OAAO,kCAAe;IACtC,SAAgB,OAAO,EAAE,SAAS,CAAmB;IAErD,IAAW,MAAM,IAAI,OAAO,CAE3B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"touch.js","sourceRoot":"","sources":["../../src/elements/touch.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAClC,2CAAwC;AAExC;;;GAGG;AACH,MAAa,KAAM,SAAQ,eAAM;IAAjC;;QACkB,UAAK,GAAU,IAAI,CAAC;QACpB,YAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,YAAO,GAAc,IAAI,qBAAS,EAAE,CAAC;IAKvD,CAAC;IAHC,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF;AARD,sBAQC"}
1
+ {"version":3,"file":"touch.js","sourceRoot":"","sources":["../../src/elements/touch.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAClC,2CAAwC;AAExC;;;GAGG;AACH,MAAa,KAAM,SAAQ,eAAM;IAAjC;;QACkB,UAAK,GAAS,IAAI,CAAC;QACnB,YAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,YAAO,GAAc,IAAI,qBAAS,EAAE,CAAC;IAKvD,CAAC;IAHC,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF;AARD,sBAQC"}
@@ -2,7 +2,7 @@ import { Momentary } from "./momentary";
2
2
  import { Touch } from "./touch";
3
3
  import { Input, InputParams } from "../input";
4
4
  export declare class Touchpad extends Input<Touchpad> {
5
- readonly state: Touchpad;
5
+ readonly state: this;
6
6
  get active(): boolean;
7
7
  readonly button: Momentary;
8
8
  readonly left: Touch;
@@ -1 +1 @@
1
- {"version":3,"file":"touchpad.d.ts","sourceRoot":"","sources":["../../src/elements/touchpad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE9C,qBAAa,QAAS,SAAQ,KAAK,CAAC,QAAQ,CAAC;IAC3C,SAAgB,KAAK,EAAE,QAAQ,CAAQ;IAEvC,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,SAAgB,MAAM,EAAE,SAAS,CAAC;IAGlC,SAAgB,IAAI,EAAE,KAAK,CAAC;IAC5B,SAAgB,KAAK,EAAE,KAAK,CAAC;gBAEjB,MAAM,EAAE,WAAW;CAOhC"}
1
+ {"version":3,"file":"touchpad.d.ts","sourceRoot":"","sources":["../../src/elements/touchpad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE9C,qBAAa,QAAS,SAAQ,KAAK,CAAC,QAAQ,CAAC;IAC3C,SAAgB,KAAK,EAAE,IAAI,CAAQ;IAEnC,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,SAAgB,MAAM,EAAE,SAAS,CAAC;IAGlC,SAAgB,IAAI,EAAE,KAAK,CAAC;IAC5B,SAAgB,KAAK,EAAE,KAAK,CAAC;gBAEjB,MAAM,EAAE,WAAW;CAOhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"touchpad.js","sourceRoot":"","sources":["../../src/elements/touchpad.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,mCAAgC;AAChC,oCAA8C;AAE9C,MAAa,QAAS,SAAQ,aAAe;IAa3C,YAAY,MAAmB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;QAbA,UAAK,GAAa,IAAI,CAAC;QAerC,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,aAAK,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAC3B,CAAC;IAhBD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAClC,CAAC;CAeF;AApBD,4BAoBC"}
1
+ {"version":3,"file":"touchpad.js","sourceRoot":"","sources":["../../src/elements/touchpad.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,mCAAgC;AAChC,oCAA8C;AAE9C,MAAa,QAAS,SAAQ,aAAe;IAa3C,YAAY,MAAmB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;QAbA,UAAK,GAAS,IAAI,CAAC;QAejC,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,aAAK,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAC3B,CAAC;IAhBD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAClC,CAAC;CAeF;AApBD,4BAoBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../src/elements/trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,OAAQ,SAAQ,KAAK,CAAC,SAAS,CAAC;IACpC,KAAK,EAAE,SAAS,CAAK;IAErB,MAAM,EAAE,SAAS,CAAqB;IAE7C,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,IAAW,QAAQ,IAAI,SAAS,CAE/B;IAED,IAAW,SAAS,IAAI,SAAS,CAEhC;IAEM,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIzC,SAAgB,MAAM,SAAgB;CACvC"}
1
+ {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../src/elements/trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,OAAQ,SAAQ,KAAK,CAAC,SAAS,CAAC;IACpC,KAAK,EAAE,SAAS,CAAK;IAErB,MAAM,EAAE,SAAS,CAAmB;IAE3C,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,IAAW,QAAQ,IAAI,SAAS,CAE/B;IAED,IAAW,SAAS,IAAI,SAAS,CAEhC;IAEM,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIzC,SAAgB,MAAM,SAAgB;CACvC"}
@@ -8,7 +8,7 @@ class Trigger extends input_1.Input {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.state = 0;
11
- this.button = new momentary_1.Momentary({});
11
+ this.button = new momentary_1.Momentary();
12
12
  this.haptic = new haptics_1.Haptic();
13
13
  }
14
14
  get active() {
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/elements/trigger.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,oCAAiC;AAEjC,2CAAwC;AAExC,MAAa,OAAQ,SAAQ,aAAgB;IAA7C;;QACS,UAAK,GAAc,CAAC,CAAC;QAErB,WAAM,GAAc,IAAI,qBAAS,CAAC,EAAE,CAAC,CAAC;QAkB7B,WAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;IACxC,CAAC;IAjBC,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,OAAO,CAAC,KAAgB;QAC7B,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;IAC9B,CAAC;CAGF;AAtBD,0BAsBC"}
1
+ {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/elements/trigger.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AACpC,oCAAiC;AAEjC,2CAAwC;AAExC,MAAa,OAAQ,SAAQ,aAAgB;IAA7C;;QACS,UAAK,GAAc,CAAC,CAAC;QAErB,WAAM,GAAc,IAAI,qBAAS,EAAE,CAAC;QAkB3B,WAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;IACxC,CAAC;IAjBC,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,OAAO,CAAC,KAAgB;QAC7B,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;IAC9B,CAAC;CAGF;AAtBD,0BAsBC"}
@@ -9,7 +9,7 @@ export interface UnisenseParams extends InputParams {
9
9
  analog?: InputParams;
10
10
  }
11
11
  export declare class Unisense extends Input<Unisense> {
12
- readonly state: Unisense;
12
+ readonly state: this;
13
13
  readonly trigger: Trigger;
14
14
  readonly bumper: Momentary;
15
15
  readonly analog: Analog;
@@ -1 +1 @@
1
- {"version":3,"file":"unisense.d.ts","sourceRoot":"","sources":["../../src/elements/unisense.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAGD,qBAAa,QAAS,SAAQ,KAAK,CAAC,QAAQ,CAAC;IAC3C,SAAgB,KAAK,EAAE,QAAQ,CAAQ;IAEvC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,MAAM,CAAC,EAAE,cAAc;IAmBnC,IAAW,MAAM,IAAI,OAAO,CAE3B;CACF"}
1
+ {"version":3,"file":"unisense.d.ts","sourceRoot":"","sources":["../../src/elements/unisense.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAGD,qBAAa,QAAS,SAAQ,KAAK,CAAC,QAAQ,CAAC;IAC3C,SAAgB,KAAK,EAAE,IAAI,CAAQ;IAEnC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,MAAM,GAAE,cAAmB;IAoBvC,IAAW,MAAM,IAAI,OAAO,CAE3B;CACF"}
@@ -8,16 +8,23 @@ const haptics_1 = require("../haptics");
8
8
  const input_1 = require("../input");
9
9
  // The name "Dualsense" clearly implies a composition of two Unisense elements 🤔
10
10
  class Unisense extends input_1.Input {
11
- constructor(params) {
11
+ constructor(params = {}) {
12
12
  super(params);
13
13
  this.state = this;
14
- this.trigger = new trigger_1.Trigger(params?.trigger || {
14
+ const { trigger, bumper, analog } = params;
15
+ this.trigger = new trigger_1.Trigger({
15
16
  icon: "2",
16
17
  name: "Trigger",
17
- threshold: (1 / 255) * 3,
18
+ threshold: 1 / 255,
19
+ ...trigger,
20
+ });
21
+ this.bumper = new momentary_1.Momentary({ icon: "1", name: "Bumper", ...bumper });
22
+ this.analog = new analog_1.Analog({
23
+ icon: "⨁",
24
+ name: "Analog",
25
+ threshold: 1 / 128,
26
+ ...analog,
18
27
  });
19
- this.bumper = new momentary_1.Momentary(params?.bumper || { icon: "1", name: "Bumper" });
20
- this.analog = new analog_1.Analog(params?.analog || { icon: "⨁", name: "Analog", threshold: (1 / 128) * 3 });
21
28
  this.haptic = new haptics_1.Haptic();
22
29
  }
23
30
  get active() {
@@ -1 +1 @@
1
- {"version":3,"file":"unisense.js","sourceRoot":"","sources":["../../src/elements/unisense.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,2CAAwC;AACxC,qCAAkC;AAClC,wCAAoC;AACpC,oCAA8C;AAQ9C,iFAAiF;AACjF,MAAa,QAAS,SAAQ,aAAe;IAQ3C,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,CAAC,CAAC;QARA,UAAK,GAAa,IAAI,CAAC;QAUrC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CACxB,MAAM,EAAE,OAAO,IAAI;YACjB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;SACzB,CACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CACzB,MAAM,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAChD,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CACtB,MAAM,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAC1E,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;IAC7B,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACzE,CAAC;CACF;AA9BD,4BA8BC"}
1
+ {"version":3,"file":"unisense.js","sourceRoot":"","sources":["../../src/elements/unisense.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,2CAAwC;AACxC,qCAAkC;AAClC,wCAAoC;AACpC,oCAA8C;AAQ9C,iFAAiF;AACjF,MAAa,QAAS,SAAQ,aAAe;IAQ3C,YAAY,SAAyB,EAAE;QACrC,KAAK,CAAC,MAAM,CAAC,CAAC;QARA,UAAK,GAAS,IAAI,CAAC;QASjC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAE3C,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,CAAC,GAAG,GAAG;YAClB,GAAG,OAAO;SACX,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC,GAAG,GAAG;YAClB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;IAC7B,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACzE,CAAC;CACF;AA/BD,4BA+BC"}
@@ -1,64 +1,22 @@
1
- /// <reference types="node" />
2
- import { EventEmitter } from "events";
3
- import { InputId } from "./ids";
4
- export interface DualsenseHIDState {
5
- [InputId.LeftAnalogX]: number;
6
- [InputId.LeftAnalogY]: number;
7
- [InputId.RightAnalogX]: number;
8
- [InputId.RightAnalogY]: number;
9
- [InputId.LeftTrigger]: number;
10
- [InputId.RightTrigger]: number;
11
- [InputId.Triangle]: boolean;
12
- [InputId.Circle]: boolean;
13
- [InputId.Cross]: boolean;
14
- [InputId.Square]: boolean;
15
- [InputId.Dpad]: number;
16
- [InputId.Up]: boolean;
17
- [InputId.Down]: boolean;
18
- [InputId.Left]: boolean;
19
- [InputId.Right]: boolean;
20
- [InputId.RightAnalogButton]: boolean;
21
- [InputId.LeftAnalogButton]: boolean;
22
- [InputId.Options]: boolean;
23
- [InputId.Create]: boolean;
24
- [InputId.RightTriggerButton]: boolean;
25
- [InputId.LeftTriggerButton]: boolean;
26
- [InputId.RightBumper]: boolean;
27
- [InputId.LeftBumper]: boolean;
28
- [InputId.Playstation]: boolean;
29
- [InputId.TouchButton]: boolean;
30
- [InputId.Mute]: boolean;
31
- [InputId.Status]: boolean;
32
- [InputId.TouchX0]: number;
33
- [InputId.TouchY0]: number;
34
- [InputId.TouchContact0]: boolean;
35
- [InputId.TouchId0]: number;
36
- [InputId.TouchX1]: number;
37
- [InputId.TouchY1]: number;
38
- [InputId.TouchContact1]: boolean;
39
- [InputId.TouchId1]: number;
40
- [InputId.GyroX]: number;
41
- [InputId.GyroY]: number;
42
- [InputId.GyroZ]: number;
43
- [InputId.AccelX]: number;
44
- [InputId.AccelY]: number;
45
- [InputId.AccelZ]: number;
46
- }
47
- export declare function mapAxis(value: number, max?: number): number;
48
- export declare function mapTrigger(value: number): number;
49
- export declare class DualsenseHID extends EventEmitter {
1
+ import { HIDProvider, DualsenseHIDState } from "./hid_provider";
2
+ export declare type HIDCallback = (state: DualsenseHIDState) => void;
3
+ /**
4
+ * Coordinates a HIDProvider and tracks the latest HID state.
5
+ */
6
+ export declare class DualsenseHID {
7
+ readonly provider: HIDProvider;
8
+ private readonly subscribers;
50
9
  state: DualsenseHIDState;
51
- private device;
52
- private wireless;
53
- static readonly vendorId: number;
54
- static readonly productId: number;
55
- constructor();
10
+ constructor(provider: HIDProvider);
11
+ /**
12
+ * Register a handler for HID state updates.
13
+ */
14
+ register(callback: (state: DualsenseHIDState) => void): void;
56
15
  /**
57
- * Unpacks a Dualsense HID report.
16
+ * Cancel a previously registered handler.
58
17
  */
59
- private process;
18
+ unregister(callback: (state: DualsenseHIDState) => void): void;
19
+ private set;
60
20
  private handleError;
61
- private disconnect;
62
- private connect;
63
21
  }
64
22
  //# sourceMappingURL=dualsense_hid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dualsense_hid.d.ts","sourceRoot":"","sources":["../../src/hid/dualsense_hid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dualsense_hid.d.ts","sourceRoot":"","sources":["../../src/hid/dualsense_hid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAW,MAAM,gBAAgB,CAAC;AAEzE,oBAAY,WAAW,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE7D;;GAEG;AACH,qBAAa,YAAY;IA+CX,QAAQ,CAAC,QAAQ,EAAE,WAAW;IA9C1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAE/C,KAAK,EAAE,iBAAiB,CA0C7B;gBAEmB,QAAQ,EAAE,WAAW;IAK1C;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI;IAInE;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI;IAIrE,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,WAAW;CAOpB"}