1. 経緯
普段Macを使ってるからUbutuでもMacっぽくキーを押したい
2. キーバインドのマッピング
変更前 | 変更後 | 備考 |
---|---|---|
Caps Lock | Ctrl | 使わないCaps LockキーをCtrlにしてCtrlを押しやすくする |
無変換 | 半角/全角 | Mac風 |
変換 | 半角/全角 | Mac風 |
カタカナひらがな | Alt | 使わないのでAltにしてみる |
3. defaultの設定をバックアップ
3.1. defaultをバックアップ取っておく。
ちょこっといじって作らないとならない。
$ xmodmap -pke > ~/.Xmodmap_default
3.2. .Xmodmap_defaultの頭とお尻に追記する
頭にはclear shift
〜clear mod5
までを。
お尻にはadd shift = Shift_L Shift_R
〜add mod5 = ISO_Level3_Shift Mode_switch
clear shift
clear lock
clear control
clear mod1
clear mod2
clear mod3
clear mod4
clear mod5
(中略)
add shift = Shift_L Shift_R
add lock = Caps_Lock
add control = Control_L Control_R
add mod1 = Alt_L Alt_R Meta_L
add mod2 = Num_Lock
add mod4 = Super_L Super_R Super_L Hyper_L
add mod5 = ISO_Level3_Shift Mode_switch
4. 変更したいキーコードを全て調べる
$ xev
キーを押すと番号が出てくる。
なにやらいっぱい表示されるがいるのはこれ。
半角/全角キーは49
KeyRelease event, serial 37, synthetic NO, window 0x3200001,
root 0x13c, subw 0x0, time 1255787, (131,139), root:(2101,246),
state 0x10, keycode 49 (keysym 0xff2a, Zenkaku_Hankaku), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
4.1. キーコード
キー | キーコード |
---|---|
Caps Lock | 66 |
無変換 | 102 |
変換 | 100 |
カタカナひらがな | 101 |
5. 実際にやりたい設定ファイルを作成
!
でコメントを打てる
~/.Xmodmap
! Caps_Lockはモディファイアキーなので削除しないと駄目
clear lock
clear control
clear mod1
! Caps_Lock -> Ctrl
keycode 66 = Control_L
! 無変換 -> 半角/全角
keycode 102 = Zenkaku_Hankaku
! 変換 -> 半角/全角
keycode 100 = Zenkaku_Hankaku
! カタカナひらがな -> Alt
keycode 101 = Alt_R
! これでモディファイアキーを適用できる
add control = Control_L Control_R
add mod1 = Alt_L Alt_R
6. スタートアップに登録
.xinitrc
や.xinputrc
に
[[ -f ~/.Xmodmap ]] && xmodmap ~/.Xmodmap
と記載する。
だが動かず。。。
なんで、アプリケーションの自動的に起動するプログラムの追加
を起動してスクリプトを登録した。
7. refs.
Xmodmap - ArchWiki
キーバインドの変更 Xmodmapの基本的な設定方法
起動時に xmodmap の設定を反映させる