- 普段使用しているUbuntuのキーボードの設定を変えようと思いまして、その記録です
- やりたいことは、JIS配列キーボードのスペースキー左右にある「英語」、「かな」キーを押して、ローマ字入力、日本語入力を切り替えるようにすること
- 手元のキーボードだと「eng」「kana」とあるので、表記はキーボードそれぞれ違うと思います
- 普通は「無変換」「変換」かもしれない
- Windowsではこの設定してたんですが、まぁいいかって感じで今までしてませんでした
- 普通、左上の全角半角で日本語とローマ字を切り替えていると思うんですが、それには次の2つのデメリットがあると思ってます
- トグル方式なので、文字を打ってから切り替えることがしばしば起きる
- キーボードの中央から遠い
- ちなみに今使ってるキーボードはこれ
OS
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
やったこと
- 全体としてはこんな感じ
- xev でキーコードを調べる
- xmodmap でキーを割り当てる
- mozc で入力方法が切り替わるよう設定する
xev でキーコードを調べる
- xev というコマンドでキーボードのキーコードを調べることができるみたいです
- ターミナルを開いて xev と打つと小さいウィンドウが出てくる
- そのウィンドウにフォーカスがあたった状態で該当のキーを押すと、ターミナルにイベント情報が表示される
- イベント情報の中にキーコードがあるので、それをメモる
- 私の環境では英語が 131 日本語が 130 でした
xmodmap でキーを割り当てる
- xmodmap を使ってキーマップを変更します
- xmodmap に読み込ませる設定ファイルを作成
- ファイル名は .Xmodmap としました
- 英語キーを無変換に
- 日本語を全角半角に
keycode 130 = Zenkaku_Hankaku
keycode 131 = Muhenkan
- xmodmap を使うと他にもいろいろと設定ができそうな気がしますが、それはおいおいで
- 次のコマンドで xmodmap に設定ファイルを食わせます
xmodmap ~/.Xmodmap
- ただ、xmodmap へ設定した内容は永続化されず、毎度設定する必要があります
- なので、下記をシェルスクリプトとして書いて、PCが起動したときに自動的に読み込むよう設定しました
xmodmap ~/.Xmodmap
- こうすればPCが起動すると、キーマップの設定が行われるようになります
mozc で入力方法が切り替わるよう設定する
- あとは mozc の設定画面から「キー設定の変更」の「編集」を選び、
- 「Muhenkan」がすでに割り当てられている設定は削除
- すべての「IMEを無効化」コマンドの入力キーを「Muhenkan」へ
- すべての「IMEを有効化」コマンドの入力キーを「Hankaku/Zenkaku」へ
- これで完了です