Я использовал xmodmap для переназначения клавиш для клавиатуры Bluetooth в Ubuntu 14.04:
xmodmap ~/.Xmodmap
remove mod1 = Alt_L
remove mod1 = Alt_R
keycode 180 = Alt_L
keycode 225 = Alt_R
add mod1 = Alt_L
add mod1 = Alt_R
Но сопоставления сбрасываются при следующем подключении клавиатуры Bluetooth.
Как сделать сопоставления постоянными или включить их на подключаемом устройстве?
Обновление:
Я обнаружил, что собираюсь в tty и вернуться к Xsession также нарушает настройки xmodmap, эта строка предотвращает разрыв в tty случае:
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
, но это не вариант, поскольку он нарушает переключение языковых раскладок, в то время как значок по-прежнему показывает язык правильно. Повторное подключение клавиатуры также сбрасывает настройки xmodmap.
Я решил его путем изменения раскладки клавиатуры.
Сначала я проверил то, с чем символы использовались в текущих макетах
$setxkbmap -print -v 10
Затем измененные/usr/share/X11/xkb/symbols/inet строки
key <I180> {[XF86HomePage]};
key <I225> {[XF86Search]};
к строкам, одолженным от/usr/share/X11/xkb/symbols/altwin
key <I180> {[Alt_L, Meta_L]}; // was XF86HomePage
key <I225> {[Alt_R,Meta_R]}; // was XF86Search
modifier_map Mod1 {<I180>, <I225>}; // removes sticky fake alt problem
и используемая команда
$sudo dpkg-reconfigure xkb-data
какие удаленные скомпилированные раскладки клавиатуры от/var/lib/xkb/. то же как
$sudo rm /var/lib/xkb/*.xkm
и вызванный их для перекомпиляции на следующем переключателе.
PS: я нашел ссылки из ответа slm полезным https://unix.stackexchange.com/questions/101410/where-do-find-information-about-xkb-symbols-i-e-dead-acute-kp-1-delete-down