From 04aa5236c2ad36f92ea9b1dd7849ce750c81c8f8 Mon Sep 17 00:00:00 2001 From: Kristian Sloth Lauszus Date: Sun, 6 May 2018 21:38:40 +0200 Subject: [PATCH] The usage page and usage number was changed in https://github.com/UltimateHackingKeyboard/firmware/pull/112/commits/6f0b1adc14c293c05ecc0c8039b5ca516917e59e (#630) --- packages/uhk-usb/src/uhk-hid-device.ts | 5 ++++- packages/usb/uhk.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/uhk-usb/src/uhk-hid-device.ts b/packages/uhk-usb/src/uhk-hid-device.ts index 3c6dc6db..5632fe85 100644 --- a/packages/uhk-usb/src/uhk-hid-device.ts +++ b/packages/uhk-usb/src/uhk-hid-device.ts @@ -238,7 +238,10 @@ export class UhkHidDevice { const dev = devs.find((x: Device) => x.vendorId === Constants.VENDOR_ID && x.productId === Constants.PRODUCT_ID && - ((x.usagePage === 128 && x.usage === 129) || x.interface === 0)); + // hidapi can not read the interface number on Mac, so check the usage page and usage + ((x.usagePage === 128 && x.usage === 129) || // Old firmware + (x.usagePage === (0xFF00 | 0x00) && x.usage === 0x01) || // New firmware + x.interface === 0)); if (!dev) { this.logService.debug('[UhkHidDevice] UHK Device not found:'); diff --git a/packages/usb/uhk.js b/packages/usb/uhk.js index 2914dd4d..f19bb891 100644 --- a/packages/usb/uhk.js +++ b/packages/usb/uhk.js @@ -71,7 +71,10 @@ function writeDevice(device, data, options={}) { function getUhkDevice() { const foundDevice = HID.devices().find(device => device.vendorId === 0x1d50 && device.productId === 0x6122 && - ((device.usagePage === 128 && device.usage === 129) || device.interface === 0)); + // hidapi can not read the interface number on Mac, so check the usage page and usage + ((device.usagePage === 128 && device.usage === 129) || // Old firmware + (device.usagePage === (0xFF00 | 0x00) && device.usage === 0x01) || // New firmware + device.interface === 0)); if (!foundDevice) { return null;