io/key: add support for the Tab and Space keys

Fixes gio#62

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2019-11-09 11:17:36 +01:00
parent da42412e56
commit de7d6b28fa
6 changed files with 23 additions and 0 deletions
+4
View File
@@ -419,6 +419,10 @@ func translateKey(k string) (string, bool) {
n = key.NamePageUp
case "PageDown":
n = key.NamePageDown
case "Tab":
n = key.NameTab
case " ":
n = "Space"
case "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12":
n = k
default:
+4
View File
@@ -346,6 +346,10 @@ func convertKey(k rune) (string, bool) {
n = "F11"
case C.NSF12FunctionKey:
n = "F12"
case 0x09:
n = key.NameTab
case 0x20:
n = "Space"
default:
return "", false
}
+6
View File
@@ -110,6 +110,8 @@ const (
_VK_PRIOR = 0x21
_VK_RIGHT = 0x27
_VK_RETURN = 0x0d
_VK_SPACE = 0x20
_VK_TAB = 0x09
_VK_UP = 0x26
_VK_F1 = 0x70
@@ -524,6 +526,10 @@ func convertKeyCode(code uintptr) (string, bool) {
r = "F11"
case _VK_F12:
r = "F12"
case _VK_TAB:
r = key.NameTab
case _VK_SPACE:
r = "Space"
default:
return "", false
}
+4
View File
@@ -402,6 +402,10 @@ func x11SpecialKeySymToRune(s C.KeySym) (string, bool) {
n = "F11"
case C.XK_F12:
n = "F12"
case C.XK_Tab:
n = key.NameTab
case 0x20, C.XK_KP_Space:
n = "Space"
default:
return "", false
}
+4
View File
@@ -249,6 +249,10 @@ func convertKeysym(s C.xkb_keysym_t) (string, bool) {
n = "F11"
case C.XKB_KEY_F12:
n = "F12"
case C.XKB_KEY_Tab, C.XKB_KEY_KP_Tab:
n = key.NameTab
case 0x20, C.XKB_KEY_KP_Space:
n = "Space"
default:
return "", false
}