两种键盘两种语言布局

两种键盘两种语言布局

我想将两套键盘连接到我的电脑。是否可以将每套键盘设置为特定语言。这样就无需每次都更改语言。

例如:

  • 键盘 1 类型 俄语

  • 键盘 2 种类型 英语

答案1

使用xinputsetxkbmap实用程序,您可以设置终端以便每个键盘都有不同的布局。

首先,使用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

结对编程,效果更佳!

相关内容