Del*_*ted 54 linux keyboard keyboard-layout input-languages
我有一台笔记本电脑,我使用外接键盘。当我使用外部键盘打字时,我想使用美式键盘布局,因为这是我拥有的外部键盘类型。另一方面,当我使用集成键盘打字时,我想使用瑞典语布局。
这可能吗?我将如何去做?
我在这里问是因为我认为我们会在这里找到大多数 Linux 专业知识。
fli*_*ken 43
首先,您必须找到要更改的键盘的设备 ID:
$ xinput -list | grep -i 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)]
? Power Button id=7 [slave keyboard (3)]
? LITEON Technology USB Keyboard id=9 [slave keyboard (3)]
? LITEON Technology USB Keyboard id=10 [slave keyboard (3)]
Run Code Online (Sandbox Code Playgroud)
然后使用 setxkbmap 更改布局:
$ setxkbmap -device 9 dvorak
Run Code Online (Sandbox Code Playgroud)
某些版本的 setxkbmap 需要一个“-layout”参数:
$ setxkbmap -device 9 -layout dvorak
Run Code Online (Sandbox Code Playgroud)
小智 10
我可以肯定地说,你想做的事情确实是可能的。我首先实现了指定的场景
sudo cat /dev/input/event(0,1,2..)
在每个键盘上打字时,以确保它们被识别为单独的设备。然后我简单地应用试错法,试验
setxkbmap -device (1-x) us.
我发现setxkbmap -device 1 us配置了两个(所有)键盘,而setxkbmap -device 6 us只影响了辅助键盘。相关的也许是它们都通过 PS/2 连接。
这当然不能保证对你有用,甚至不能归类为正确的答案,但它确认它完全可能。我不知道各个键盘是根据哪种方案命名的/dev/input,但我确信可以在 udev 中指定名称,从而可以将适当的setxkbmap命令放入/etc/rc.local或类似的命令中。
zan*_*ray 10
虽然这个问题有点老,但我想我会分享我的解决方案,因为其他答案都没有解决如何在启动时进行这项工作。
我的情况: 我有一个快乐的黑客键盘,它通过 USB 插入,按键可以移动(控制大写锁定的位置等)。我大部分时间都使用它,但有时我想使用标准的笔记本电脑键盘或其他 USB 键盘。对于这些键盘,我创建了自定义键盘布局。
诀窍是自定义键盘布局不应应用于Happy Hacking Keyboard。
解决方案: 我创建了一个 Xorg 配置文件,如下所示:
$ cat /etc/X11/xorg.conf.d/30-keyboard.conf
Section "InputClass"
Identifier "Happily Hacked Keyboard"
MatchDevicePath "/dev/input/event*"
MatchIsKeyboard "on"
Driver "evdev"
Option "XkbLayout" "us"
Option "XkbVariant" "hhk"
EndSection
Section "InputClass"
Identifier "Happy Hacking Keyboard"
MatchIsKeyboard "on"
MatchVendor "Topre_Corporation"
Driver "evdev"
Option "XkbLayout" "us"
Option "XkbVariant" "basic"
EndSection
Run Code Online (Sandbox Code Playgroud)
第一部分基本上是说对于任何标准键盘,将 us 布局与自定义变体一起应用。第二部分说对于happy hacking 键盘,使用带有基本变体的us 布局。
您可以根据一堆参数来匹配设备:xorg doc
小智 5
根据 setxkbmap 的 -device 参数判断,这是可能的:
-设备设备
指定输入设备的数字设备 ID
更新了新的键盘布局。如果未指定,则
X 服务器的核心键盘设备已更新。
但是,自然而然,我目前没有第二个键盘可以尝试。
- 德沃夏克用户
小智 1
我认为你不能完全按照你想要的方式做到这一点。据我所知有两种选择:
1)您可以通过简单的鼠标点击/按键进行切换。
对于 Ubuntu/GNOME:
鼠标点击
在 Ubuntu / Gnome 中,如果您设置了输入布局,请转到面板上的空白位置,右键单击并单击“添加到面板”。选择“键盘指示器”将其添加到面板中。这应该输入一小段文本来指示您的键盘布局,您可以单击它进行切换。
键盘快捷键
系统 -> 首选项 -> 键盘 -> 布局 -> 布局选项
那里有一个选项“更改布局的按键”。您可以将其设置为 Alt+Shift,这不会干扰任何正常的键盘快捷键。
我想 KDE 也有一种方法可以做到这一点。
2)另一种选择是http://en.wikipedia.org/wiki/Xneur,但我不确定这是否适用于瑞典语,并且对于具有与英语类似结构的语言来说可能不可能。