From 7464948f1cb77731206a0808fe81f0f92f68a4a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Farkas=20J=C3=B3zsef?= Date: Sat, 17 Sep 2016 17:14:55 +0200 Subject: [PATCH] Fix MouseButtonMacroAction serialization --- .../config-items/macro-action/MacroActions.ts | 25 +++++++++++-------- .../macro-action/MouseButtonMacroAction.ts | 5 ++-- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/config-serializer/config-items/macro-action/MacroActions.ts b/src/config-serializer/config-items/macro-action/MacroActions.ts index 7348b4c8..91c52f8a 100644 --- a/src/config-serializer/config-items/macro-action/MacroActions.ts +++ b/src/config-serializer/config-items/macro-action/MacroActions.ts @@ -1,12 +1,12 @@ -import {ClassArray} from '../../ClassArray'; -import {UhkBuffer} from '../../UhkBuffer'; -import {DelayMacroAction} from './DelayMacroAction'; -import {KeyMacroAction} from './KeyMacroAction'; -import {MacroAction, MacroActionId, macroActionType} from './MacroAction'; -import {MouseButtonMacroAction} from './MouseButtonMacroAction'; -import {MoveMouseMacroAction} from './MoveMouseMacroAction'; -import {ScrollMouseMacroAction} from './ScrollMouseMacroAction'; -import {TextMacroAction} from './TextMacroAction'; +import { ClassArray } from '../../ClassArray'; +import { UhkBuffer } from '../../UhkBuffer'; +import { DelayMacroAction } from './DelayMacroAction'; +import { KeyMacroAction } from './KeyMacroAction'; +import { MacroAction, MacroActionId, macroActionType } from './MacroAction'; +import { MouseButtonMacroAction } from './MouseButtonMacroAction'; +import { MoveMouseMacroAction } from './MoveMouseMacroAction'; +import { ScrollMouseMacroAction } from './ScrollMouseMacroAction'; +import { TextMacroAction } from './TextMacroAction'; export class MacroActions extends ClassArray { @@ -40,10 +40,13 @@ export class MacroActions extends ClassArray { if (macroActionFirstByte >= MacroActionId.KeyMacroAction && macroActionFirstByte <= MacroActionId.LastKeyMacroAction) { return new KeyMacroAction().fromBinary(buffer); + } else if ( + macroActionFirstByte >= MacroActionId.MouseButtonMacroAction && + macroActionFirstByte <= MacroActionId.LastMouseButtonMacroAction + ) { + return new MouseButtonMacroAction().fromBinary(buffer); } switch (macroActionFirstByte) { - case MacroActionId.MouseButtonMacroAction: - return new MouseButtonMacroAction().fromBinary(buffer); case MacroActionId.MoveMouseMacroAction: return new MoveMouseMacroAction().fromBinary(buffer); case MacroActionId.ScrollMouseMacroAction: diff --git a/src/config-serializer/config-items/macro-action/MouseButtonMacroAction.ts b/src/config-serializer/config-items/macro-action/MouseButtonMacroAction.ts index ad7903cd..d7acabe4 100644 --- a/src/config-serializer/config-items/macro-action/MouseButtonMacroAction.ts +++ b/src/config-serializer/config-items/macro-action/MouseButtonMacroAction.ts @@ -29,7 +29,8 @@ export class MouseButtonMacroAction extends MacroAction { } _fromBinary(buffer: UhkBuffer): MouseButtonMacroAction { - this.readAndAssertMacroActionId(buffer); + let macroActionId: MacroActionId = this.readAndAssertMacroActionId(buffer); + this.action = macroActionId - MacroActionId.MouseButtonMacroAction; this.mouseButtonsMask = buffer.readUInt8(); return this; } @@ -43,7 +44,7 @@ export class MouseButtonMacroAction extends MacroAction { } _toBinary(buffer: UhkBuffer): void { - buffer.writeUInt8(MacroActionId.MouseButtonMacroAction); + buffer.writeUInt8(MacroActionId.MouseButtonMacroAction + this.action); buffer.writeUInt8(this.mouseButtonsMask); }