さんだすメモ

さメモ

技術ブログでは、ない・・・

US配列 on JIS配列のすすめ [キーボード]

はじめに

JIS配列のキーボードでUS配列を使うと、Enter キーを近くに置けるという話です。

配置

JIS

画像
JIS

US

画像
US

US配列 on JIS配列

US-on-JIS

US 配列の記号配置で変換・無変換キーが使えるのは言わずと知れたところだと思います。

この配列隠れた利点は、Enter キーを近いところに置けるというところです。
また、空いた右シフトに _ を置くと、プログラムを書くときに便利です。

Windows の設定

kbd106.dll を作り直して、ショートカットキーに不整合がないようにします。

実際の作業は Windows 日本語入力環境で US 配列をより使いやすくする を参考にしました。

vcxsrv の設定

vcxsrv は scan code を見ているようなので、ドライバを変えても効果がありません。

インストール先にある X KeyBoard extension の設定を編集します。
scoop で入れている人は、%USERPROFILE%\scoop\apps\vcxsrv\current\xkbdata\symbols\jp を編集します。

--- jp_original
+++ jp
@@ -6,30 +6,29 @@
     include "jp(common)"
     name[Group1]= "Japanese";

-    key <AE10> { [ 0, asciitilde ] };
-    key <AE13> { [ backslash, bar ] };
+    key <AE10> { [ 0, parenright ] };
+    key <AE13> { [ BackSpace ] };
+
+    key <RTRN> { [ backslash, bar ] };
+    key <RTSH> { [ underscore, backslash ] };
 };

 hidden partial alphanumeric_keys
 xkb_symbols "common" {
     // "Common" keys for jp 106/109A layouts.

-    key <HZTG> {
-       type[Group1]="PC_ALT_LEVEL2",
-       symbols[Group1]= [ Zenkaku_Hankaku, Kanji ]
-    };
-
+    key <HZTG> { [ grave, asciitilde ] };
     key <AE01> { [ 1, exclam ] };
-    key <AE02> { [ 2, quotedbl ] };
+    key <AE02> { [ 2, at ] };
     key <AE03> { [ 3, numbersign ] };
     key <AE04> { [ 4, dollar ] };
     key <AE05> { [ 5, percent ] };
-    key <AE06> { [ 6, ampersand ] };
-    key <AE07> { [ 7, apostrophe ] };
-    key <AE08> { [ 8, parenleft ] };
-    key <AE09> { [ 9, parenright ] };
-    key <AE11> { [ minus, equal ] };
-    key <AE12> { [ asciicircum, asciitilde ] };
+    key <AE06> { [ 6, asciicircum ] };
+    key <AE07> { [ 7, ampersand ] };
+    key <AE08> { [ 8, asterisk ] };
+    key <AE09> { [ 9, parenleft ] };
+    key <AE11> { [ minus, underscore ] };
+    key <AE12> { [ equal, plus ] };

     key <AD01> { [ q, Q ] };
     key <AD02> { [ w, W ] };
@@ -41,10 +40,10 @@
     key <AD08> { [ i, I ] };
     key <AD09> { [ o, O ] };
     key <AD10> { [ p, P ] };
-    key <AD11> { [ at, grave ] };
-    key <AD12> { [ bracketleft, braceleft ] };
+    key <AD11> { [ bracketleft, braceleft ] };
+    key <AD12> { [ bracketright, braceright ] };

-    key <CAPS> { [ Eisu_toggle, Caps_Lock ] };
+    key <CAPS> { [ Caps_Lock ] };

     key <AC01> { [ a, A ] };
     key <AC02> { [ s, S ] };
@@ -55,9 +54,9 @@
     key <AC07> { [ j, J ] };
     key <AC08> { [ k, K ] };
     key <AC09> { [ l, L ] };
-    key <AC10> { [ semicolon, plus ] };
-    key <AC11> { [ colon, asterisk ] };
-    key <AC12> { [ bracketright, braceright ] };
+    key <AC10> { [ semicolon, colon ] };
+    key <AC11> { [ apostrophe, quotedbl ] };
+    key <AC12> { [ Return ] };

     key <AB01> { [ z, Z ] };
     key <AB02> { [ x, X ] };
@@ -69,8 +68,8 @@
     key <AB08> { [ comma, less ] };
     key <AB09> { [ period, greater ] };
     key <AB10> { [ slash, question ] };
-    key <AB11> { [ backslash, underscore ] };
-    key <LCTL> { [ Control_L };
+    key <AB11> { [ Shift_R ] };
+    key <LCTL> { [ Control_L ] };

     key <NFER> { [ Muhenkan ] };

JIS配列のキーボードを使うため、vcxsrv の起動時に引数に -xkblayout jp を入れておきます。