diff --git a/C#/AutoHotInterception/Helpers/ScanCodeHelper.cs b/C#/AutoHotInterception/Helpers/ScanCodeHelper.cs index 6ffd794..45803e4 100644 --- a/C#/AutoHotInterception/Helpers/ScanCodeHelper.cs +++ b/C#/AutoHotInterception/Helpers/ScanCodeHelper.cs @@ -124,8 +124,10 @@ namespace AutoHotInterception.Helpers var strokes = new List(); Order order; ushort state = (ushort)(1 - ahkState); + var wasHighCode = false; if (code > 256) { + wasHighCode = true; code -= 256; if (_highCodeE0Keys.Contains(code) || _e1Keys.Contains(code)) { @@ -149,7 +151,7 @@ namespace AutoHotInterception.Helpers order = Order.Normal; } - if (_e1Keys.Contains(code)) + if (wasHighCode && _e1Keys.Contains(code)) { state += 2; } diff --git a/C#/UnitTests/TranslateAhkCodeTests.cs b/C#/UnitTests/TranslateAhkCodeTests.cs index c7ba27f..5ad7604 100644 --- a/C#/UnitTests/TranslateAhkCodeTests.cs +++ b/C#/UnitTests/TranslateAhkCodeTests.cs @@ -45,6 +45,7 @@ namespace UnitTests { yield return new TestCaseData("One", 2, Result(2, 0), Result(2, 1)); yield return new TestCaseData("Scroll Lock", 70, Result(70, 0), Result(70, 1)); + yield return new TestCaseData("Div", 53, Result(53, 0), Result(53, 1)); yield return new TestCaseData("Numpad Enter", 284, Result(28, 0), Result(28, 1)); yield return new TestCaseData("Right Control", 285, Result(29, 2), Result(29, 3));