From 483053a9912d5e1ab57dc627b6e1d292f2c1c995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Thu, 24 Mar 2016 20:56:27 +0100 Subject: [PATCH] Add Serializable.ts and KeystrokeAction.ts --- model/KeystrokeAction.ts | 26 ++++++++++++++++++++++++++ model/Serializable.ts | 8 ++++++++ model/serializeConfig.ts | 2 ++ 3 files changed, 36 insertions(+) create mode 100644 model/KeystrokeAction.ts create mode 100644 model/Serializable.ts diff --git a/model/KeystrokeAction.ts b/model/KeystrokeAction.ts new file mode 100644 index 00000000..35c26787 --- /dev/null +++ b/model/KeystrokeAction.ts @@ -0,0 +1,26 @@ +/// + +class KeystrokeAction implements Serializable { + scancode: number; + modifierMask: number; + + fromJsObject(jsObject: any) { + this.scancode = jsObject.scancode; + this.modifierMask = jsObject.modifierMask; + } + + toJsObject(): any { + return { + scancode: this.scancode, + modifierMask: this.modifierMask + }; + } + + fromBinary(buffer: UhkBuffer) { + } + + toBinary(buffer: UhkBuffer) { + buffer.uint8(this.scancode); + buffer.uint8(this.modifierMask); + } +} diff --git a/model/Serializable.ts b/model/Serializable.ts new file mode 100644 index 00000000..deb2102c --- /dev/null +++ b/model/Serializable.ts @@ -0,0 +1,8 @@ +/// + +interface Serializable { + fromJsObject(jsObject: any); + toJsObject(): any; + fromBinary(buffer: UhkBuffer); + toBinary(buffer: UhkBuffer); +} diff --git a/model/serializeConfig.ts b/model/serializeConfig.ts index 50f13939..69731df6 100644 --- a/model/serializeConfig.ts +++ b/model/serializeConfig.ts @@ -1,4 +1,5 @@ /// +/// var fs = require('fs'); var buffer = new Buffer(1000); @@ -150,5 +151,6 @@ function serializeSwitchLayerAction(switchLayerAction) { }[switchLayerAction] | switchLayerAction.toggle ? SWITCH_LAYER_TOGGLE : 0); } +new KeystrokeAction(); serializeKeyActions(keyActions); fs.writeFileSync('uhk-config.bin', buffer);