From 1b75c067f4c77342935033641f1e357b73702dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Tue, 29 Mar 2016 22:56:51 +0200 Subject: [PATCH] Add PlayMacroAction. --- .../config-items/KeystrokeAction.ts | 2 +- config-serializer/config-items/MouseAction.ts | 2 +- .../config-items/PlayMacroAction.ts | 44 +++++++++++++++++++ .../config-items/config-items.ts | 1 + config-serializer/serializeConfig.ts | 9 ---- 5 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 config-serializer/config-items/PlayMacroAction.ts diff --git a/config-serializer/config-items/KeystrokeAction.ts b/config-serializer/config-items/KeystrokeAction.ts index 4241d2f3..d2e19aea 100644 --- a/config-serializer/config-items/KeystrokeAction.ts +++ b/config-serializer/config-items/KeystrokeAction.ts @@ -4,7 +4,7 @@ class KeystrokeAction extends KeyAction implements Serializable static firstValidScancode = 1; static lastValidScancode = 231; - _scancode: number; + private _scancode: number; modifierMask: number; get scancode(): number { diff --git a/config-serializer/config-items/MouseAction.ts b/config-serializer/config-items/MouseAction.ts index 81594ef1..982f64aa 100644 --- a/config-serializer/config-items/MouseAction.ts +++ b/config-serializer/config-items/MouseAction.ts @@ -18,7 +18,7 @@ class MouseAction extends KeyAction implements Serializable { static keyActionTypeString = 'mouse'; static keyActionId = 244; - _mouseAction: MouseActionParam; + private _mouseAction: MouseActionParam; get mouseAction(): number { return this._mouseAction; diff --git a/config-serializer/config-items/PlayMacroAction.ts b/config-serializer/config-items/PlayMacroAction.ts new file mode 100644 index 00000000..1b1b6dc3 --- /dev/null +++ b/config-serializer/config-items/PlayMacroAction.ts @@ -0,0 +1,44 @@ +class PlayMacroAction extends KeyAction implements Serializable { + + static keyActionTypeString = 'playMacro'; + static keyActionId = 245; + + private _macroId: number; + + get macroId(): number { + return this._macroId; + } + + set macroId(value) { + if (!PlayMacroAction.isScancodeValid(value)) { + throw 'Invalid PlayMacroAction.macroId: ${value}'; + } + this._macroId = value; + } + + static isScancodeValid(scancode) { + return 0 <= scancode && scancode <= 255; + } + + fromJsObject(jsObject: any): PlayMacroAction { + this.macroId = jsObject.macroId; + return this; + } + + fromBinary(buffer: UhkBuffer): PlayMacroAction { + this.macroId = buffer.readUInt8(); + return this; + } + + toJsObject(): any { + return { + keyActionType: PlayMacroAction.keyActionTypeString, + macroId: this.macroId + }; + } + + toBinary(buffer: UhkBuffer) { + buffer.writeUInt8(PlayMacroAction.keyActionId); + buffer.writeUInt8(this.macroId); + } +} diff --git a/config-serializer/config-items/config-items.ts b/config-serializer/config-items/config-items.ts index e090425c..4b5ecc4c 100644 --- a/config-serializer/config-items/config-items.ts +++ b/config-serializer/config-items/config-items.ts @@ -1,4 +1,5 @@ /// /// /// +/// /// diff --git a/config-serializer/serializeConfig.ts b/config-serializer/serializeConfig.ts index bd42a2db..67b87dc6 100644 --- a/config-serializer/serializeConfig.ts +++ b/config-serializer/serializeConfig.ts @@ -22,7 +22,6 @@ let KEY_ACTION_ID_DUAL_ROLE_KEYSTROKE_RIGHT_CTRL = 240; let KEY_ACTION_ID_DUAL_ROLE_KEYSTROKE_RIGHT_SHIFT = 241; let KEY_ACTION_ID_DUAL_ROLE_KEYSTROKE_RIGHT_ALT = 242; let KEY_ACTION_ID_DUAL_ROLE_KEYSTROKE_RIGHT_SUPER = 243; -let KEY_ACTION_ID_PLAY_MACRO = 245; let KEY_ACTION_ID_SWITCH_KEYMAP = 246; let KEY_ACTION_ID_NONE = 255; @@ -46,9 +45,6 @@ function serializeKeyAction(keyAction) { case 'dualRoleKeystroke': serializeDualRoleKeyAction(keyAction); break; - case 'playMacro': - serializeMacroAction(keyAction); - break; case 'switchKeymap': serializeSwitchKeymapAction(keyAction); break; @@ -77,11 +73,6 @@ function serializeDualRoleKeyAction(dualRoleKeyAction) { writer.writeUInt8(dualRoleKeyAction.scancode); } -function serializeMacroAction(macroAction) { - writer.writeUInt8(KEY_ACTION_ID_PLAY_MACRO); - writer.writeUInt8(macroAction.macroId); -} - function serializeSwitchKeymapAction(switchKeymapAction) { writer.writeUInt8(KEY_ACTION_ID_SWITCH_KEYMAP); writer.writeUInt8(switchKeymapAction.keymapId);