от арх вики ссылка Я выполнил шаги и преуспел в ОС «Arch Linux» и «Ubuntu 20.04» для сохранения клавиши Caps Lock + клавиш u, h, j, n и т. Д. Этот метод позволяет выделять текст клавишами Shift+Caps+h, как указано в ссылке.
Прежде чем продолжить, прочтите Меры предосторожности и подготовка ссылка
Шаг 1
Отредактируйте файл /usr/доля/X11/xkb/типы/полный
Оригинальный контент в Ubuntu 20.04
по умолчанию xkb_types "полный" {
включить "базовый"
включать "мышиные клавиши"
включить "ПК"
включить "iso9995"
включить "уровень 5"
включить «дополнительно»
включить «цифровую клавиатуру»
};
После редактирования
по умолчанию xkb_types "полный" {
включить "базовый"
включать "мышиные клавиши"
включить "ПК"
включить "iso9995"
включить "уровень 5"
включить «дополнительно»
включить «цифровую клавиатуру»
введите "CUST_CAPSLOCK" {
модификаторы= Shift+Lock;
карта[Сдвиг] = Уровень2; //сопоставляет сдвиг и отсутствие блокировки.Shift+Alt тоже подходит, потому что Alt нет в модификаторах.
карта [Замок] = Уровень 3;
карта[Shift+Lock] = Уровень3; //сопоставляет сдвиг и блокировку. Здесь также работает Shift+Lock+Alt.
level_name[Level1]= "База";
level_name[Level2]= "Shift";
level_name[Level3]= "Замок";
};
};
Шаг 2
Отредактируйте файл /usr/доля/X11/xkb/compat/complete
После редактирования
по умолчанию xkb_compatibility "полный" {
включить "базовый"
увеличить "iso9995"
увеличить "клавиши мыши"
увеличить "доступ x (полный)"
увеличить "разное"
расширение "xfree86"
аугмент "уровень 5"
увеличить "шапки(caps_lock)"
интерпретировать Caps_Lock + AnyOfOrNone (все) {
действие = SetMods (модификаторы = Блокировка);
};
};
Шаг 3
Отредактируйте файл /usr/доля/X11/xkb/символы/нас
#изменение нас
с вашим фактическим файлом символов.
Некоторый отредактированный контент
клавиша <AC05> {[g, G]};
// ключ <AC06> {[h, H]};
клавиша <AC06> {
тип = "CUST_CAPSLOCK",
символы[Группа1]= [h, H, Left],
действия[Группа1]= [NoAction(), NoAction(), RedirectKey(keycode=<LEFT>, clearmods=Lock)]
};
клавиша <AC07> {[j,J]};
клавиша <AC08> {[k,K]};
Точно так же отредактируйте файлы символов в соответствии с вашими требованиями.
ключевые символы можно получить
ксев | grep keysym
команда
$ xev | grep keysym
состояние 0x0, код клавиши 36 (символ клавиши 0xff0d, возврат), тот же_экран ДА,
состояние 0x0, код клавиши 112 (keysym 0xff55, предыдущий), same_screen YES,
состояние 0x0, код клавиши 112 (keysym 0xff55, предыдущий), same_screen YES,
состояние 0x0, код клавиши 117 (keysym 0xff56, Next), тот же_экран ДА,
состояние 0x0, код клавиши 117 (keysym 0xff56, Next), тот же_экран ДА,
состояние 0x0, код клавиши 22 (keysym 0xff08, BackSpace), тот же_экран ДА,
состояние 0x0, код клавиши 22 (keysym 0xff08, BackSpace), тот же_экран ДА,
состояние 0x0, код клавиши 9 (keysym 0xff1b, Escape), тот же_экран ДА,
состояние 0x0, код клавиши 9 (keysym 0xff1b, Escape), тот же_экран ДА,
состояние 0x0, код клавиши 110 (keysym 0xff50, Home), тот же_экран ДА,
состояние 0x0, код клавиши 110 (keysym 0xff50, Home), тот же_экран ДА,
состояние 0x0, код клавиши 115 (символ клавиши 0xff57, конец), тот же_экран ДА,
состояние 0x0, код клавиши 115 (символ клавиши 0xff57, конец), тот же_экран ДА,
$
Шаг 4
Запустите приведенную ниже команду, чтобы немедленно применить изменения.
триггер sudo udevadm --subsystem-match=input --action=change
Источник вышеуказанной команды https://askubuntu.com/a/1075707/739431