Akihiro Sagawa : winex11: Add Japanese special key support.

Alexandre Julliard julliard at winehq.org
Tue Nov 1 14:58:49 CDT 2016


Module: wine
Branch: master
Commit: 08b531ed0d317d0ba5d285ea66b0eec32afa1355
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=08b531ed0d317d0ba5d285ea66b0eec32afa1355

Author: Akihiro Sagawa <sagawa.aki at gmail.com>
Date:   Tue Nov  1 21:33:15 2016 +0900

winex11: Add Japanese special key support.

Signed-off-by: Akihiro Sagawa <sagawa.aki at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winex11.drv/keyboard.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index e9c7b7f..37e51b2 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -46,6 +46,7 @@
 #include "winuser.h"
 #include "winreg.h"
 #include "winnls.h"
+#include "ime.h"
 #include "x11drv.h"
 #include "wine/server.h"
 #include "wine/unicode.h"
@@ -980,11 +981,14 @@ static const WORD nonchar_key_vkey[256] =
     VK_BACK, VK_TAB, 0, VK_CLEAR, 0, VK_RETURN, 0, 0,           /* FF08 */
     0, 0, 0, VK_PAUSE, VK_SCROLL, 0, 0, 0,                      /* FF10 */
     0, 0, 0, VK_ESCAPE, 0, 0, 0, 0,                             /* FF18 */
-    /* unused */
-    0, 0, 0, 0, 0, 0, 0, 0,                                     /* FF20 */
-    0, 0, 0, 0, 0, 0, 0, 0,                                     /* FF28 */
-    0, VK_HANGUL, 0, 0, VK_HANJA, 0, 0, 0,                      /* FF30 */
+    /* Japanese special keys */
+    0, VK_KANJI, VK_NONCONVERT, VK_CONVERT,                     /* FF20 */
+    VK_DBE_ROMAN, 0, 0, VK_DBE_HIRAGANA,
+    0, 0, VK_DBE_SBCSCHAR, 0, 0, 0, 0, 0,                       /* FF28 */
+    /* Korean special keys (FF31-) */
+    VK_DBE_ALPHANUMERIC, VK_HANGUL, 0, 0, VK_HANJA, 0, 0, 0,    /* FF30 */
     0, 0, 0, 0, 0, 0, 0, 0,                                     /* FF38 */
+    /* unused */
     0, 0, 0, 0, 0, 0, 0, 0,                                     /* FF40 */
     0, 0, 0, 0, 0, 0, 0, 0,                                     /* FF48 */
     /* cursor keys */
@@ -1034,11 +1038,13 @@ static const WORD nonchar_key_scan[256] =
     0x0E, 0x0F, 0x00, /*?*/ 0, 0x00, 0x1C, 0x00, 0x00,           /* FF08 */
     0x00, 0x00, 0x00, 0x45, 0x46, 0x00, 0x00, 0x00,              /* FF10 */
     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,              /* FF18 */
-    /* unused */
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FF20 */
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FF28 */
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FF30 */
+    /* Japanese special keys */
+    0x00, 0x29, 0x7B, 0x79, 0x70, 0x00, 0x00, 0x70,              /* FF20 */
+    0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FF28 */
+    /* Korean special keys (FF31-) */
+    0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FF30 */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FF38 */
+    /* unused */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FF40 */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FF48 */
     /* cursor keys */




More information about the wine-cvs mailing list