io/key: add ModAlt, ModSuper

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2019-11-08 18:21:43 +01:00
parent c4416ffbc4
commit c833c98fd7
6 changed files with 45 additions and 1 deletions
+9
View File
@@ -94,6 +94,9 @@ const (
_USER_TIMER_MINIMUM = 0x0000000A
_VK_CONTROL = 0x11
_VK_LWIN = 0x5B
_VK_MENU = 0x12
_VK_RWIN = 0x5C
_VK_SHIFT = 0x10
_VK_BACK = 0x08
@@ -280,6 +283,12 @@ func windowProc(hwnd syscall.Handle, msg uint32, wParam, lParam uintptr) uintptr
case _WM_KEYDOWN, _WM_SYSKEYDOWN:
if n, ok := convertKeyCode(wParam); ok {
cmd := key.Event{Name: n}
if getKeyState(_VK_LWIN)&0x1000 != 0 || getKeyState(_VK_RWIN)&0x1000 != 0 {
cmd.Modifiers |= key.ModSuper
}
if getKeyState(_VK_MENU)&0x1000 != 0 {
cmd.Modifiers |= key.ModAlt
}
if getKeyState(_VK_CONTROL)&0x1000 != 0 {
cmd.Modifiers |= key.ModCtrl
}