dualsense-ts 6.1.4 → 6.3.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 (49) hide show
  1. package/README.md +104 -8
  2. package/dist/dualsense.d.ts +8 -0
  3. package/dist/dualsense.d.ts.map +1 -1
  4. package/dist/dualsense.js +12 -0
  5. package/dist/dualsense.js.map +1 -1
  6. package/dist/hid/hid_provider.d.ts +19 -0
  7. package/dist/hid/hid_provider.d.ts.map +1 -1
  8. package/dist/hid/hid_provider.js +13 -0
  9. package/dist/hid/hid_provider.js.map +1 -1
  10. package/dist/hid/node_hid_provider.d.ts +14 -1
  11. package/dist/hid/node_hid_provider.d.ts.map +1 -1
  12. package/dist/hid/node_hid_provider.js +46 -5
  13. package/dist/hid/node_hid_provider.js.map +1 -1
  14. package/dist/hid/web_hid_provider.d.ts +18 -1
  15. package/dist/hid/web_hid_provider.d.ts.map +1 -1
  16. package/dist/hid/web_hid_provider.js +54 -2
  17. package/dist/hid/web_hid_provider.js.map +1 -1
  18. package/dist/id.d.ts +4 -0
  19. package/dist/id.d.ts.map +1 -1
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/manager.d.ts +88 -0
  25. package/dist/manager.d.ts.map +1 -0
  26. package/dist/manager.js +319 -0
  27. package/dist/manager.js.map +1 -0
  28. package/nodehid_example/debug.ts +233 -197
  29. package/nodehid_example/single.ts +204 -0
  30. package/package.json +1 -1
  31. package/src/dualsense.ts +18 -0
  32. package/src/hid/hid_provider.ts +32 -0
  33. package/src/hid/node_hid_provider.ts +76 -5
  34. package/src/hid/web_hid_provider.ts +77 -2
  35. package/src/id.ts +5 -0
  36. package/src/index.ts +1 -0
  37. package/src/manager.ts +405 -0
  38. package/webhid_example/build/asset-manifest.json +3 -3
  39. package/webhid_example/build/index.html +1 -1
  40. package/webhid_example/build/static/js/main.fcf0c900.js +3 -0
  41. package/webhid_example/build/static/js/main.fcf0c900.js.map +1 -0
  42. package/webhid_example/src/App.tsx +288 -83
  43. package/webhid_example/src/Controller.tsx +21 -47
  44. package/webhid_example/src/hud/AudioIndicator.tsx +114 -0
  45. package/webhid_example/src/hud/ControllerConnection.tsx +3 -3
  46. package/webhid_example/src/hud/index.tsx +1 -0
  47. package/webhid_example/build/static/js/main.0bfb3cbc.js +0 -3
  48. package/webhid_example/build/static/js/main.0bfb3cbc.js.map +0 -1
  49. /package/webhid_example/build/static/js/{main.0bfb3cbc.js.LICENSE.txt → main.fcf0c900.js.LICENSE.txt} +0 -0
package/README.md CHANGED
@@ -287,7 +287,24 @@ The `{r, g, b}` format is directly compatible with popular color libraries — p
287
287
 
288
288
  The mute LED cannot be controlled (the firmware toggles it on and off with the button) but you can read its current state. `controller.mute` allows you to read the button like a normal input, while `controller.mute.status` is a toggle input tied to the LED's state.
289
289
 
290
- ### With React
290
+ #### Audio Peripherals
291
+
292
+ The controller reports whether a microphone and/or headphones are connected via the 3.5mm jack:
293
+
294
+ ```typescript
295
+ controller.headphone.on("change", ({ state }) => {
296
+ console.log(`Headphones ${state ? "" : "dis"}connected`);
297
+ });
298
+
299
+ controller.microphone.on("change", ({ state }) => {
300
+ console.log(`Microphone ${state ? "" : "dis"}connected`);
301
+ });
302
+
303
+ controller.headphone.state; // true when headphones are plugged in
304
+ controller.microphone.state; // true when a microphone is available
305
+ ```
306
+
307
+ ## Using `dualsense-ts` with React
291
308
 
292
309
  Check out [the example app](./webhid_example/) for more details.
