Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--intern/ghost/intern/GHOST_SystemX11.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp
index 9a2dcfc9687..30cfac08153 100644
--- a/intern/ghost/intern/GHOST_SystemX11.cpp
+++ b/intern/ghost/intern/GHOST_SystemX11.cpp
@@ -902,7 +902,8 @@ GHOST_SystemX11::processEvent(XEvent *xe)
ascii = '\0';
}
- /* Only allow a very limited set of keys from XLookupKeysym, all others we take from XLookupString... */
+ /* Only allow a limited set of keys from XLookupKeysym, all others we take from XLookupString,
+ * unless it gives unknown key... */
gkey = convertXKey(key_sym);
switch (gkey) {
case GHOST_kKeyRightAlt:
@@ -922,9 +923,28 @@ GHOST_SystemX11::processEvent(XEvent *xe)
case GHOST_kKey7:
case GHOST_kKey8:
case GHOST_kKey9:
+ case GHOST_kKeyNumpad0:
+ case GHOST_kKeyNumpad1:
+ case GHOST_kKeyNumpad2:
+ case GHOST_kKeyNumpad3:
+ case GHOST_kKeyNumpad4:
+ case GHOST_kKeyNumpad5:
+ case GHOST_kKeyNumpad6:
+ case GHOST_kKeyNumpad7:
+ case GHOST_kKeyNumpad8:
+ case GHOST_kKeyNumpad9:
+ case GHOST_kKeyNumpadPeriod:
+ case GHOST_kKeyNumpadEnter:
+ case GHOST_kKeyNumpadPlus:
+ case GHOST_kKeyNumpadMinus:
+ case GHOST_kKeyNumpadAsterisk:
+ case GHOST_kKeyNumpadSlash:
break;
default:
- gkey = convertXKey(key_sym_str);
+ GHOST_TKey gkey_str = convertXKey(key_sym_str);
+ if (gkey_str != GHOST_kKeyUnknown) {
+ gkey = gkey_str;
+ }
}
#else
/* In keyboards like latin ones,