Extract uhk.switchKeymap()

This commit is contained in:
László Monda
2018-03-30 18:59:50 +02:00
parent 7656af76e4
commit 0b420ff516
2 changed files with 12 additions and 6 deletions

View File

@@ -1,9 +1,8 @@
#!/usr/bin/env node
const uhk = require('./uhk');
const device = uhk.getUhkDevice();
const sendData = Buffer.concat([new Buffer([uhk.usbCommands.switchKeymap, 3]), new Buffer('TES')]);
console.log(sendData)
device.write(uhk.getTransferData(sendData));
const response = Buffer.from(device.readSync());
console.log(response);
(async function() {
const device = uhk.getUhkDevice();
const sendData = await uhk.switchKeymap(device, 'TES');
console.log(sendData)
})();

View File

@@ -206,6 +206,12 @@ async function jumpToModuleBootloader(device, moduleSlotId) {
await uhk.writeDevice(device, [uhk.usbCommands.jumpToModuleBootloader, moduleSlotId]);
};
async function switchKeymap(device, keymapAbbreviation) {
const keymapAbbreviationAscii = keymapAbbreviation.split('').map(char => char.charCodeAt(0));
const payload = [uhk.usbCommands.switchKeymap, keymapAbbreviation.length, ...keymapAbbreviationAscii];
return await uhk.writeDevice(device, payload);
}
async function waitForKbootIdle(device) {
const intervalMs = 100;
const pingMessageInterval = 500;
@@ -279,6 +285,7 @@ uhk = exports = module.exports = moduleExports = {
reenumerate,
sendKbootCommandToModule,
jumpToModuleBootloader,
switchKeymap,
waitForKbootIdle,
updateModuleFirmware,
usbCommands: {