Let's not duplicate part of the KeyActionId enum as LongPressActionId because duplication should only cause troubles down the road.

This commit is contained in:
László Monda
2016-03-30 12:59:03 +02:00
parent 5bd6c0a8a0
commit 4bd1c8b3e9
2 changed files with 24 additions and 37 deletions

View File

@@ -1,23 +1,9 @@
enum LongPressActionId {
leftCtrl = 236, // KeyActionId.DualRoleActionLeftCtrl
leftShift,
leftAlt,
leftSuper,
rightCtrl,
rightShift,
rightAlt,
rightSuper,
mod,
fn,
mouse,
}
class DualRoleKeystrokeAction extends KeyAction implements Serializable<DualRoleKeystrokeAction> {
static keyActionTypeString = 'dualRoleKeystroke';
public scancode;
private _longPressAction: LongPressActionId;
private _longPressAction: KeyActionId;
get longPressAction(): number {
return this._longPressAction;
@@ -30,8 +16,9 @@ class DualRoleKeystrokeAction extends KeyAction implements Serializable<DualRole
this._longPressAction = value;
}
static isDualRoleKeystrokeActionValid(keyActionId): boolean {
return LongPressActionId[keyActionId] !== undefined;
static isDualRoleKeystrokeActionValid(keyActionIdParam): boolean {
return KeyActionId.DualRoleActionLeftCtrlLongPressAction <= keyActionIdParam &&
keyActionIdParam <= KeyActionId.DualRoleActionMouseLongPressAction;
}
fromJsObject(jsObject: any): DualRoleKeystrokeAction {
@@ -49,7 +36,7 @@ class DualRoleKeystrokeAction extends KeyAction implements Serializable<DualRole
toJsObject(): any {
return {
keyActionType: DualRoleKeystrokeAction.keyActionTypeString,
longPressAction: LongPressActionId[this.longPressAction],
longPressAction: KeyActionId[this.longPressAction],
scancode: this.scancode
};
}

View File

@@ -2,25 +2,25 @@
// Id denotes the subclass of the KeyAction and param is subclass-specific.
enum KeyActionId {
NoneAction = 0,
KeyStrokeActionFirst = TypeChecker.firstValidScancode, // 1
// Intermediary scancodes = 2 to 230
KeyStrokeActionLast = TypeChecker.lastValidScancode, // 231
SwitchLayerAction = 232,
SwitchKeymapAction = 233,
MouseAction = 234,
PlayMacroAction = 235,
DualRoleActionLeftCtrl = 236,
DualRoleActionLeftShift = 237,
DualRoleActionLeftAlt = 238,
DualRoleActionLeftSuper = 239,
DualRoleActionRightCtrl = 240,
DualRoleActionRightShift = 241,
DualRoleActionRightAlt = 242,
DualRoleActionRightSuper = 243,
DualRoleActionMod = 244,
DualRoleActionFn = 245,
DualRoleActionMouse = 246
NoneAction = 0,
KeyStrokeActionFirst = TypeChecker.firstValidScancode, // 1
// Intermediary scancodes = 2 to 230
KeyStrokeActionLast = TypeChecker.lastValidScancode, // 231
SwitchLayerAction = 232,
SwitchKeymapAction = 233,
MouseAction = 234,
PlayMacroAction = 235,
DualRoleActionLeftCtrlLongPressAction = 236,
DualRoleActionLeftShiftLongPressAction = 237,
DualRoleActionLeftAltLongPressAction = 238,
DualRoleActionLeftSuperLongPressAction = 239,
DualRoleActionRightCtrlLongPressAction = 240,
DualRoleActionRightShiftLongPressAction = 241,
DualRoleActionRightAltLongPressAction = 242,
DualRoleActionRightSuperLongPressAction = 243,
DualRoleActionModLongPressAction = 244,
DualRoleActionFnLongPressAction = 245,
DualRoleActionMouseLongPressAction = 246
// Let's leave space for further layers - additional actions should descend from 255
}