我想将两套键盘连接到我的电脑。是否可以将每套键盘设置为特定语言。这样就无需每次都更改语言。
例如:
键盘 1 类型 俄语
键盘 2 种类型 英语
答案1
使用xinput
和setxkbmap
实用程序,您可以设置终端以便每个键盘都有不同的布局。
首先,使用xinput -list | grep key
命令,您必须找到每个键盘的设备 ID。以下是示例(我的情况):
$ xinput -list | grep key
⎣ 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)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ 2.4GHz 2way RF Receiver id=10 [slave keyboard (3)]
↳ HP Webcam id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ HP WMI hotkeys id=15 [slave keyboard (3)]
↳ USB Keyboard id=16 [slave keyboard (3)]
↳ USB Keyboard id=17 [slave keyboard (3)]
其次,使用setxkbmap -device <key_ID> -layout <layout_name>
,设置每个键盘所需的布局。示例(针对我的键盘):
setxkbmap -device 3 -layout ro #My master keyboard is set to Romanian layout
setxkbmap -device 10 -layout us #The keyboard with id=10 is set to English (US) layout
setxkbmap -device 16 -layout ru #The keyboard with id=16 is set to EFor Russian layout
答案2
稍微离题,但如果您另外使用该-variant
选项,您可以在一个键盘上输入 dvorak,在另一个键盘上输入 workman 或 qwerty 或任何其他布局。
setxkbmap -verbose -device 17 -layout us -variant dvorak
结对编程,效果更佳!