LoginSignup
6
13

More than 3 years have passed since last update.

Ubuntuでキーバインドを変更する

Posted at

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 shiftclear mod5までを。
お尻にはadd shift = Shift_L Shift_Radd 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 の設定を反映させる

6
13
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
13