From 815f75d153c8b4cfacb6a8f65ff1827a42fbafa7 Mon Sep 17 00:00:00 2001
From: Boris Fritscher <boris@fritscher.ch>
Date: Fri, 14 Jul 2017 23:57:30 +0200
Subject: [PATCH] Register alt key without another key

---
 src/Carnac.Logic/KeyMonitor/InterceptKeys.cs | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/Carnac.Logic/KeyMonitor/InterceptKeys.cs b/src/Carnac.Logic/KeyMonitor/InterceptKeys.cs
index 6a621938..322c067b 100644
--- a/src/Carnac.Logic/KeyMonitor/InterceptKeys.cs
+++ b/src/Carnac.Logic/KeyMonitor/InterceptKeys.cs
@@ -62,6 +62,7 @@ static InterceptKeyEventArgs CreateEventArgs(IntPtr wParam, IntPtr lParam)
             bool keyUp = wParam == (IntPtr)Win32Methods.WM_KEYUP;
             int vkCode = Marshal.ReadInt32(lParam);
             var key = (Keys)vkCode;
+
             //http://msdn.microsoft.com/en-us/library/windows/desktop/ms646286(v=vs.85).aspx
             if (key != Keys.RMenu && key != Keys.LMenu && wParam == (IntPtr)Win32Methods.WM_SYSKEYDOWN)
             {
@@ -73,6 +74,10 @@ static InterceptKeyEventArgs CreateEventArgs(IntPtr wParam, IntPtr lParam)
                 alt = true;
                 keyUp = true;
             }
+            if (wParam == (IntPtr)Win32Methods.WM_SYSKEYDOWN && key == Keys.LMenu)
+            {
+                keyDown = true;
+            }
 
             return new InterceptKeyEventArgs(
                 key,