Повторно отобразите Caps Lock на Ctrl-b

Как xkb или некоторый другой инструмент могут использоваться для постоянной привязки Caps Lock с ctrl+b в то время как в терминале?

(Это должно сделать Caps Lock ключом префикса по умолчанию для tmux. Это могло также быть отображено на определенном ключе, если это слишком трудно, например, функциональная клавиша, которая могла бы затем быть сделана tmux префиксом вместо этого.)

5
задан 29 June 2018 в 21:34

1 ответ

XKB будет подходить для графический интерфейсов пользователя Xwindows или Уэйленда. Это не будет влиять на виртуальные консоли, но эмуляторы терминала GUI будут прекрасны. Для фона XKB я укажу на Вас на некоторых (обзор, система по сравнению с пользователем).. другой (пользовательские опции).. ответы (пользовательские правила).

Следующее позволит Вам добавлять новую опцию как caps:myf13 к существующему расположению XKB с любыми инструментами Вы обычно использовали бы (setxkbmap, localectl настройки, панель GNOME, и т.д.).


Определение опции

Существующие XKB capslock опции перечислены в /usr/share/X11/xkb/rules/evdev.lst. Рассмотрение соответствующих опций в .../rules/evdev файл, Вы видите, что эти опции все загружаются из файла .../symbols/capslock. Все они - модифицирующие клавиши, которые, вероятно, не являются лучшим примером, но caps:backspace могло бы быть хорошее сравнение. Смотря на файл, мы находим строку файла конфигурации, определяющую эту опцию:

hidden partial modifier_keys
xkb_symbols "backspace" {
    key <CAPS> { [ BackSpace ] };
};

grep'луг через другие файлы символов, мы видим, что символ F13 просто F13. Новая строка файла конфигурации опции могла бы быть похожей на это:

hidden partial modifier_keys
xkb_symbols "myf13" {
    key <CAPS> { [ F13 ] };
};

Как Вы видите, мы только изменили имя опции и символа, присвоенного ключу.


Снятие трубки его

Единственная вещь, оставленная сделать, поднимают трубку новую строку файла конфигурации. В основной системе Xwindows, с помощью инструментов командной строки как setxkbmap и xkbcomp, пользовательское пользовательское местоположение сделает прекрасный; для GNOME KDE или системы Уэйленда необходимо будет внести изменения в системной базе данных XKB.

Как пример для системных изменений (Вам будет нужно sudo доступ, чтобы создать или отредактировать эти файлы):

  • Поместите пользовательскую строку файла конфигурации в новый файл символов, например, /usr/share/X11/xkb/symbols/mycaps.

  • Добавьте это к /usr/share/X11/xkb/rules/evdev чуть ниже строки для caps:backspace:

      caps:myf13   =   +mycaps(myf13)
    
  • ... добавьте к /usr/share/X11/xkb/rules/evdev.lst:

      caps:myf13      Caps Lock is F13
    
  • ... добавьте к /usr/share/X11/xkb/rules/evdev.xml:

          <option>
            <configItem>
              <name>caps:myf13</name>
              <description>Caps Lock is F13</description>
            </configItem>
          </option>
    
  • Наконец, сделайте резервные копии из Вашего .../rules/evdev* файлы, или создают файл исправления. Ваши изменения будут перезаписаны каждый раз, когда xkb-data пакет обновляется. Если Вы сохранили свою строку файла конфигурации модификации в .../symbols/capslock файл, это должно будет быть сохранено также.

После того как эти изменения внесены, необходимо смочь установить эту опцию, как будто это была любая другая опция XKB. Вы, возможно, должны перезапустить любую сессию GNOME/KDE для панелей управления для взятия изменений, но инструментов как setxkbmap должен сразу найти его: setxkbmap -option caps:myf13

3
ответ дан 23 November 2019 в 10:26

Другие вопросы по тегам:

Похожие вопросы: