* add @angular/cli to the project * increase nodejs version -> 8.2.1 * add lerna * merge web and shared module * move electron module into packages as uhk-agent Electron agent functionality is not working * delete symlinker * convert private properties to public of component if used in html * revert uhk-message.component * fix component path * fix the correct name of the uhk-message.component.scss * building web and electron module * delete uhk-renderer package * handle device connect disconnect state * add privilege detection * fix set privilege functionality * turn back download keymap functionality * add bootstrap, select2 js and fix null pointer exception * turn back upload data to keyboard * fix send keymap * fix test-serializer * add missing package.json * merging * fix appveyor build * fix linting * turn back electron storage service * commit the missing electron-datastorage-repository * update node to 8.3.0 in .nvmrc and log node version in appveyor build * set exact version number in appveyor build * vertical align privilege and missing device components * set back node version to 8 in appveyor * move node-usb dependency from usb dir to root maybe it is fix the appveyor build * revert usb to root * fix electron builder script * fix electron builder script * turn off electron devtools * remove CTRL+U functionality * fix CTRL+o * fix lint error * turnoff store freeze * start process when got `Error: EPERM: operation not permitted` error * move files from root usb dir -> packages/usb
37 lines
1.0 KiB
JavaScript
Executable File
37 lines
1.0 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
let uhk = require('./uhk');
|
|
|
|
let programName = process.argv[1];
|
|
|
|
if (process.argv.length !== 6) {
|
|
console.log(`Usage: ${programName} [display 0-255] [left keys 0-255] [unused 0-255] [right keys 0-255]`);
|
|
process.exit(1);
|
|
}
|
|
|
|
let pwmOffset = 0;
|
|
let ledDriverAddresses = [uhk.leftLedDriverAddress, uhk.rightLedDriverAddress];
|
|
let ledDriverAddress;
|
|
const FRAME_REGISTER_PWM_FIRST = 0x24;
|
|
|
|
uhk.sendUsbPacketsByCallback(() => {
|
|
if (pwmOffset === 0) {
|
|
ledDriverAddress = ledDriverAddresses.shift();
|
|
}
|
|
if (!ledDriverAddress) {
|
|
return;
|
|
}
|
|
|
|
let isMatrixA = pwmOffset % 16;
|
|
let argIndex = 2 + (ledDriverAddress == uhk.leftLedDriverAddress ? 0 : 2) + (isMatrixA ? 0 : 1);
|
|
let val = +process.argv[argIndex];
|
|
let buffer = new Buffer([uhk.usbCommands.writeLedDriver, ledDriverAddress,
|
|
9, FRAME_REGISTER_PWM_FIRST+pwmOffset, val, val, val, val, val, val, val, val]);
|
|
pwmOffset += 8;
|
|
|
|
if (pwmOffset >= 144) {
|
|
pwmOffset = 0;
|
|
}
|
|
|
|
return buffer;
|
|
});
|