Как постоянно переключать Caps Lock и Esc

Как я могу постоянно переключать Caps Lock и Esc ключевые функции в Saucy? Я могу использовать эту команду, чтобы сделать это временно (до перезагрузки):

/usr/bin/setxkbmap -option "caps:swapescape"

Я попытался добавить эту команду в качестве приложения для запуска, но, похоже, она ничего не делает.

Другой способ сделать это - через dconf-editor. Этот метод имеет несколько дополнительных шагов от gnome-tweak-tool, но полезно, если вы не хотите извлекать зависимости из инструмента настройки.

Это позволит вам использовать caps:swapescape синтаксис и автоматически сделает изменение постоянным.

sudo apt-get install dconf-tools

После запуска dconf-editor, перейдите к >>>>>>источники ввода для рабочего стола org gnome

Добавьте нужные вам параметры в xkb-options. Строки параметров заключены в одинарные кавычки и разделены запятыми. Будьте осторожны, чтобы не удалить скобки на концах.

xkb-options in dconf-editor

Вы можете использовать этот метод для ввода большинства традиционных параметров xkb, которые больше не доступны в >>Ввод текста системных настроек. Исключением являются настройки для переключения раскладок клавиатуры, которые в настоящее время не работают из-за ошибки.

Для получения списка параметров и синтаксиса используйте man 7 xkeyboard-config в терминале.

Другим распространенным вариантом, который можно было бы использовать, является terminate:ctrl_alt_bksp позволять ctrl+alt+backspace чтобы завершить X-сессию.

Решение, которое должно работать для большинства дистрибутивов Linux:

setxkbmap -option caps:swapescape

Возможны и другие варианты:

  • caps:none для деактивации
  • caps:escape чтобы сделать это дополнительным спасением
  • caps:super чтобы сделать его дополнительным ключом super (windows).

Чтобы заставить это работать при запуске, вы можете поместить его в ~/.profile поскольку это будет выполняться только после интерактивного входа в систему.

Если переключение не сохраняется между входами в систему (например, при приостановке работы вашего компьютера), вы также можете создать .xinitrc файл в вашем домашнем каталоге и поместите его туда. Linux mint 20 на ноутбуке безупречно работает с этой опцией.

Хорошо, нашел способ сделать это с помощью gnome-tweak-tool.

С терминала запустите

sudo apt-get install gnome-tweak-tool -y && gnome-tweak-tool

Вы можете найти возможность поменять местами Caps Lock и Esc в разделе "Ввод текста" - "Поведение клавиши Caps Lock".

Обновление: В Ubuntu 18.04 и 20.04 его можно найти в разделе Клавиатура и мышь > Дополнительные параметры компоновки & gt; Поведение Caps Lock (благодаря комментарию Adracus ниже)

Вы можете использовать xmodmap в терминал чтобы поменять местами Caps Lock с Esc:

xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"   #this will make Esc to act as Caps Lockxmodmap -e "keycode 66 = Escape NoSymbol Escape"        #this will make Caps Lock to act as Esc

Чтобы получить это изменение для каждого сеанса, после выполнения предыдущих команд создайте файл с именем .xmodmap с новыми ключевыми картами, используя следующую команду:

xmodmap -pke > ~/.xmodmap

Затем создайте файл с именем .xinitrc в вашем домашнем каталоге, содержащем следующую строку/команду:

xmodmap .xmodmap

Похоже на @Radu's ответ, но совместимый с 14.04 (см. также этот ответ).

xmodmap -e "remove Lock = Caps_Lock"xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"xmodmap -e "keycode 66 = Escape NoSymbol Escape"xmodmap -pke > ~/.xmodmap

Если это не сработает, замените:

xmodmap -e "remove Lock = Caps_Lock"

с:

xmodmap -e "clear Lock"

Перейдите к значку шестеренки в правом верхнем углу экрана и выполните следующие действия:

  • Нажмите Системные настройки → Раскладка клавиатурыОпции... (нижний правый угол) → Поведение клавиши Caps lock (4-й вниз).

  • Затем прокрутите вниз и выберите Поменяйте местами ESC и Caps Lock.

Сделано!

Запустите эту команду один раз в терминале. dconf уже должен быть установлен вместе с gnome 3.

dconf write "/org/gnome/desktop/input-sources/xkb-options" "['caps:swapescape']"

То Раскладка клавиатуры с Выход переключателя и блокировка крышки приведенный выше ответ больше не действует в Ubuntu 16.04 и более поздних версиях (было ли это раньше? не знаю).

Чтобы избежать суеты с разрешениями и т.д., Просто переключитесь на root, прежде чем начать выполнять следующие действия, выполнив su в терминале и вводите свой пароль root. Затем:

  1. Бежать:

    cd /etc/default/vim keyboard
  2. Там вы увидите строку:

    XKBOPTIONS=""

    Измените его на:

    XKBOPTIONS="caps:swapescape"
  3. Выйдите из Vim с сохранением:

    :wqa
  4. Перезагрузить.

И это будет постоянный, Я обещаю. :)

Для Ubuntu 18.04 и Gnome 3.30 это работает для меня:

gsettings set org.gnome.desktop.input-sources xkb-options "['caps:swapescape']"

Специально для этой цели я создал инструмент на C, который преодолевает многие проблемы с решением xcape/xmodmap:

Это делает немного больше, так как он также включает CAPSLOCK как ESC, так и CTRL.

@opyate Я бы поместил эту команду в ~ /.profile, чтобы она выполнялась только один раз после интерактивного входа в систему.

Я поместил эту команду в свой ~/.bashrc, чтобы она сохранялась между перезапусками системы. (ctrl:nocaps для меня, однако, для tmux)