Ubuntu 14.04をインストールしたので、まずはキーボードのカスタマイズを行いました。
ネットで検索すると、GUIによる設定もできると書かれていましたが、14.04にはそのメニューがなかったので、設定ファイルによる変更を行いました。
参考
http://d.hatena.ne.jp/adragoona/20130518/1368850862
http://bearmini.hatenablog.com/entry/2013/07/12/161637
まず、物理的なCapslockキーのキーコードを以下のコマンドで確認します。
$ xev
イベントテスターなるウィンドウにフォーカスした状態で、任意のキーをタイプすると、キーコードを含む出力がされます。
例えば、以下の通り。
KeyPress event, serial 38, synthetic NO, window 0x1600001,
root 0xa0, subw 0x0, time 4787925, (144,65), root:(1494,296),
state 0x0, keycode 66 (keysym 0xff30, Eisu_toggle), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
Capslockキーはkeycode 66であることがわかります。
以下のコマンドで現在のキーバインドを確認します。d
$ xmodmap -pke
すると
keycode 24 = q Q q Q
と行ったものが出力されます。
4つ表示されるのは、修飾キー無し、Shiftキーによる修飾、Mode_switchによる修飾、Mode_switch+Shiftキーによる修飾を意味しています。Mode_switchは、以下で確認できます。
$ xmodmap -pke | grep -i mode_switch
keycode 203 = Mode_switch NoSymbol Mode_switch
キーボードによってはキーコード203入力用のキー(AltGr)があるものもあるようです。
モディファイヤキーの確認
Ctrlキーなどの修飾キーは、モディファイヤキーとして特別に登録されている。モディファイヤキーは、以下で確認できます。
$ xmodmap
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Eisu_toggle (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Ctrlキーがモディファイヤキーに指定されているため、このキーを入れ替えるためには一度モディファイヤキーの指定を解除する必要があります。それには、以下を.Xmodmapの先頭に追加します。
以上をまとめると、以下を~/.Xmodmapに記述します。
! Ctrlキー、CapsLockをモディファイヤキーから解除
remove control = Control_L
remove lock = Eisu_toggle
! 左Ctrlであるキー(37)をCapslockに、Capslockキー(66)を左Ctrlに割り当て
keycode 37 = Eisu_toggle Caps_Lock Eisu_toggle Caps_Lock
keycode 66 = Control_L NoSymbol Control_L
! 再度Ctrlキー、CapsLockをモディファイヤキーへ登録
add control = Control_L
add lock = Eisu_toggle
$ xmodmap .Xmodmap
で反映します。
ネットで検索すると、GUIによる設定もできると書かれていましたが、14.04にはそのメニューがなかったので、設定ファイルによる変更を行いました。
参考
http://d.hatena.ne.jp/adragoona/20130518/1368850862
http://bearmini.hatenablog.com/entry/2013/07/12/161637
まず、物理的なCapslockキーのキーコードを以下のコマンドで確認します。
$ xev
イベントテスターなるウィンドウにフォーカスした状態で、任意のキーをタイプすると、キーコードを含む出力がされます。
例えば、以下の通り。
KeyPress event, serial 38, synthetic NO, window 0x1600001,
root 0xa0, subw 0x0, time 4787925, (144,65), root:(1494,296),
state 0x0, keycode 66 (keysym 0xff30, Eisu_toggle), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
Capslockキーはkeycode 66であることがわかります。
以下のコマンドで現在のキーバインドを確認します。d
$ xmodmap -pke
すると
keycode 24 = q Q q Q
と行ったものが出力されます。
4つ表示されるのは、修飾キー無し、Shiftキーによる修飾、Mode_switchによる修飾、Mode_switch+Shiftキーによる修飾を意味しています。Mode_switchは、以下で確認できます。
$ xmodmap -pke | grep -i mode_switch
keycode 203 = Mode_switch NoSymbol Mode_switch
キーボードによってはキーコード203入力用のキー(AltGr)があるものもあるようです。
モディファイヤキーの確認
Ctrlキーなどの修飾キーは、モディファイヤキーとして特別に登録されている。モディファイヤキーは、以下で確認できます。
$ xmodmap
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Eisu_toggle (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Ctrlキーがモディファイヤキーに指定されているため、このキーを入れ替えるためには一度モディファイヤキーの指定を解除する必要があります。それには、以下を.Xmodmapの先頭に追加します。
以上をまとめると、以下を~/.Xmodmapに記述します。
! Ctrlキー、CapsLockをモディファイヤキーから解除
remove control = Control_L
remove lock = Eisu_toggle
! 左Ctrlであるキー(37)をCapslockに、Capslockキー(66)を左Ctrlに割り当て
keycode 37 = Eisu_toggle Caps_Lock Eisu_toggle Caps_Lock
keycode 66 = Control_L NoSymbol Control_L
! 再度Ctrlキー、CapsLockをモディファイヤキーへ登録
add control = Control_L
add lock = Eisu_toggle
$ xmodmap .Xmodmap
で反映します。
0 件のコメント:
コメントを投稿