#13 japanese keymap

closed
Jay Sorg
None
5
2010-11-04
2007-06-19
motohi_i
No

It's an additional keymap for japanese keyboard. I checked on the accuracy of operation with CentOS 4 & 5.
please referrals follow:

# diff -u xrdp-0.4.0/xrdp/lang.c.orig xrdp-0.4.0/xrdp/lang.c
--- xrdp-0.4.0/xrdp/lang.c.orig 2007-04-02 05:42:35.000000000 +0900
+++ xrdp-0.4.0/xrdp/lang.c 2007-06-18 17:07:54.000000000 +0900
@@ -89,6 +90,72 @@
};

/*****************************************************************************/
+/* japan */
+
+/* non shift chars */
+char ja_noshift[] =
+{
+ 0, 0, '1', '2', '3', '4', '5', '6',
+ '7', '8', '9', '0', '-', '^', 0, 0,
+ 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i',
+ 'o', 'p', '@', '[', 0, 0, 'a', 's',
+ 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';',
+ ':', 0, 0, ']', 'z', 'x', 'c', 'v',
+ 'b', 'n', 'm', ',', '.', '/', 0, '*',
+ 0, ' ', 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, '7',
+ '8', '9', '-', '4', '5', '6', '+', '1',
+ '2', '3', '0', '.', 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, '\\', 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, '\\', 0, 0
+};
+
+/* shift chars */
+char ja_shift[] =
+{
+ 0, 0, '!', '"', '#', '$', '%', '&',
+ '\'', '(', ')', 0, '=', '~', 0, 0,
+ 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I',
+ 'O', 'P', '`', '{', 0, 0, 'A', 'S',
+ 'D', 'F', 'G', 'H', 'J', 'K', 'L', '+',
+ '*', 0, 0, '}', 'Z', 'X', 'C', 'V',
+ 'B', 'N', 'M', '<', '>', '?', 0, '*',
+ 0, ' ', 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, '7',
+ '8', '9', '-', '4', '5', '6', '+', '1',
+ '2', '3', '0', '.', 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, '_', 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, '|', 0, 0
+};
+
+/* right alt chars */
+char ja_altgr[] =
+{
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/*****************************************************************************/
/* italy */

/* non shift chars ec*/
@@ -432,6 +499,7 @@
int altgr;
int ext;

+ keylayout &= 0xfff;
if (keylayout == 0x40c) /* france */
{
keys_noshift = fr_noshift;
@@ -462,6 +530,12 @@
keys_shift = it_shift;
keys_altgr = it_altgr;
}
+ else if (keylayout == 0x411) /* japan - 0xe0010411:rdesktop 1.5, 0xe0200411:winXP */
+ {
+ keys_noshift = ja_noshift;
+ keys_shift = ja_shift;
+ keys_altgr = ja_altgr;
+ }
else /* english us 0x409 */
{
keys_noshift = en_us_noshift;

Thank you.

Discussion

  • Jay Sorg
    Jay Sorg
    2007-08-17

    • assigned_to: nobody --> jsorg71
     
  • nicolar
    nicolar
    2010-11-04

    • status: open --> closed