From dfe8276331c1170a98bed24c27048c6658cf369b Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Wed, 14 Oct 2020 17:17:51 +0100 Subject: [PATCH] Fix missing key events for some keypad keys Fixes #1325 --- internal/driver/glfw/window.go | 32 ++++++++++++++++++++++---------- key.go | 4 ++++ 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/internal/driver/glfw/window.go b/internal/driver/glfw/window.go index fecced78fb..151736e66a 100644 --- a/internal/driver/glfw/window.go +++ b/internal/driver/glfw/window.go @@ -839,16 +839,26 @@ var keyCodeMap = map[glfw.Key]fyne.KeyName{ glfw.KeyF12: fyne.KeyF12, // numbers - lookup by code to avoid AZERTY using the symbol name instead of number - glfw.Key0: fyne.Key0, - glfw.Key1: fyne.Key1, - glfw.Key2: fyne.Key2, - glfw.Key3: fyne.Key3, - glfw.Key4: fyne.Key4, - glfw.Key5: fyne.Key5, - glfw.Key6: fyne.Key6, - glfw.Key7: fyne.Key7, - glfw.Key8: fyne.Key8, - glfw.Key9: fyne.Key9, + glfw.Key0: fyne.Key0, + glfw.KeyKP0: fyne.Key0, + glfw.Key1: fyne.Key1, + glfw.KeyKP1: fyne.Key1, + glfw.Key2: fyne.Key2, + glfw.KeyKP2: fyne.Key2, + glfw.Key3: fyne.Key3, + glfw.KeyKP3: fyne.Key3, + glfw.Key4: fyne.Key4, + glfw.KeyKP4: fyne.Key4, + glfw.Key5: fyne.Key5, + glfw.KeyKP5: fyne.Key5, + glfw.Key6: fyne.Key6, + glfw.KeyKP6: fyne.Key6, + glfw.Key7: fyne.Key7, + glfw.KeyKP7: fyne.Key7, + glfw.Key8: fyne.Key8, + glfw.KeyKP8: fyne.Key8, + glfw.Key9: fyne.Key9, + glfw.KeyKP9: fyne.Key9, // desktop glfw.KeyLeftShift: desktop.KeyShiftLeft, @@ -869,9 +879,11 @@ var keyNameMap = map[string]fyne.KeyName{ "-": fyne.KeyMinus, ".": fyne.KeyPeriod, "/": fyne.KeySlash, + "*": fyne.KeyAsterisk, "`": fyne.KeyBackTick, ";": fyne.KeySemicolon, + "+": fyne.KeyPlus, "=": fyne.KeyEqual, "a": fyne.KeyA, diff --git a/key.go b/key.go index 627c477105..4d3c4b3d6b 100644 --- a/key.go +++ b/key.go @@ -161,6 +161,10 @@ const ( KeySemicolon KeyName = ";" // KeyEqual is the key "=" KeyEqual KeyName = "=" + // KeyAsterisk is the keypad key "*" + KeyAsterisk KeyName = "*" + // KeyPlus is the keypad key "+" + KeyPlus KeyName = "+" // KeyBackTick is the key "`" on a US keyboard KeyBackTick KeyName = "`" )