я добился этого в Ubuntu 13.04, объединив ответ Кристофа (который помог мне, но не работал для модификаторов, и мне не нужны grave и tilde, чтобы быть мертвыми ключами),еще один ответ о setxkbmap, играя с различными параметрами в настройках-клавиатура-layout-options (даже глядя на исходный код) и проверка текущей конфигурации с помощью команды setxkbmap -query
(который вы также должны запустить, чтобы проверить вашу конкретную модель клавиатуры и коды раскладки, как они могут отличаться).
у меня есть один сценарий, который я называю, когда я переключаюсь на клавиатуре Apple (решающий вариант является altwin:swap_lalt_lwin
для замены клавиш Alt и Super modifier):
# clear all options
setxkbmap -model "pc105" -layout "hr,us" -option ""
# set the Apple keyboard
setxkbmap -rules "evdev" -model "pc105" -layout "hr,us" -option "terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle,caps:ctrl_modifier,altwin:swap_lalt_lwin"
# swap the grave-tilde with less-greater key
# - variant without dead keys
xmodmap -e "keycode 94 = grave asciitilde"
xmodmap -e "keycode 49 = less greater less greater bar brokenbar bar brokenbar"
и еще один, который я называю, когда я вернусь на обычной клавиатуре:
# clear settings
setxkbmap -model "pc105" -layout "hr,us" -option ""
# pc keyobard
setxkbmap -rules "evdev" -model "pc105" -layout "hr,us" -option "terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle,caps:ctrl_modifier"
обратите внимание, что я добавил параметр
terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle,caps:ctrl_modifier
чтобы включить ctrl + alt + backspace завершение сеанса Gnome, Уровень 3 ключ доступа с помощью правой клавиши win, сдвиг макета, нажав обе shift клавиши и повернул мой Caps Lock В дополнительный Ctrl (соответственно). Вы можете исключить некоторые или все из них.
можно использовать AutoKey для привязки вызова к какой-либо комбинации клавиш, или вызвать его из .profile
или .bashrc
если вы используете клавиатуру Apple все время.