Рейтинг:4

Переназначить комбинацию клавиш на другую комбинацию, например. AltGr+C -> Ctrl+C, под Wayland

флаг in

в общем хочу спросить этот вопрос, но для GNOME на Wayland. Это означает, что ответы, включающие Автоключ и xbindkeys не будет работать, так как ни один из них не работает под Wayland.

Задний план:

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

Мой план состоит в том, чтобы составить карту CapsLock к AltGr, а затем следуйте это для получения vim-подобных сочетаний клавиш. На Wayland такое переназначение можно сделать через файлы XKB (см. ссылку).

Тем не менее, я также хотел бы использовать CapsLock для копирования/вставки. В настоящее время я сопоставил его с Ctrl (с использованием файлов XKB). Это делает КапсЛок + С работают бесперебойно по всей системе, и хотелось бы это сохранить.

Итак: С CapsLock сопоставляется с AltGr, Я бы хотел Капслок (= AltGr) + C действовать как Ctrl + С.

Мой вопрос:

Под Wayland можно как-то привязать AltGr + С к Ctrl + С?

(без перепривязки AltGr к Ctrl, так как это противоречит цели)

Альтернативный пример с Q

В файле XKB для латиницы /USR/доля/X11/xkb/символы/латиница, для моего Вопрос ключ:

key <AD01> {[q, Q, at, Greek_OMEGA]};

Это означает, что ключ имеет четыре возможных выхода:

  1. Нажатый в одиночку, он производит д.
  2. Нажато с Сдвиг, он производит Вопрос.
  3. Нажато с AltGr, он производит @.
  4. Нажато с AltGr + Shift, он производит ©.

По сути, я хотел бы достичь того, что когда Вопрос нажимается с AltGr, не производит @ но Ctrl + Q.

vanadium avatar
флаг cn
Часть «лучший ответ» в https://itectec.com/ubuntu/ubuntu-configure-caps-lock-as-altgr-and-arrows-like-in-vim/, изменяющая xkb, также будет работать на Wayland.
флаг in
@vanadium Спасибо, да, я знаю и уже использую. Теперь я добавил детали, чтобы прояснить вопрос. Если XKB можно будет использовать для описанной цели, это будет отличная новость! Увы, я понятия не имею, с каким синтаксисом экспериментировать.
vanadium avatar
флаг cn
Хорошо, теперь конкретика более ясна. Это конкретное изменение потребует некоторого решения «поддельного набора текста». Есть ydotool и, возможно, какие-то другие инструменты. Затем привязку можно выполнить из вашего оконного менеджера вместо `xmodmap`. У меня нет опыта, поэтому я не могу пока развить это в ответе.
Рейтинг:2
флаг in

Существует несколько инструментов, которые могут это сделать, например КМонад, Инструменты перехвата, и ключ.

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

Настоящее решение делает то, что я хочу, но обходит использование AltGr объезд. Это лечит CapsLock как Контроль везде, кроме ч , дж , к , л, который меняется на клавиши со стрелками.

1. УСТАНОВКА

я строю ключ из источника, так как это было легко. Следующие строки сначала устанавливают зависимости (включая компилятор C), загружают исходный код, собирают и устанавливают его, включают его как службу, запускают и запускают при запуске.

Когда это будет сделано, он сообщит вам, где он установлен, чтобы вы могли удалить его для удаления. Вы можете удалить исходный код после установки.

sudo apt установить cmake libudev-dev
git клон https://github.com/rvaiya/keyd
компакт-диск
сделать && sudo сделать установить
sudo systemctl включить keyd && sudo systemctl start keyd

2. НАЙДИТЕ НАЗВАНИЕ КЛАВИАТУРЫ, КОТОРУЮ ХОТИТЕ ПЕРЕНАПИСАТЬ

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

судо ключ -м

и нажмите несколько клавиш. Он покажет название клавиатуры и нажатые клавиши. Запишите имя. Мой был Клавиатура AT Translate Set 2.

3. СОЗДАЙТЕ ФАЙЛ КОНФИГУРАЦИИ

Где угодно, создайте файл конфигурации с любым именем. Мы перенесем его позже. Допустим, вы используете ~/my_keyboard.conf.

В нем поместите следующее. # - это комментарии, которые объясняют определенное поведение (обновлено для версии 2.1.1. Надеюсь, я не допустил ошибок):

[идентификаторы]

*

[главный]
### ОСНОВНОЙ СЛОЙ
    
# Заставить Capslock активировать второй слой:

Capslock = слой (движение_слой)

### ВТОРОЙ СЛОЙ (называемый "movement_layer")

# Определяем новый слой, который пока активен
# по умолчанию каждая клавиша обрабатывается так, как если бы был нажат Control,
# (":C" означает, что слой должен наследовать слой управления),
# и отменяет это значение по умолчанию только для h, j, k и l, что
# сопоставляются с направлениями.

[уровень_движения:С]

ч = слева
J = вниз
к = вверх
л = справа

# В общем, в основном слое по умолчанию все стандартно, кроме
# при нажатии CapsLock активируется второй слой.
# Когда активен второй слой, все, кроме h, j, k, l
# действует так, как будто управление удерживается --- например, c копирует и v вставляет,
# чего мы хотим, удерживая CapsLock.)

4. КОПИРОВАТЬ И ПЕРЕИМЕНОВАТЬ ФАЙЛ КОНФИГУРАЦИИ И ПЕРЕЗАПУСТИТЬ KEYD

Затем мы копируем конфигурацию в нужное место и назовем ее правильно, а именно в соответствии с клавиатурой, которую мы хотим переназначить.

sudo cp ~/my_keyboard.conf /etc/keyd/AT\ Translated\ Set\ 2\ keyboard.conf

Затем мы перезапускаем ключ поэтому он загружает новую конфигурацию:

sudo systemctl перезапустить ключ

Теперь ты в деле :)

5. СОВЕТ: СОЗДАЙТЕ Псевдоним, чтобы скопировать конфигурацию и перезапустить ключ.

В итоге я много играл с конфигурационными файлами. Я отредактировал их в подкаталоге моей домашней папки, затем скопировал их и перезапустил.

Чтобы сделать это менее хлопотным, в ~/.bash_aliases, Я добавил

псевдоним rekeyd='sudo cp ~/my_keyboard.conf /etc/keyd/AT\ Translated\ Set\ 2\ keyboard.conf && sudo systemctl restart keyd'

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.