在 KDE 中使用两个键盘,每个键盘都有专用的布局(通常为 azerty / bépo)

在 KDE 中使用两个键盘,每个键盘都有专用的布局(通常为 azerty / bépo)

我需要能够使用两个键盘(我的笔记本电脑上有一个标准 AZERTY)和一个 TypeMatrix 2030 USB(BÉPO 布局)。我在 xorg.conf 中通过输入以下代码xorg.conf(我创建的)成功配置了它

Section "InputClass"
  Identifier "keyboard"
  Driver "evdev"
  Option "XkbLayout" "fr"
  Option "XkbVariant" "oss"

  MatchIsKeyboard "on"
EndSection

Section "InputClass"
  Identifier "Typematrix Bepo"
  Driver "evdev"
  Option "XkbLayout" "fr"
  Option "XkbVariant" "bepo"

  MatchVendor "TypeMatrix.com"
  MatchProduct "USB Keyboard"
  MatchIsKeyboard "on"
EndSection

这样做的效果是,我可以使用任一键盘登录 kdm(我没有用 lightdm 测试),换句话说,在 KDE 之外,一切都按我的意愿运行。不幸的是,只要 KDE 运行,DM 就会覆盖 X 配置,而我只能使用通常的布局选择器。

有没有办法配置 KDE,以便

  1. KDE 不会覆盖 X 设置或
  2. KDE 使用多个键盘硬件(和/或允许我将不同的布局与不同的键盘关联)

谢谢你的帮助!请注意,我不想详细解释为什么单击任务栏中的“更改布局”图标不适合我,以及为什么仅仅识别一个硬件键盘对我来说是不够的。

PS:在系统设置中选中“配置布局”与问题无关。

配置:配备 TypeMatrix 2030 USB 键盘的 Sony VAIO VPCZ23M9E 上的 Kubuntu 14.04 LTS 2

答案1

这是一个老问题,但我想实现与 OP 相同的效果,并且这在 KDE Plasma 5.19 中有效。

我创建了以下(可执行)脚本:

#!/bin/sh
#set-keyboard-layout.sh

#when using multiple keyboards at once, KDE overrides xorg keyboard configs
#using this script in autostart can set the correct layout for one of the
#keyboards again.

KEYBD_ID="Logitech HID compliant keyboard"
KEYBD_LAYOUT="fr"
KEYBD_VARIANT="bepo"

setxkbmap -layout "$KEYBD_LAYOUT" -variant "$KEYBD_VARIANT" -device $(xinput list --id-only "$KEYBD_ID")

更改变量以满足您的需要。使用xinput list --short查找 的值KEYBD_ID

然后我将其添加到 KDE 自动启动脚本中(System Settings > Startup and Shutdown (under Workspace) > Autostart > Add script...

它保留了 KDE 中设置的笔记本电脑键盘布局,但将 USB 键盘更改为正确的布局。如果您手动更改键盘布局,它可能会被覆盖,但重新启动或注销/登录可能会再次修复它。

谢谢回答。

相关内容