293
310
 
@@ -355,11 +372,94 @@ export const ControllerConnection = () => {
355
372
  };
356
373
  ```
357
374
 
358
- ### It's not working
375
+ ## Multiplayer
376
+
377
+ `dualsense-ts` supports multiple controllers through the `DualsenseManager` class. The manager automatically discovers controllers, assigns player LEDs, and preserves player slots across disconnects and USB/Bluetooth switches.
378
+
379
+ ### Quick start
380
+
381
+ ```typescript
382
+ import { DualsenseManager } from "dualsense-ts";
383
+
384
+ const manager = new DualsenseManager();
385
+
386
+ // React to controller count changes
387
+ manager.on("change", ({ active, players }) => {
388
+ console.log(`${active} controller(s) connected`);
389
+ for (const [index, controller] of players) {
390
+ console.log(
391
+ `Player ${index + 1}: ${controller.connection.active ? "ready" : "away"}`,
392
+ );
393
+ }
394
+ });
395
+ ```
396
+
397
+ In Node.js, the manager polls for new devices automatically. In the browser, you'll need to request permission via a user gesture:
398
+
399
+ ```typescript
400
+ // React / plain JS
401
+ <button onClick={manager.getRequest()}>Add Controllers</button>
402
+ ```
403
+
404
+ ### Accessing controllers
405
+
406
+ ```typescript
407
+ manager.controllers; // readonly Dualsense[] — all managed controllers
408
+ manager.get(0); // Dualsense | undefined — by slot index
409
+ manager.count; // number of managed slots (including disconnected)
410
+ manager.state.active; // number of currently connected controllers
411
+
412
+ // Iterate
413
+ for (const controller of manager) {
414
+ console.log(controller.triangle.state);
415
+ }
416
+ ```
417
+
418
+ ### Player LEDs
419
+
420
+ The manager auto-assigns player LED patterns as controllers connect. The first four match the PS5 console convention; slots 5–31 use the remaining 5-bit LED combinations.
421
+
422
+ ```typescript
423
+ import { DualsenseManager, PlayerID, Brightness } from "dualsense-ts";
424
+
425
+ const manager = new DualsenseManager();
426
+
427
+ // Override a specific slot's LED pattern (5-bit bitmask, 0x00–0x1f)
428
+ manager.setPlayerPattern(4, 0b10001); // Player 5: outer two LEDs
429
+ manager.getPlayerPattern(0); // 0x04 (PlayerID.Player1)
430
+
431
+ // Disable auto-assignment and manage LEDs yourself
432
+ manager.autoAssignPlayerLeds = false;
433
+ manager.get(0)?.playerLeds.set(PlayerID.All);
434
+ manager.get(0)?.playerLeds.setBrightness(Brightness.Low);
435
+ ```
436
+
437
+ ### Reconnection
438
+
439
+ When a controller disconnects, its slot is preserved. If the same controller reconnects - even through a different connection type (USB to Bluetooth or vice versa) - it returns to its original slot with the same player number. In Node.js, reconnection matching uses the hardware serial number. In the browser, it is best-effort based on device identity.
359
440
 
360
- 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.
441
+ ### Slot management
361
442
 
362
- If something seems wrong, use the debugger to view the report buffer. Collect a few buffers in different states if possible. Please provide your controller's model number in the report - it's located on the back. Some versions have unique quirks.
443
+ Disconnected controllers hold their slot open for reconnection. To free slots:
444
+
445
+ ```typescript
446
+ // Release a specific slot
447
+ manager.release(2);
448
+
449
+ // Release all disconnected slots at once
450
+ manager.releaseDisconnected();
451
+
452
+ // Stop discovery and disconnect everything
453
+ manager.dispose();
454
+ ```
455
+
456
+ ### Single player
457
+
458
+ Using `new Dualsense()` directly continues to work exactly as before, allowing you to manage a single controller. `DualsenseManager` is entirely opt-in - you only need it when managing multiple controllers. Do not use standalone `Dualsense` instances and a `DualsenseManager` at the same time.
459
+
460
+ ## Known Issues
461
+
462
+ In Linux, identical devices may not be given separate HID interfaces under some circumstances. This may limit your ability to use multiple controllers simultaneously. In this situation, one wired and one wireless controller is still a valid configuration.
363
463
 
364
464
  ## Other Dualsense Variants
365
465
 
@@ -367,10 +467,6 @@ The DualSense FlexStrike, DualSense Edge, and DualSense Access controllers are n
367
467
 
368
468
  The PS4 DualShock controller is not supported.
369
469
 
370
- ## Multiplayer
371
-
372
- Multiple controllers are not yet supported. This functionality is coming soon.
373
-
374
470
  ## Migration Guide
375
471
 
376
472
  `dualsense-ts` uses semantic versioning. For more info on breaking changes, [check out the migration guide](MIGRATION_GUIDE.md).
@@ -70,6 +70,10 @@ export declare class Dualsense extends Input<Dualsense> {
70
70
  readonly accelerometer: Accelerometer;
71
71
  /** Battery level and charging status */
72
72
  readonly battery: Battery;
73
+ /** Whether a microphone is connected (e.g. headset mic or USB mic) */
74
+ readonly microphone: Momentary;
75
+ /** Whether headphones are connected to the controller's 3.5mm jack */
76
+ readonly headphone: Momentary;
73
77
  /** The RGB light bar at the top of the controller */
74
78
  readonly lightbar: Lightbar;
75
79
  /** The 5 white player indicator LEDs */
@@ -83,6 +87,10 @@ export declare class Dualsense extends Input<Dualsense> {
83
87
  get active(): boolean;
84
88
  /** Returns `true` if the controller is connected via Bluetooth */
85
89
  get wireless(): boolean;
90
+ /** Unique identifier for the connected device (path or fingerprint) */
91
+ get deviceId(): string | undefined;
92
+ /** Hardware serial number of the connected device, if available */
93
+ get serialNumber(): string | undefined;
86
94
  constructor(params?: DualsenseParams);
87
95
  private get rumbleIntensity();
88
96
  /** Reset adaptive trigger feedback on both sides to the default linear feel */
@@ -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,EACR,SAAS,EACT,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAY,WAAW,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAEL,YAAY,EAKb,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;IACpC,+BAA+B;IAC/B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;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;IAC7C,wCAAwC;IACxC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,qDAAqD;IACrD,SAAgB,QAAQ,WAAkB;IAC1C,wCAAwC;IACxC,SAAgB,UAAU,aAAoB;IAE9C,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG7B;IAEF,kEAAkE;IAClE,SAAgB,GAAG,EAAE,YAAY,CAAC;IAElC,6EAA6E;IAC7E,SAAgB,UAAU,EAAE,SAAS,CAAC;IAEtC,IAAW,MAAM,IAAI,OAAO,CAI3B;IAED,kEAAkE;IAClE,IAAW,QAAQ,IAAI,OAAO,CAE7B;gBAEW,MAAM,GAAE,eAAoB;IAqLxC,OAAO,KAAK,eAAe,GAE1B;IAED,+EAA+E;IACxE,oBAAoB,IAAI,IAAI;IAKnC,kFAAkF;IAC3E,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM;IAM5C,8DAA8D;IAC9D,OAAO,CAAC,UAAU;CAuDnB"}
1
+ {"version":3,"file":"dualsense.d.ts","sourceRoot":"","sources":["../src/dualsense.ts"],"names":[],"mappings":"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"}
package/dist/dualsense.js CHANGED
@@ -13,6 +13,14 @@ class Dualsense extends input_1.Input {
13
13
  get wireless() {
14
14
  return this.hid.wireless;
15
15
  }
16
+ /** Unique identifier for the connected device (path or fingerprint) */
17
+ get deviceId() {
18
+ return this.hid.provider.deviceId;
19
+ }
20
+ /** Hardware serial number of the connected device, if available */
21
+ get serialNumber() {
22
+ return this.hid.provider.serialNumber;
23
+ }
16
24
  constructor(params = {}) {
17
25
  super(params);
18
26
  this.state = this;
@@ -35,6 +43,8 @@ class Dualsense extends input_1.Input {
35
43
  name: "Mute",
36
44
  ...(params.mute ?? {}),
37
45
  });
46
+ this.microphone = new elements_1.Momentary({ icon: "🎤", name: "Microphone" });
47
+ this.headphone = new elements_1.Momentary({ icon: "🎧", name: "Headphone" });
38
48
  this.options = new elements_1.Momentary({
39
49
  icon: "⋯",
40
50
  name: "Options",
@@ -209,6 +219,8 @@ class Dualsense extends input_1.Input {
209
219
  this.create[input_1.InputSet](state["Create" /* InputId.Create */]);
210
220
  this.mute[input_1.InputSet](state["Mute" /* InputId.Mute */]);
211
221
  this.mute.status[input_1.InputSet](state["MuteLed" /* InputId.MuteLed */]);
222
+ this.microphone[input_1.InputSet](state["Microphone" /* InputId.Microphone */]);
223
+ this.headphone[input_1.InputSet](state["Headphone" /* InputId.Headphone */]);
212
224
  this.triangle[input_1.InputSet](state["Triangle" /* InputId.Triangle */]);
213
225
  this.circle[input_1.InputSet](state["Circle" /* InputId.Circle */]);
214
226
  this.cross[input_1.InputSet](state["Cross" /* InputId.Cross */]);
@@ -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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"}
@@ -63,9 +63,20 @@ export interface DualsenseHIDState {
63
63
  [InputId.BatteryLevel]: number;
64
64
  [InputId.BatteryStatus]: ChargeStatus;
65
65
  [InputId.MuteLed]: boolean;
66
+ [InputId.Microphone]: boolean;
67
+ [InputId.Headphone]: boolean;
66
68
  }
67
69
  /** Default values for all inputs */
68
70
  export declare const DefaultDualsenseHIDState: DualsenseHIDState;
71
+ /** Information about an available Dualsense device */
72
+ export interface DualsenseDeviceInfo {
73
+ /** Unique device path (platform-specific) */
74
+ path: string;
75
+ /** Hardware serial number, if available */
76
+ serialNumber?: string;
77
+ /** Whether the device is connected wirelessly */
78
+ wireless: boolean;
79
+ }
69
80
  /** Supports a connection to a physical or virtual Dualsense device */
70
81
  export declare abstract class HIDProvider {
71
82
  /** HID vendorId for a Dualsense controller */
@@ -76,10 +87,16 @@ export declare abstract class HIDProvider {
76
87
  static readonly usagePage: number;
77
88
  /** HID usage for a Dualsense controller */
78
89
  static readonly usage: number;
90
+ /** Global set of device paths currently claimed by a provider instance */
91
+ static readonly claimedDevices: Set<string>;
79
92
  /** Callback to use for new input events */
80
93
  onData: (state: DualsenseHIDState) => void;
81
94
  /** Callback to use for Error events */
82
95
  onError: (error: Error) => void;
96
+ /** Unique identifier for the connected device (path or serial) */
97
+ deviceId?: string;
98
+ /** Hardware serial number of the connected device */
99
+ serialNumber?: string;
83
100
  /** Search for a controller and connect to it */
84
101
  abstract connect(): void;
85
102
  /** Stop accepting input from the controller */
@@ -156,6 +173,8 @@ export declare abstract class HIDProvider {
156
173
  TouchY1: number;
157
174
  Status: boolean;
158
175
  MuteLed: boolean;
176
+ Microphone: boolean;
177
+ Headphone: boolean;
159
178
  BatteryLevel: number;
160
179
  BatteryStatus: ChargeStatus;
161
180
  };
@@ -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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"}
@@ -89,6 +89,8 @@ exports.DefaultDualsenseHIDState = {
89
89
  ["BatteryLevel" /* InputId.BatteryLevel */]: 0,
90
90
  ["BatteryStatus" /* InputId.BatteryStatus */]: battery_state_1.ChargeStatus.Discharging,
91
91
  ["MuteLed" /* InputId.MuteLed */]: false,
92
+ ["Microphone" /* InputId.Microphone */]: false,
93
+ ["Headphone" /* InputId.Headphone */]: false,
92
94
  };
93
95
  /** Supports a connection to a physical or virtual Dualsense device */
94
96
  class HIDProvider {
@@ -121,10 +123,15 @@ class HIDProvider {
121
123
  * Reset the HIDProvider state when the device is disconnected
122
124
  */
123
125
  reset() {
126
+ if (this.deviceId) {
127
+ HIDProvider.claimedDevices.delete(this.deviceId);
128
+ }
124
129
  this.device = undefined;
125
130
  this.wireless = undefined;
126
131
  this.buffer = undefined;
127
132
  this.limited = undefined;
133
+ this.deviceId = undefined;
134
+ this.serialNumber = undefined;
128
135
  this.onData(exports.DefaultDualsenseHIDState);
129
136
  }
130
137
  /**
@@ -225,6 +232,8 @@ class HIDProvider {
225
232
  ["TouchY1" /* InputId.TouchY1 */]: mapAxis(buffer.readUint16LE(40) >> 4, 1080),
226
233
  ["Status" /* InputId.Status */]: (buffer.readUint8(55) & 8) > 0,
227
234
  ["MuteLed" /* InputId.MuteLed */]: (buffer.readUint8(55) & 4) > 0,
235
+ ["Microphone" /* InputId.Microphone */]: (buffer.readUint8(55) & 2) > 0,
236
+ ["Headphone" /* InputId.Headphone */]: (buffer.readUint8(55) & 1) > 0,
228
237
  ["BatteryLevel" /* InputId.BatteryLevel */]: mapBatteryLevel(buffer.readUint8(54)),
229
238
  ["BatteryStatus" /* InputId.BatteryStatus */]: (buffer.readUint8(54) >> 4),
230
239
  };
@@ -288,6 +297,8 @@ class HIDProvider {
288
297
  // 12 reserved bytes
289
298
  ["Status" /* InputId.Status */]: (buffer.readUint8(54) & 8) > 0,
290
299
  ["MuteLed" /* InputId.MuteLed */]: (buffer.readUint8(54) & 4) > 0,
300
+ ["Microphone" /* InputId.Microphone */]: (buffer.readUint8(54) & 2) > 0,
301
+ ["Headphone" /* InputId.Headphone */]: (buffer.readUint8(54) & 1) > 0,
291
302
  ["BatteryLevel" /* InputId.BatteryLevel */]: mapBatteryLevel(buffer.readUint8(53)),
292
303
  ["BatteryStatus" /* InputId.BatteryStatus */]: (buffer.readUint8(53) >> 4),
293
304
  };
@@ -302,4 +313,6 @@ HIDProvider.productId = 3302;
302
313
  HIDProvider.usagePage = 0x0001;
303
314
  /** HID usage for a Dualsense controller */
304
315
  HIDProvider.usage = 0x0005;
316
+ /** Global set of device paths currently claimed by a provider instance */
317
+ HIDProvider.claimedDevices = new Set();
305
318
  //# sourceMappingURL=hid_provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hid_provider.js","sourceRoot":"","sources":["../../src/hid/hid_provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hid_provider.js","sourceRoot":"","sources":["../../src/hid/hid_provider.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,25 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import type { HID } from "node-hid";
4
- import { HIDProvider, DualsenseHIDState } from "./hid_provider";
4
+ import { HIDProvider, DualsenseHIDState, DualsenseDeviceInfo } from "./hid_provider";
5
+ export interface NodeHIDProviderOptions {
6
+ /** Connect only to the device at this specific path */
7
+ devicePath?: string;
8
+ /** Prefer the device with this serial number (stable across USB/BT switches) */
9
+ serialNumber?: string;
10
+ }
5
11
  export declare class NodeHIDProvider extends HIDProvider {
6
12
  device?: HID;
7
13
  wireless?: boolean;
8
14
  buffer?: Buffer;
9
15
  private connecting;
16
+ /** Target device path — mutable so the manager can update it on USB/BT switches */
17
+ targetPath?: string;
18
+ /** Target serial number — stable identifier for reconnection */
19
+ targetSerial?: string;
20
+ constructor(options?: NodeHIDProviderOptions);
21
+ /** List all available Dualsense controllers */
22
+ static enumerate(): Promise<DualsenseDeviceInfo[]>;
10
23
  connect(): Promise<void>;
11
24
  write(data: Uint8Array): Promise<void>;
12
25
  get connected(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"node_hid_provider.d.ts","sourceRoot":"","sources":["../../src/hid/node_hid_provider.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,qBAAa,eAAgB,SAAQ,WAAW;IACvC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,UAAU,CAAS;IAErB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA8D9B,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,UAAU,IAAI,IAAI;IAQlB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB;CAY3C"}
1
+ {"version":3,"file":"node_hid_provider.d.ts","sourceRoot":"","sources":["../../src/hid/node_hid_provider.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,GAAG,EAAU,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErF,MAAM,WAAW,sBAAsB;IACrC,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAgB,SAAQ,WAAW;IACvC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,UAAU,CAAS;IAC3B,mFAAmF;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEjB,OAAO,GAAE,sBAA2B;IAMhD,+CAA+C;WAClC,SAAS,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAsBlD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA6F9B,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,UAAU,IAAI,IAAI;IAQlB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB;CAY3C"}
@@ -26,9 +26,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.NodeHIDProvider = void 0;
27
27
  const hid_provider_1 = require("./hid_provider");
28
28
  class NodeHIDProvider extends hid_provider_1.HIDProvider {
29
- constructor() {
30
- super(...arguments);
29
+ constructor(options = {}) {
30
+ super();
31
31
  this.connecting = false;
32
+ this.targetPath = options.devicePath;
33
+ this.targetSerial = options.serialNumber;
34
+ }
35
+ /** List all available Dualsense controllers */
36
+ static async enumerate() {
37
+ let nodeHid;
38
+ try {
39
+ nodeHid = await Promise.resolve().then(() => __importStar(require("node-hid")));
40
+ }
41
+ catch {
42
+ return [];
43
+ }
44
+ const controllers = nodeHid.devices(hid_provider_1.HIDProvider.vendorId, hid_provider_1.HIDProvider.productId);
45
+ return controllers
46
+ .filter((d) => Boolean(d.path))
47
+ .map((d) => ({
48
+ path: d.path,
49
+ serialNumber: d.serialNumber ?? undefined,
50
+ wireless: d.interface === -1,
51
+ }));
32
52
  }
33
53
  async connect() {
34
54
  if (this.connecting)
@@ -48,12 +68,33 @@ class NodeHIDProvider extends hid_provider_1.HIDProvider {
48
68
  this.disconnect();
49
69
  const { HID, devices } = nodeHid;
50
70
  const controllers = devices(hid_provider_1.HIDProvider.vendorId, hid_provider_1.HIDProvider.productId);
51
- if (controllers.length === 0 || !controllers[0].path) {
71
+ // Find a suitable controller: targeted path, then serial match, then first unclaimed
72
+ let target = this.targetPath
73
+ ? controllers.find((d) => d.path === this.targetPath)
74
+ : undefined;
75
+ // Fall back to serial match (handles USB/BT switches where path changes)
76
+ if (!target && this.targetSerial) {
77
+ target = controllers.find((d) => d.serialNumber === this.targetSerial &&
78
+ d.path &&
79
+ !hid_provider_1.HIDProvider.claimedDevices.has(d.path));
80
+ if (target?.path != null) {
81
+ this.targetPath = target.path;
82
+ }
83
+ }
84
+ // No specific target: grab first unclaimed device
85
+ if (!target && !this.targetPath && !this.targetSerial) {
86
+ target = controllers.find((d) => d.path && !hid_provider_1.HIDProvider.claimedDevices.has(d.path));
87
+ }
88
+ if (!target?.path) {
52
89
  return this.onError(new Error(`No controllers (${devices().length} other devices)`));
53
90
  }
54
91
  // Detect connection type
55
- this.wireless = controllers[0].interface === -1;
56
- const device = new HID(controllers[0].path);
92
+ this.wireless = target.interface === -1;
93
+ const device = new HID(target.path);
94
+ // Claim this device
95
+ this.deviceId = target.path;
96
+ this.serialNumber = target.serialNumber ?? undefined;
97
+ hid_provider_1.HIDProvider.claimedDevices.add(target.path);
57
98
  // Enable accelerometer, gyro, touchpad
58
99
  device.getFeatureReport(0x05, 41);
59
100
  device.on("data", (arg) => {
@@ -1 +1 @@
1
- {"version":3,"file":"node_hid_provider.js","sourceRoot":"","sources":["../../src/hid/node_hid_provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node_hid_provider.js","sourceRoot":"","sources":["../../src/hid/node_hid_provider.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,25 @@
1
1
  /// <reference types="w3c-web-hid" />
2
2
  import { HIDProvider, DualsenseHIDState } from "./hid_provider";
3
+ export interface WebHIDProviderOptions {
4
+ /** Attach to this specific HIDDevice instead of discovering one */
5
+ device?: HIDDevice;
6
+ }
7
+ /** Callback invoked for each device selected via the WebHID permission dialog */
8
+ export type WebHIDDeviceCallback = (device: HIDDevice) => void;
3
9
  export declare class WebHIDProvider extends HIDProvider {
4
10
  device?: HIDDevice;
5
11
  wireless?: boolean;
6
12
  buffer?: DataView;
7
- constructor();
13
+ private readonly targetDevice?;
14
+ constructor(options?: WebHIDProviderOptions);
8
15
  /**
9
16
  * WebHID API doesn't indicate whether we are connected through the controller's
10
17
  * USB or Bluetooth interface. The protocol is different depending on the connection
11
18
  * type so we will try to detect it based on the collection information.
12
19
  */
13
20
  detectConnectionType(): void;
21
+ /** Derive a stable identity string for a WebHID device */
22
+ private static deviceKey;
14
23
  attach(device: HIDDevice): void;
15
24
  /**
16
25
  * You need to get HID device permissions from an interactive
@@ -18,6 +27,14 @@ export declare class WebHIDProvider extends HIDProvider {
18
27
  * the permissions request.
19
28
  */
20
29
  getRequest(): () => Promise<unknown>;
30
+ /**
31
+ * Request permission for multiple devices at once. Returns a callback
32
+ * suitable for use as an onClick handler. The `onDevice` callback is
33
+ * invoked once per selected device with the raw HIDDevice handle.
34
+ */
35
+ static getMultiRequest(onDevice: WebHIDDeviceCallback, onError?: (error: Error) => void): () => Promise<void>;
36
+ /** List already-permitted Dualsense devices */
37
+ static enumerate(): Promise<HIDDevice[]>;
21
38
  connect(): void;
22
39
  get connected(): boolean;
23
40
  disconnect(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"web_hid_provider.d.ts","sourceRoot":"","sources":["../../src/hid/web_hid_provider.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,qBAAa,cAAe,SAAQ,WAAW;IACtC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,CAAC;;IAkBzB;;;;OAIG;IACH,oBAAoB,IAAI,IAAI;IAmC5B,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAuB/B;;;;OAIG;IACH,UAAU,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC;IAwBpC,OAAO,IAAI,IAAI;IAIf,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,UAAU,IAAI,IAAI;IAQZ,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C,OAAO,CAAC,EACN,QAAQ,EACR,MAAM,GACP,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,QAAQ,CAAC;KAClB,GAAG,iBAAiB;CAgBtB"}
1
+ {"version":3,"file":"web_hid_provider.d.ts","sourceRoot":"","sources":["../../src/hid/web_hid_provider.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,iFAAiF;AACjF,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAE/D,qBAAa,cAAe,SAAQ,WAAW;IACtC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAY;gBAE9B,OAAO,GAAE,qBAA0B;IAuB/C;;;;OAIG;IACH,oBAAoB,IAAI,IAAI;IAmC5B,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAC,SAAS;IAWxB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IA8B/B;;;;OAIG;IACH,UAAU,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC;IAwBpC;;;;OAIG;IACH,MAAM,CAAC,eAAe,CACpB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC/B,MAAM,OAAO,CAAC,IAAI,CAAC;IAqBtB,+CAA+C;WAClC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAS9C,OAAO,IAAI,IAAI;IAIf,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,UAAU,IAAI,IAAI;IAQZ,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C,OAAO,CAAC,EACN,QAAQ,EACR,MAAM,GACP,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,QAAQ,CAAC;KAClB,GAAG,iBAAiB;CAgBtB"}