У меня есть клавиатура Mac, где клавиши Alt / Win (то есть Option / Command) инвертированы по сравнению с обычной клавиатурой ПК, и я бы хотел поменять их местами. Мне пока не повезло с xmodmap. Стандартная конфигурация следующая:
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
В настоящее время левая / правая клавиши Alt являются кодами клавиш 64 и 108, в то время как клавиши левого / правого окон - 133 и 134.
Я ценю любую помощь!
setxkbmap -device 8 dvorak -option altwin:swap_alt_win,ctrl:nocaps
. Я только хочу, чтобы право Alt и Win поменялись местами. Это не отменяет левую заменуsetxkbmap -device 8 dvorak -option altwin:swap_lalt_lwin,altwin:swap_alt_win,ctrl:nocaps
. По-видимому, нет никакойaltwin:swap_ralt_rwin
возможности, согласноman xkeyboard-config
.Ответы:
Это мой Xmodmaprc:
Вам нужно изменить .xsession или .xinitrc, чтобы вызвать xmodmap .Xmodmaprc
источник
Я достиг этого в Ubuntu 13.04, объединив ответ Кристофа (который помог мне, но не работал для модификаторов, и мне не нужны могилы и тильды, чтобы быть мертвыми ключами), еще один ответ о setxkbmap , играя с различными опциями в настройках - параметры раскладки клавиатуры (даже глядя на исходный код ) и проверку текущей конфигурации с помощью команды
setxkbmap -query
(которую также следует выполнить, чтобы проверить конкретную модель клавиатуры и коды раскладки, поскольку они могут отличаться).У меня есть один сценарий, который я вызываю, когда переключаюсь на клавиатуру Apple (важнейший вариант -
altwin:swap_lalt_lwin
замена клавиш-модификаторов Alt и Super):И еще один, который я вызываю, когда возвращаюсь на обычной клавиатуре:
Обратите внимание, что я добавил настройки
чтобы включить ctrl + alt + backspace завершение сеанса Gnome, доступ к клавише уровня 3 с помощью правой клавиши win, сдвиг макета нажатием обеих клавиш Shift и превращение моего Caps Lock в дополнительный Ctrl (соответственно). Вы можете исключить некоторые или все из них.
Вы можете использовать AutoKey, чтобы привязать вызов к какому-либо сочетанию клавиш, или вызвать его с вашего компьютера,
.profile
или.bashrc
если вы все время используете клавиатуру Apple.источник
setxkbmap -option altwin:swap_lalt_lwin
и если вы хотите , чтобы переключить левый и правый альт и супер ключи, используйте следующую команду:setxkbmap -option altwin:swap_alt_win
.Я обнаружил, что в Ubuntu 16.04, которая использует xkb и gnome, вам нужно сделать несколько дополнительных шагов по сравнению с ответом Кристофера Девайна, приведенным выше, если вы хотите сохранить все быстрые действия для клавиш alt и super. Это было самое простое решение, которое я нашел.
Чтобы получить номера
$ xev
кодов клавиш, введите в командной строке ключи, для которых вы хотите получить номер. Для получения дополнительной информации об этом см. Этот пост: использование xev и xmodmapЭто дает мне:
Super_L
имеет ключевой код 133Alt_L
имеет ключевой код 64Таким образом, чтобы поменять местами Windows, известную как «Command» (на Mac) или «Super», левой клавишей Alt, я делаю:
Последние две строки добавляют mod1 и mod4 обратно в keysym для Alt_L и Super_L так же, как они были удалены. Если это не сделано, я теряю ярлыки, связанные с супер ключом (поиск), и это также нарушает комбинацию alt + tab для переключения между окнами.
Вы можете добавить эти команды в файл, подобный .xmodmap, а затем
$ xmodmap .xmodmap
запустить их.Кроме того, вы можете запустить их последовательно в командной строке, как:
$ xmodmap -e <expression here>
Если вы хотите вернуться к отображению клавиш по умолчанию, то вы можете поменять числа в приведенном выше коде, например:
или в Ubuntu я просто запускаю:
$ setxkbmap
источник
Вы также можете установить параметры
hid_apple
модуля ядра, чтобы изменять только клавиатуру Apple, но не обычные клавиатуры ПК. Нет необходимости использовать xkbmap или Xmodmapr. Просто создайте файл/etc/modules.d/hid_apple.conf
с контентомfnmode=2
сопоставляет функциональные клавишиF1...F12
без необходимости нажатияFn
. Опустите его, если вы предпочитаете медиа-клавиши. Смотрите Arch Wiki для большего.Постоянно на Ubuntu :
источник
Я бы порекомендовал не использовать xmodmap в будущем, потому что он не работает в Wayland, но кроме setxkbmap или xkbcomp будет лучшим методом для дальнейшего развития, и мой проект Kinto использует его.
Kinto поменяет нужные вам клавиши, но также будет слушать, какое приложение вы используете, чтобы вы могли сохранять правильную раскладку клавиш для терминальных приложений, чтобы она соответствовала вашему опыту работы на Mac.
Вот соответствующие ссылки, но я также включу суть того, что делает Kinto - минус пользовательские комбинации клавиш и возможность чередования клавиш, так что у вас есть представление о том, что на самом деле делает Kinto.
https://github.com/rbreaves/kinto
https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
Содержание
источник