LoginSignup
3
5

More than 5 years have passed since last update.

X で複数のキーボードを別々のレイアウトで使えるようにする

Last updated at Posted at 2018-03-20

概要

Xを使うときに、複数のキーボードを切り替えてつかうときに、
キーボードごとに、設定をするのが大変なので、一回設定してすまないかを検討している

まとめ

xinput -list
setxkbmap -device デバイスID -layout jpとかusとか -option ctrl:nocapsとか
  • xinput は、setxkbmap で指定するデバイスIDを探すのに使う
  • setxkbmap は、実際に設定を変更する

日本語に切り替えて、英語に戻ると、レイアウトがリセットされるとき。

ibusなどをつかっているならそれの設定を見直す。

ibusの例では、Preference で Advanced を選び

  • Keyboard Layout のなかの、
    • Use system keboard layout のチェックボックスにチェックをいれる

xinput -list の出力例

xinput -list                                                     
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Performance MX                   id=8    [slave  pointer  (2)]
⎜   ↳ Logitech N305/B505                        id=9    [slave  pointer  (2)]
⎜   ↳ Logitech M545                             id=10   [slave  pointer  (2)]
⎜   ↳ Logitech M570                             id=11   [slave  pointer  (2)]
⎜   ↳ KINESIS FREESTYLE KB700 KB700 Kinesis Freestyle   id=17   [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Power Button                                id=7    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=13   [slave  keyboard (3)]
    ↳ Logitech N305/B505                          id=14   [slave  keyboard (3)]
    ↳ Logitech M545                               id=15   [slave  keyboard (3)]
    ↳ KINESIS FREESTYLE KB700 KB700 Kinesis Freestyle id=16   [slave  keyboard (3)]
    ↳ KINESIS FREESTYLE KB700 KB700 Kinesis Freestyle id=18   [slave  keyboard (3)]
    ↳ Topre Corporation Realforce 91              id=12   [slave  keyboard (3)]

設定例

デバイスIDが、16のキーボードのCAPSをCTRLとして使う

xinput -list
setxkbmap -device 16 -layout us -option ctrl:nocaps

スクリーンロックがかかった後のKINESISのdevice id

マシンを再起動しなくても、
かわることがあるようです。

実際に自分の環境では、上にあげた xinput -list の16と17がいれかわっていた。
このあたりは、確認するスクリプトをつくったほうがよさそう

参考

3
5
0

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
3
5