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
path: root/intern
diff options
context:
space:
mode:
authorGermano Cavalcante <germano.costa@ig.com.br>2020-03-26 15:22:37 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2020-03-26 15:22:47 +0300
commit1b1c683f747932afbdf939a27fd0da97ac5210ab (patch)
tree9a7d725ed3f88810d7cc8107b393518f716540d6 /intern
parent622e1591dac77d42d07ae65e7436b4e0a1e627fe (diff)
Fix missing text input on Windows with certain keyboard layouts
Events for keys specific to certain keyboard layouts unknown to Blender were ignored. Now pass them along as unknown key events for which we can still handle text input, like we already do for Linux and macOS. Differential Revision: https://developer.blender.org/D7229
Diffstat (limited to 'intern')
-rw-r--r--intern/ghost/intern/GHOST_SystemWin32.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp
index 26d3aea403c..e31186bd6a5 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.cpp
+++ b/intern/ghost/intern/GHOST_SystemWin32.cpp
@@ -1044,7 +1044,10 @@ GHOST_EventKey *GHOST_SystemWin32::processKeyEvent(GHOST_WindowWin32 *window, RA
GHOST_TKey key = system->hardKey(raw, &keyDown, &vk);
GHOST_EventKey *event;
- if (key != GHOST_kKeyUnknown) {
+ /* We used to check `if (key != GHOST_kKeyUnknown)`, but since the message
+ * values `WM_SYSKEYUP`, `WM_KEYUP` and `WM_CHAR` are ignored, we capture
+ * those events here as well. */
+ {
char utf8_char[6] = {0};
char ascii = 0;
bool is_repeat = false;
@@ -1102,9 +1105,6 @@ GHOST_EventKey *GHOST_SystemWin32::processKeyEvent(GHOST_WindowWin32 *window, RA
// GHOST_PRINTF("%c\n", ascii); // we already get this info via EventPrinter
}
- else {
- event = NULL;
- }
return event;
}