Как навсегда переключить Caps Lock и Esc

94

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

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

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

задан Isaac Dontje Lindell 21.10.2013 в 23:24
источник

13 ответов

114

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

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

sudo apt-get install dconf-tools

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

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

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

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

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

    
ответ дан chaskes 25.10.2013 в 18:21
источник
31

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

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

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

Вы можете найти опцию для замены Caps Lock и Esc в разделе «Ввод текста - > Caps Lock».

    
ответ дан Isaac Dontje Lindell 22.10.2013 в 22:42
28

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

setxkbmap -option caps:swapescape

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

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

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

    
ответ дан jojo 27.09.2016 в 16:11
22

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

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

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

xmodmap -pke > ~/.xmodmap

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

xmodmap .xmodmap
    
ответ дан Radu Rădeanu 25.10.2013 в 15:55
17

Аналогично @ , но совместим с 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"
    
ответ дан Gilly 04.09.2015 в 03:50
11

Перейдите к значку передач в правом верхнем углу экрана и:

  • нажмите «Настройки системы»
  • раскладка клавиатуры
  • параметры ... (нижний правый угол)
  • поведение клавиш блокировки блокировки (четвертое нажатие)
  • Прокрутите вниз и выберите «Сменить ESC и Caps Lock».

Готово!

    
ответ дан Joe 21.02.2015 в 21:06
6

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

dconf write "/org/gnome/desktop/input-sources/xkb-options" "['caps:swapescape']"
    
ответ дан Chad Skeeters 04.11.2015 в 20:30
3

Это можно сделать из настройки системы клавиатуры . Нажмите «Параметры» для используемого макета, затем в разделе «Caps Lock key» выберите «переключатель Escape and Capslock».

    
ответ дан Gabe Moothart 22.01.2014 в 01:24
2

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

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

    
ответ дан pepper_chico 13.10.2016 в 02:52
2

Я опаздываю, но обычный способ обмена Esc и Ctrl состоит из следующих строк в файле ~/.Xmodmap :

clear Lock
keysym Caps_Lock = Escape
keysym Escape = Caps_Lock
add Lock = Caps_Lock

Это должно работать со всеми средами рабочего стола (KDE, Gnome) для большинства распространенных дистрибутивов (семейства Ubuntu и Debian, семейства Fedora и RH).

    
ответ дан dotancohen 01.11.2015 в 12:40
1

В графическом интерфейсе KDE (графический интерфейс пользователя) это можно сделать с помощью макета клавиатуры в настройках системы. Нажмите «Устройства ввода». В левом верхнем углу нажмите «Клавиатура». Затем нажмите вкладку «Дополнительно». В разделе «Действие клавиши Caps Lock» выберите «Переключатель Escape и Capslock».

    
ответ дан farhad goodarzi 21.03.2017 в 21:25
0

Примечание. Это не заменяет, только привязывает кепки к esc. (Это было достаточно хорошо для моего vim usecase.)

Для ubuntu 16:04 (с окружением i3): созданный файл ~ / .xessionrc с контентом

xmodmap -e "clear lock" #disable caps lock switch
xmodmap -e "keysym Caps_Lock = Escape" #set caps_lock as escape
    
ответ дан Manoj Bisht 21.03.2018 в 06:52
0

«Разметка клавиатуры» с ответом «Escape и Capslock» выше недействительна на Ubuntu 16.04 и на (раньше это было? dunno). Ответ: чтобы избежать суеты с разрешениями и т. Д., Просто переключитесь на root, прежде чем вы начнете делать все это на su и введите свой пароль root. Тогда:

    cd /etc/default/
    vim keyboard

Там вы увидите строку:

    XKBOPTIONS=""

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

    XKBOPTIONS="caps:swapescape"

Выход из vim с сохранением:

    :wqa

Reboot.

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

ответ дан Alex F. 09.10.2018 в 23:41