JISかな配列用の修正


xkeyboard-config-0.8-jp106.patch
を適用して入力される文字。括弧内は、JISかな配列で入力されるべき文字。

position unshifted shifted
AE01 U+0031 1 (ヌ) U+0021 !
AE02 U+0032 2 (フ) U+0022 "
AE03 U+0033 3 (ア) U+0023 # (ァ)
AE04 U+0034 4 (ウ) U+0024 $ (ゥ)
AE05 U+0035 5 (エ) U+0025 % (ェ)
AE06 U+0036 6 (オ) U+0026 & (ォ)
AE07 U+0037 7 (ヤ) U+0027 ' (ャ)
AE08 U+0038 8 (ュ) U+0028 ( (ュ)
AE09 U+0039 9 (ョ) U+0029 ) (ョ)
AE10 U+0030 0 (ワ) U+007E ~ (ヲ)
AE11 U+002D - (ホ) U+003D =
AE12 U+005E ^ (ヘ) U+007E ~
AE13 U+005C \ (ー) U+007C |
position unshifted shifted
AD01 U+0071 q (タ) U+0051 Q
AD02 U+0077 w (テ) U+0057 W
AD03 U+0065 e (イ) U+0045 E (ィ)
AD04 U+0072 r (ス) U+0052 R
AD05 U+0074 t (カ) U+0054 T
AD06 U+0079 y (ン) U+0059 Y
AD07 U+0075 u (ナ) U+0055 U
AD08 U+0069 i (ニ) U+0049 I
AD09 U+006F o (ラ) U+004F O
AD10 U+0070 p (セ) U+0050 P
AD11 U+0040 @ (゙) U+0060 `
AD12 U+005B [ (゚) U+007B { (「)
position unshifted shifted
AC01 U+0061 a (チ) U+0041 A
AC02 U+0073 s (ト) U+0053 S
AC03 U+0064 d (シ) U+0044 D
AC04 U+0066 f (ハ) U+0046 F
AC05 U+0067 g (キ) U+0047 G
AC06 U+0068 h (ク) U+0048 H
AC07 U+006A j (マ) U+004A J
AC08 U+006B k (ノ) U+004B K
AC09 U+006C l (リ) U+004C L
AC10 U+003B ; (レ) U+002B +
AC11 U+003A : (ケ) U+002A *
AC12 U+005D ] (ム) U+007D } (」)
position unshifted shifted
AB01 U+007A z (ツ) U+005A Z (ッ)
AB02 U+0078 x (サ) U+0058 X
AB03 U+0063 c (ソ) U+0043 C
AB04 U+0076 v (ヒ) U+0056 V
AB05 U+0062 b (コ) U+0042 B
AB06 U+006E n (ミ) U+004E N
AB07 U+006D m (モ) U+004D M
AB08 U+002C , (ネ) U+003C < (、)
AB09 U+002E . (ル) U+003E > (。)
AB10 U+002F / (メ) U+003F ? (・)
AB11 U+005F _ (ロ) U+005F _

調べるべき規格等

  1. JIS X 6002
  2. JIS X 0201
  3. OADG109A
  4. IBM 5576-A01
  5. EBCDIC

XKB の jp(OADG109A) のあるべき姿?

次の様な話が進んでいて、AE13 で yen (¥ U+00A5) が入力されるようになってしまうかも。
https://bugs.freedesktop.org/show_bug.cgi?id=8503#c23


AE13 の backslash を yen に変更するのであれば、JIS X 6002 は、JIS X 0201 を入力する為のキーボードなのですから、AE12 のシフト側は asciitilde (~ U+007E) ではなく、overline (‾ U+203E) としなければならない。
刻印と一致しなくなるとの反論がでるかもしれませんが、JIS X 0201 の附属書2 OVERLINE の字形の許容範囲を読んでみてください。


AB11 の backslash は、JIS X 6002 には無いので、OADG109A では本来、取り除いておくべきだったと言ってもいいでしょう。


以上の事をふまえて、JIS X 6002, JIS X 0201 に従うと次の様になるでしょう。

position unshifted shifted
AE01 U+0031 1 (ヌ) U+0021 !
AE02 U+0032 2 (フ) U+0022 "
AE03 U+0033 3 (ア) U+0023 # (ァ)
AE04 U+0034 4 (ウ) U+0024 $ (ゥ)
AE05 U+0035 5 (エ) U+0025 % (ェ)
AE06 U+0036 6 (オ) U+0026 & (ォ)
AE07 U+0037 7 (ヤ) U+0027 ' (ャ)
AE08 U+0038 8 (ュ) U+0028 ( (ュ)
AE09 U+0039 9 (ョ) U+0029 ) (ョ)
AE10 U+0030 0 (ワ) (ヲ)
AE11 U+002D - (ホ) U+003D =
AE12 U+005E ^ (ヘ) U+203E ‾
AE13 U+00A5 ¥ (ー) U+007C |
position unshifted shifted
AD01 U+0071 q (タ) U+0051 Q
AD02 U+0077 w (テ) U+0057 W
AD03 U+0065 e (イ) U+0045 E (ィ)
AD04 U+0072 r (ス) U+0052 R
AD05 U+0074 t (カ) U+0054 T
AD06 U+0079 y (ン) U+0059 Y
AD07 U+0075 u (ナ) U+0055 U
AD08 U+0069 i (ニ) U+0049 I
AD09 U+006F o (ラ) U+004F O
AD10 U+0070 p (セ) U+0050 P
AD11 U+0040 @ (゙) U+0060 `
AD12 U+005B [ (゚) U+007B { (「)
position unshifted shifted
AC01 U+0061 a (チ) U+0041 A
AC02 U+0073 s (ト) U+0053 S
AC03 U+0064 d (シ) U+0044 D
AC04 U+0066 f (ハ) U+0046 F
AC05 U+0067 g (キ) U+0047 G
AC06 U+0068 h (ク) U+0048 H
AC07 U+006A j (マ) U+004A J
AC08 U+006B k (ノ) U+004B K
AC09 U+006C l (リ) U+004C L
AC10 U+003B ; (レ) U+002B +
AC11 U+003A : (ケ) U+002A *
AC12 U+005D ] (ム) U+007D } (」)
position unshifted shifted
AB01 U+007A z (ツ) U+005A Z (ッ)
AB02 U+0078 x (サ) U+0058 X
AB03 U+0063 c (ソ) U+0043 C
AB04 U+0076 v (ヒ) U+0056 V
AB05 U+0062 b (コ) U+0042 B
AB06 U+006E n (ミ) U+004E N
AB07 U+006D m (モ) U+004D M
AB08 U+002C , (ネ) U+003C < (、)
AB09 U+002E . (ル) U+003E > (。)
AB10 U+002F / (メ) U+003F ? (・)
AB11 (ロ) U+005F _

こうすると U+005C と U+007E が入力できなくなってしまいます。


MacOS X の初期の頃のバージョンで問題になった事でもあるので、Unicode 以前の慣習に合わせて、AE13 では backslash (U+005C)、AE12のシフト側は asciitilde (U+007E) が入力されるよにした方が、混乱がすくないでしょう。