外部キーボードが接続されているThinkpadノートブックでUbuntuを実行しています。ノートブックキーボードはGBレイアウトを採用し、外部キーボードはUSレイアウトを採用しています。
まず、接続機器のリストを出力します。 (関連のないデバイスは一部削除しました。)
➜ xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Synaptics TM3053-004 id=20 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=21 [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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=9 [slave keyboard (3)]
↳ DasKeyboard id=12 [slave keyboard (3)]
↳ DasKeyboard id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=18 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=19 [slave keyboard (3)]
したがって、ノートブックはデバイスID 18に表示され、キーボードはデバイスID 12と13に表示されます。次のクエリは、両方のキーボードがGBに設定されていることを示しています。
➜ setxkbmap -device 12 -query
rules: evdev
model: pc105
layout: gb,gb
variant: ,
➜ setxkbmap -device 18 -query
rules: evdev
model: pc105
layout: gb,gb
variant: ,
これで、デバイスID 12にレイアウトを設定しています。
➜ setxkbmap -device 12 -layout us
しかし、これがデバイス18にも設定されていることがわかります。
➜ setxkbmap -device 12 -query
rules: evdev
model: pc105
layout: us
➜ setxkbmap -device 18 -query
rules: evdev
model: pc105
layout: us