Linux Caps Lock Escape Swap: методы замены функций клавиш

Фраза «замена выхода Caps Lock в Linux» относится к задаче замены функций клавиш Caps Lock и Escape в системе Linux. Эта модификация часто необходима пользователям, которые предпочитают чаще использовать клавишу Escape, например разработчикам, использующим текстовые редакторы или терминальные приложения. Ниже приведены несколько способов добиться этого обмена:

  1. Xmodmap: Утилита Xmodmap позволяет переназначать ключи в системе X Window. Вы можете создать собственный файл конфигурации Xmodmap, чтобы поменять местами клавиши Caps Lock и Escape. Выполните в терминале следующие команды:

    $ xmodmap -e "remove Lock = Caps_Lock"
    $ xmodmap -e "keysym Escape = Caps_Lock"
    $ xmodmap -e "keysym Caps_Lock = Escape"
    $ xmodmap -pke > ~/.Xmodmap

    Чтобы автоматически загружать конфигурацию Xmodmap при запуске, добавьте следующую строку в файл Xinitrc или Xprofile:

    xmodmap ~/.Xmodmap
  2. XKB (расширение X KeyBoard): Другой способ — изменить конфигурацию XKB, которая является системой настройки клавиатуры по умолчанию в большинстве дистрибутивов Linux. Создайте новый файл, например swap_caps_lock_escape, в папке /usr/share/X11/xkb/symbols/

    partial modifier_keys
    xkb_symbols "swap_caps_lock_escape" {
    replace key <CAPS> { [ Escape ] };
    replace key <ESC>  { [ Caps_Lock ] };
    };

    .

    Затем отредактируйте файл /usr/share/X11/xkb/rules/evdev.xmlи добавьте следующие строки в раздел :

    <layout>
    <configItem>
        <name>swap_caps_lock_escape</name>
        <shortDescription>Swap Caps Lock and Escape</shortDescription>
        <description>Swap Caps Lock and Escape</description>
        <languageList>
            <iso639Id>eng</iso639Id>
        </languageList>
    </configItem>
    <variantList/>
    </layout>

    После внесения этих изменений вы можете выбрать раскладку «Поменять местами Caps Lock и Escape» в настройках клавиатуры среды рабочего стола.

  3. setxkbmap: инструмент командной строки setxkbmapтакже можно использовать для временной замены клавиш Caps Lock и Escape. Откройте терминал и выполните следующую команду:

    $ setxkbmap -option "caps:swapescape"

    При этом функциональность клавиш Caps Lock и Escape изменится до перезапуска сеанса X.

  4. Настраиваемые сочетания клавиш. Некоторые среды рабочего стола допускают настраиваемые сочетания клавиш. Вы можете создать собственную привязку клавиш для замены клавиш Caps Lock и Escape, используя настройки среды рабочего стола или такой инструмент, как xbindkeys.