У меня Ubuntu (11.04) работает на недавнем MacBook Pro. Я использую как встроенную клавиатуру, так и внешнюю клавиатуру. Я хочу переназначить capslock на обеих клавиатурах на super, и я хочу поменять местами left-alt (опция mac) и left-super (mac cmd) только на встроенной (apple) клавиатуре.
Xmodmap не может настраивать несколько клавиатур по-разному, так что вот и все.
Я могу сделать это из кли через setkbmap. Вот скрипт, который я использую:
#!/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
Если мне нужно, я могу запустить это как приложение для запуска, но мне бы очень хотелось узнать, есть ли файл конфигурации, к которому я могу добавить эти настройки.
Похоже, я должен иметь возможность добавить опцию (XkbOptions) в раздел inputdevice моего xorg.conf, но когда я попробовал это, настройки не оказали влияния (возможно, gnome переопределяет настройки X?). Я также попытался добавить новый входной класс в xorg.conf, но это тоже не сработало.
Как правильно настроить несколько клавиатур с разными привязками клавиш?
/etc/default/keymap
(Debian) или /etc/X11/xorg.conf.d/00-keyboard.conf
(Fedora), чтобы избежать проблемы при возобновлении работы, но она может не работать для нескольких клавиатур с разными параметрами (в обеих ОС это используется для указания раскладка консоли, а также раскладка X и, таким образом, несколько ограничены).