Add PlayMacroAction.

This commit is contained in:
László Monda
2016-03-29 22:56:51 +02:00
parent 5f6727b53a
commit 1b75c067f4
5 changed files with 47 additions and 11 deletions
@@ -4,7 +4,7 @@ class KeystrokeAction extends KeyAction implements Serializable<KeystrokeAction>
static firstValidScancode = 1; static firstValidScancode = 1;
static lastValidScancode = 231; static lastValidScancode = 231;
_scancode: number; private _scancode: number;
modifierMask: number; modifierMask: number;
get scancode(): number { get scancode(): number {
@@ -18,7 +18,7 @@ class MouseAction extends KeyAction implements Serializable<MouseAction> {
static keyActionTypeString = 'mouse'; static keyActionTypeString = 'mouse';
static keyActionId = 244; static keyActionId = 244;
_mouseAction: MouseActionParam; private _mouseAction: MouseActionParam;
get mouseAction(): number { get mouseAction(): number {
return this._mouseAction; return this._mouseAction;
@@ -0,0 +1,44 @@
class PlayMacroAction extends KeyAction implements Serializable<PlayMacroAction> {
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);
}
}
@@ -1,4 +1,5 @@
/// <reference path="KeyAction.ts" /> /// <reference path="KeyAction.ts" />
/// <reference path="KeystrokeAction.ts" /> /// <reference path="KeystrokeAction.ts" />
/// <reference path="MouseAction.ts" /> /// <reference path="MouseAction.ts" />
/// <reference path="PlayMacroAction.ts" />
/// <reference path="NoneAction.ts" /> /// <reference path="NoneAction.ts" />
-9
View File
@@ -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_SHIFT = 241;
let KEY_ACTION_ID_DUAL_ROLE_KEYSTROKE_RIGHT_ALT = 242; let KEY_ACTION_ID_DUAL_ROLE_KEYSTROKE_RIGHT_ALT = 242;
let KEY_ACTION_ID_DUAL_ROLE_KEYSTROKE_RIGHT_SUPER = 243; 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_SWITCH_KEYMAP = 246;
let KEY_ACTION_ID_NONE = 255; let KEY_ACTION_ID_NONE = 255;
@@ -46,9 +45,6 @@ function serializeKeyAction(keyAction) {
case 'dualRoleKeystroke': case 'dualRoleKeystroke':
serializeDualRoleKeyAction(keyAction); serializeDualRoleKeyAction(keyAction);
break; break;
case 'playMacro':
serializeMacroAction(keyAction);
break;
case 'switchKeymap': case 'switchKeymap':
serializeSwitchKeymapAction(keyAction); serializeSwitchKeymapAction(keyAction);
break; break;
@@ -77,11 +73,6 @@ function serializeDualRoleKeyAction(dualRoleKeyAction) {
writer.writeUInt8(dualRoleKeyAction.scancode); writer.writeUInt8(dualRoleKeyAction.scancode);
} }
function serializeMacroAction(macroAction) {
writer.writeUInt8(KEY_ACTION_ID_PLAY_MACRO);
writer.writeUInt8(macroAction.macroId);
}
function serializeSwitchKeymapAction(switchKeymapAction) { function serializeSwitchKeymapAction(switchKeymapAction) {
writer.writeUInt8(KEY_ACTION_ID_SWITCH_KEYMAP); writer.writeUInt8(KEY_ACTION_ID_SWITCH_KEYMAP);
writer.writeUInt8(switchKeymapAction.keymapId); writer.writeUInt8(switchKeymapAction.keymapId);