Aric Stewart : winex11: Add Japanese Mac keyboard layout as many of the vkey code are quite different .

Alexandre Julliard julliard at winehq.org
Wed Jul 23 07:10:09 CDT 2008


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

Author: Aric Stewart <aric at codeweavers.com>
Date:   Wed Jul 23 18:10:46 2008 +0900

winex11: Add Japanese Mac keyboard layout as many of the vkey code are quite different.

---

 dlls/winex11.drv/keyboard.c |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index 5a69733..bf399c9 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -126,6 +126,19 @@ static const WORD main_key_scan_qwerty_jp106[MAIN_LEN] =
    0x56 /* the 102nd key (actually to the right of l-shift) */
 };
 
+static const WORD main_key_scan_qwerty_macjp[MAIN_LEN] =
+{
+ /* 1    2    3    4    5    6    7    8    9    0    -    ^    \ */
+   0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x7d,
+ /* q    w    e    r    t    y    u    i    o    p    @    [ */
+   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,
+ /* a    s    d    f    g    h    j    k    l    ;    :    ] */
+   0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x2B,
+ /* z    x    c    v    b    n    m    ,    .    / */
+   0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35,
+   0x73 /* the 102nd key (actually to the right of l-shift) */
+};
+
 
 static const WORD main_key_vkey_qwerty[MAIN_LEN] =
 {
@@ -147,6 +160,16 @@ static const WORD main_key_vkey_qwerty_jp106[MAIN_LEN] =
    VK_OEM_102 /* the 102nd key (actually to the right of l-shift) */
 };
 
+static const WORD main_key_vkey_qwerty_macjp[MAIN_LEN] =
+{
+/* NOTE: this layout must concur with the scan codes layout above */
+   '1','2','3','4','5','6','7','8','9','0',VK_OEM_MINUS,VK_OEM_7,VK_OEM_5,
+   'Q','W','E','R','T','Y','U','I','O','P',VK_OEM_3,VK_OEM_4,
+   'A','S','D','F','G','H','J','K','L',VK_OEM_PLUS,VK_OEM_1,VK_OEM_6,
+   'Z','X','C','V','B','N','M',VK_OEM_COMMA,VK_OEM_PERIOD,VK_OEM_2,
+   VK_OEM_102 /* the 102nd key (actually to the right of l-shift) */
+};
+
 static const WORD main_key_vkey_qwerty_v2[MAIN_LEN] =
 {
 /* NOTE: this layout must concur with the scan codes layout above */
@@ -648,6 +671,15 @@ static const char main_key_JA_jp106[MAIN_LEN][4] =
  "\\_",
 };
 
+static const char main_key_JA_macjp[MAIN_LEN][4] =
+{
+ "1!","2\"","3#","4$","5%","6&","7'","8(","9)","0","-=","^~","\\|",
+ "qQ","wW","eE","rR","tT","yY","uU","iI","oO","pP","@`","[{",
+ "aA","sS","dD","fF","gG","hH","jJ","kK","lL",";+",":*","]}",
+ "zZ","xX","cC","vV","bB","nN","mM",",<",".>","/?",
+ "__",
+};
+
 /*** Japanese pc98x1 keyboard layout ***/
 static const char main_key_JA_pc98x1[MAIN_LEN][4] =
 {
@@ -925,6 +957,7 @@ static const struct {
  {0x041a, "Croatian keyboard layout", &main_key_HR, &main_key_scan_qwerty, &main_key_vkey_qwertz},
  {0x041a, "Croatian keyboard layout (specific)", &main_key_HR_jelly, &main_key_scan_qwerty, &main_key_vkey_qwerty},
  {0x0411, "Japanese 106 keyboard layout", &main_key_JA_jp106, &main_key_scan_qwerty_jp106, &main_key_vkey_qwerty_jp106},
+ {0x0411, "Japanese Mac keyboard layout", &main_key_JA_macjp, &main_key_scan_qwerty_macjp, &main_key_vkey_qwerty_macjp},
  {0x0411, "Japanese pc98x1 keyboard layout", &main_key_JA_pc98x1, &main_key_scan_qwerty, &main_key_vkey_qwerty},
  {0x041b, "Slovak keyboard layout", &main_key_SK, &main_key_scan_qwerty, &main_key_vkey_qwerty},
  {0x041b, "Slovak and Czech keyboard layout without dead keys", &main_key_SK_prog, &main_key_scan_qwerty, &main_key_vkey_qwerty},




More information about the wine-cvs mailing list