3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?