キーボードのキー配列がしっくりこないので、数年前からキー配列を変更しています。別のPCで作業する場合はとても困るのですが、そういった機会はそれほど多くないのでメリットの方が大きいと割り切っています。
キー配列の変更の他にSpaceキーにSandS(Space and Shift)と呼ばれる機能を追加しています。SandSとはSpaceキーを押下した状態で他のキーを押下した場合、SpaceキーがShiftキーとして機能するというものです。いわゆる親指Shiftを実現するためのひとつの方法です。
space+a = shift+a = “A”
UbuntuとWindowsについて簡単に変更方法をご紹介します。詳しい方法については検索サイトで探せば多くのページがヒットしますので、そちらをご覧ください。
1.変更前と変更後のキー配列
変更のポイントは次の3点です。
- 括弧は両隣に配置
- 以下のキーは同じキーの上下に配置
- セミコロン(;)とコロン(:)
- クオーテーション(’)とダブルクオーテーション(”)
- アンダースコア(_)とハイフン(-)
- アンパサンド(&)と縦棒(|)
- Ctrl、Alt、Backspace、全角/半角の各キーを親指で押せる位置に配置
1-1.変更前の配列
1-2.変更後の配列
2.Ubuntuでの実現方法
2-1.キー配列の変更
ホームディレクトリ直下の.Xmodmapに変更するキーを記述します。
addとremoveで始まる行はモディファイアキーの機能の追加と削除を行うコマンド、keycodeで始まる行は普通のキーの定義です。たとえば、22行目の”keycode 11 = 2 at”は、「キーコードが11のキーに”2″をshift押下時には”@”を割り当てろ」という意味です。キーコードはそれぞれの環境によって異なりますが、xevというツールを使って簡単に調べることができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
!! CapsLock -> Control_L !! Control_L -> CapsLock !! Muhenkan -> Control_L !! Henkan -> Shift !! Hiragana_Katakana Romaji -> Zenkaku_Hankaku Kanji remove Lock = Caps_Lock remove Control = Control_L remove mod1 = Alt_R keysym Control_L = Caps_Lock keysym Caps_Lock = Control_L keysym Muhenkan = Control_L !! keysym Hiragana_Katakana = Zenkaku_Hankaku keysym Alt_R = Zenkaku_Hankaku add Control = Control_L add Lock = Caps_Lock add Control = Muhenkan !! add Shift = Henkan_Mode add mod1 = Henkan_Mode keycode 101 = BackSpace keycode 11 = 2 at keycode 15 = 6 plus keycode 16 = 7 asterisk keycode 19 = 0 equal keycode 20 = minus underscore keycode 132 = backslash grave keycode 34 = bracketleft braceleft keycode 35 = bracketright braceright keycode 47 = semicolon colon keycode 48 = apostrophe quotedbl keycode 51 = ampersand bar |
2-2.SandSの実現
at-home-modifierというツールを使います。インストールの時に注意することは、./configureのオプションに–prefix=/usrを付けることです。インストール後後、/usr/share/X11/xorg.conf.d/10-evdev.confに以下を追記します。
1 2 3 4 5 6 7 8 9 10 |
Section "InputClass" Identifier "my keyboard" Driver "evdev" Option "XKBOptions" "terminate:ctrl_alt_bksp" Option "AutoServerLayout" "on" MatchIsKeyboard "on" Option "TransMod" "65:50" EndSection |
3.Windowsでの実現方法
3-1.キー配列の変更
普通のキーの変更はyamy、モディファイアキーはKeyCtrlというツールを使っています。他にもいくつか方法があるようです。
yamyは用意されているEmacs風キー配列を選んだ上で.yamyに以下を追記しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
mod shift += !!Space key R-*Space = &Ignore #mod control += !!NonConvert #mod alt += !!Convert #key Hiragana = BackSpace key S-_2 = $COMMERCIAL_AT key S-_6 = $PLUS_SIGN key S-_7 = $ASTERISK key S-_0 = $EQUALS_SIGN key S-HyphenMinus = $LOW_LINE key S-YenSign = $GRAVE_ACCENT key CommercialAt = $LEFT_SQUARE_BRACKET key S-CommercialAt = $LEFT_CURLY_BRACKET key LeftSquareBracket = $RIGHT_SQUARE_BRACKET key S-LeftSquareBracket = $RIGHT_CURLY_BRACKET key S-Semicolon = $COLON key Colon = $APOSTROPHE key S-Colon = $QUOTATION_MARK key RightSquareBracket = $AMPERSAND key S-RightSquareBracket = $VERTICAL_LINE #mod alt -= RAlt #key RAlt = $ToggleIME |
KeyCtrlは設定ツールを使って変更します。設定の際に注意することは、管理者権限で実行することです。
3-2.SandSの実現
SandSもyamyを使って実現できます。上の.yamyの1,2行目がSandSを実現するための設定です。
※なお、キー配列の変更を行う場合は自己責任にてお願いいたします。