具有不同布局的多个键盘


16

我在最近的Macbook Pro上运行了ubuntu(11.04)。我同时使用内置键盘和外接键盘。我想将两个键盘上的大写锁定重新映射为超级键盘,并且只想在内置(苹果)键盘上交换左键(mac选项)和左键(mac cmd)。

Xmodmap不能以不同的方式配置多个键盘,因此就可以了。

我可以通过setkbmap从cli做到这一点。这是我正在使用的脚本:

#!/bin/sh
#set caps to super
setxkbmap -option caps:super

#swap command and option for apple keyboard
setxkbmap -device `xinput list | grep -o -P 'Apple Internal Keyboard / Trackpad\s+id=\d+' | grep -o -P '\d+'` -option altwin:swap_lalt_lwin

如果需要的话,可以将其作为启动应用程序运行,但是我真的很想知道是否有配置文件可以添加这些设置。

看来我应该能够在xorg.conf的inputdevice部分中添加一个选项(XkbOptions),但是当我尝试这样做时,这些设置没有任何影响(也许gnome会覆盖X设置?)。我还尝试向xorg.conf中添加新的inputclass,但这也不起作用。

在配置具有不同按键绑定的多个键盘的正确位置是什么?


1
注意:将此脚本放在启动应用程序中可以在登录时对其进行修复,但是从挂起状态恢复后,我必须再次手动运行它。必须有更好的方法来做到这一点!
2011年

1
应该有...我已经通过/etc/default/keymap(Debian)或/etc/X11/xorg.conf.d/00-keyboard.conf(Fedora)设置了默认布局,以避免出现简历上的问题,但是它可能不适用于具有不同选项的多个键盘(在两个OS上,这用于指定控制台键盘图和X键盘图,因此受到一定限制)。
dhardy 2014年

Answers:


7

可以在xorg配置中执行此操作:

Section "InputClass"
  Identifier     "Keyboard Catch All"
  MatchUSBID     "058f:9410"
  Option         "XkbOptions" "caps:super,terminate:ctrl_alt_bksp"
EndSection

Section "InputClass"
  Identifier "Apple Keyboards"
  MatchUSBID     "05ac:0236"
  Option         "XkbOptions" "altwin:swap_lalt_lwin,caps:super"
EndSection

但是,GDM有自己的管理键盘设置的方式,这些设置将覆盖这些xorg设置。我还没有找到与GDM配合使用的解决方案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.