我在 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