diff --git a/packages/uhk-usb/src/uhk-hid-device.ts b/packages/uhk-usb/src/uhk-hid-device.ts index 25d85a4b..3fd1b0fa 100644 --- a/packages/uhk-usb/src/uhk-hid-device.ts +++ b/packages/uhk-usb/src/uhk-hid-device.ts @@ -328,9 +328,11 @@ export class UhkHidDevice { } const expectedUdevSettings = await getFileContentAsync(path.join(this.rootDir, 'rules/50-uhk60.rules')); + const v2UdevSettings = await getFileContentAsync(path.join(this.rootDir, 'rules/50-uhk60_v2.rules')); const currentUdevSettings = await getFileContentAsync('/etc/udev/rules.d/50-uhk60.rules'); - if (isEqualArray(expectedUdevSettings, currentUdevSettings)) { + if (isEqualArray(expectedUdevSettings, currentUdevSettings) || + isEqualArray(v2UdevSettings, currentUdevSettings)) { this._udevRulesInfo = UdevRulesInfo.Ok; return UdevRulesInfo.Ok; } diff --git a/rules/50-uhk60_v2.rules b/rules/50-uhk60_v2.rules new file mode 100644 index 00000000..5f80aad0 --- /dev/null +++ b/rules/50-uhk60_v2.rules @@ -0,0 +1,6 @@ +# Ultimate Hacking Keyboard rules +# These are the udev rules for accessing the USB interfaces of the UHK as non-root users. +# Copy this file to /etc/udev/rules.d and physically reconnect the UHK afterwards. +SUBSYSTEM=="input", GROUP="input", MODE="0666" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", MODE:="0666", GROUP="plugdev" +KERNEL=="hidraw*", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", MODE="0666", GROUP="plugdev" diff --git a/scripts/release.js b/scripts/release.js index b66b6795..99f85a71 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -77,6 +77,7 @@ if (process.platform === 'darwin') { artifactName += '-${arch}.${ext}'; extraResources.push('rules/setup-rules.sh'); extraResources.push('rules/50-uhk60.rules'); + extraResources.push('rules/50-uhk60_v2.rules'); } else { console.error(`I dunno how to publish a release for ${process.platform} :(`); process.exit(1);