Я хотел бы переназначить свои ключи так, чтобы Ctrl kbd> работал как клавиша Caps Lock kbd> и наоборот. Также, если это возможно, я бы хотел, чтобы настройки были доступны только вошедшему в систему пользователю. Как мне этого добиться?
Я - пользователь vim, в отличие от других людей, которые используют эту машину, поэтому я хотел бы, чтобы эти настройки были только для моей учетной записи.
13.10+:
Установите и используйте гном-твик-инструмент
> клавиатура и мышь
> клавиатура
> дополнительные параметры раскладки
> поведение блокировки колпачков
.
Pre 13.10:
Откройте диалоговое окно Параметры клавиатуры (Система -> Параметры -> Клавиатура
). На вкладке макета нажмите кнопку Options...
. Разверните раздел Ctrl положение клавиши
и выберите Swap Ctrl и Caps Lock
.
Эти настройки должны применяться каждый раз при входе в систему, и будут влиять только на вашу учетную запись пользователя.
Откройте для редактирования следующее:
sudo vi /etc/default/keyboard
И отредактируйте XKBOPTIONS="ctrl:swapcaps"
Затем переконфигурируйте:
sudo dpkg-reconfigure keyboard-configuration
или
/usr/bin/setxkbmap -option "ctrl:swapcaps"
Один из лучших способов сделать это графически, если вы используете оболочку GNOME, - это установить Gnome Tweak Tool :
sudo apt -get install gnome-tweak-tool
Для версии 3.30.0 и новее:
Для более старых версий:
Наслаждайтесь новой клавишей Ctrl !
Чтобы навсегда изменить поведение:
запустите dconf-editor
выберите org.gnome.desktop.input-sources
Измените xkb-options
на ['ctrl: nocaps']
(или добавьте его в любые существующие параметры)
или в командной строке ( Предупреждение - это перезаписывает ваши существующие настройки! ):
gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"
Это простая задача, как только вы знаете, как это сделать.
1) Проверьте код своей клавиши. Запустите эту программу на терминале.
xev
В данном примере терминал показывает, что код ключа для моего k равен "45".
2) Измените их так, как вам нравится при создании этого файла:
gedit ~/.Xmodmap
Содержимое должно выглядеть так, как в данном примере:
код клавиши 37 = Caps_Lock NoSymbol Caps_Lock
код клавиши 66 = Control_L NoSymbol Control_L
(При необходимости изменить номер клавиши - посмотрите на шаг "1")
Иллюстрация:
(Обратите внимание: если я хочу изменить свой k, я должен использовать "код 45", как показано на шаге "1").
4) Выход из системы и повторный вход, или перезагрузка, или запуск:
xmodmap ~/.Xmodmap
Надеюсь, вам понравится ;-)
В дистрибутивах на основе KDE (например, KDE Neon или Kubuntu) это поведение можно настроить в обычных системных настройках. Откройте настройки системы, выберите «Устройства ввода» => «Клавиатура» => «Дополнительно». В категории «Положение клавиши Ctrl» выберите «Поменять местами Ctrl и Caps Lock».
Принятый ответ сбивает с толку, потому что gnome-tweak-tools не не показывает никаких разделов "набор текста".
Вместо этого щелкните раздел «Клавиатура и мышь» и выберите «Дополнительный вариант макета». Там вы увидите «поведение Caps Lock», которое позволяет преобразовывать Caps Lock в разные клавиши.
Вот как это сделать вручную (без дополнительных инструментов) через XKB, который является менеджером ключей по умолчанию для последних версий Ubuntus.
Измените / usr / share / X11 / xkb / symbols / pc
, раздел xkb_symbols «pc105»
:
//key <CAPS> { [ Caps_Lock ] };
//key <LCTL> { [ Control_L ] };
key <CAPS> { [ Control_L ] };
key <LCTL> { [ Caps_Lock ] };
Войдите / выйдите из системы или перезагрузитесь. См. здесь для получения дополнительной информации.
В качестве альтернативы вы можете поменять местами коды клавиш, которые выдаются этими кнопками. Измените / usr / share / X11 / xkb / keycodes / evdev
:
<CAPS> = 64; //66;
<LCTL> = 66; //64
Вам потребуется sudo rm -rf / var / lib / xkb / *
, чтобы применить изменения .
Вот способ сделать это без установки дополнительного программного обеспечения:
setxkbmap -layout us -option ctrl:nocaps
Источник:
gnome-tweaks 3.28.1 не имеет раздела Typing
.
Таким образом, setxkbmap -layout us -option ctrl: nocaps
или setxkbmap -layout us -option ctrl: swapcaps
будут возможными вариантами.
Чтобы сделать его постоянным, вы можете обратиться к ответу @name.