Intereting Posts
Не удается удалить системную электронную почту Как использовать / etc / hosts в несвязанном DNS-сервере? Как Bash обрабатывает командную строку? Есть ли грамматический ключ под Linux? Заставить Firefox запоминать пароли на определенных сайтах Становление корня изнутри Vim Запуск входа в Telnet очень медленный на статическом IP-адресе, возможно ли rDNS? Можно ли изменить размер сектора раздела для zfs raidz pool в linux? Emacs: сделать часть буфера readonly Разделить страницы в pdf Смартфон, используемый в качестве USB-накопителя, правильно читается на компьютере XP VirtualBox, но Linux Mint показывает только корневые папки Какой инструмент вы используете для монтирования гибкого USB-накопителя с плиткой wm Полностью доступ к структуре меню DVD-фильмов: любая альтернатива VLC? Нет сети в slackware При использовании UXRVT в цветах колонок Arch Linux работает только для пользователей root, но не для обычных пользователей

Сделать Compose не компоновкой после определенных нажатий клавиш

На моем ноутбуке я использую Win как модификатор. При нажатии клавиши Fn клавиша посылает разные клавиши, и я использую это как ключ Compose.

keycode 133 = Hyper_L keycode 134 = Multi_key add mod4 = Hyper_L 

У меня есть привязки клавиш окна менеджера формы Hyper + KP_N . На ноутбуке для этого требуется нажать и удерживать Win , затем нажать и удерживать Fn , а затем нажать KP_ N и, наконец, освободить все. Если я нажимаю Fn до Hyper , это отправляет Multi_key keysym вместо Hyper_L , поэтому я Hyper_L Compose. Я считаю, что координация пальца требуется, чтобы нажать Fn до Hyper, чтобы быть намного меньше, поэтому я хотел бы иметь возможность сделать это. Если я затем нажимаю клавишу клавиатуры (что требует Fn ), я хочу, чтобы нажатие клавиши было интерпретировано как модификатор mod4 вместо Multi_key .

Я могу добавить модификатор mod4 к клавишам Multi_key , и это делает мои привязки оконного менеджера работать, когда я нажимаю Fn и Hyper в любом порядке. Однако, если я сначала нажимаю Fn (как это происходит естественным образом), это запишет Multi_key keysym, поэтому последовательность клавиш, такая как Fn + Hyper + KP_1 , a , ' заканчивается переключением на рабочую область 1 и вставляет вместо 'a , á вместо 'a , потому что приложение, которое сфокусировано после активации сочетания клавиш, получает событие релиза ключа для Multi_key .

Как я могу взять пирог и съесть его?

  • Если я нажму на Hyper и Fn в любом порядке, то нажмите клавишу клавиатуры, это должно привести только к привязке моего оконного менеджера и не оставить ожидающий состав. Либо приложение не должно получать ключевое событие релиза для Multi_key , либо оно должно получить другое событие (введенное диспетчером окон), которое эффективно отменит первый.
  • Если я нажму и удерживаю Fn и нажимаю Hyper , а затем отпустите их оба, это должно отправить событие Press и release для Multi_key .

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

Если решение включает XKB, я не хочу определять всю конфигурацию клавиатуры через XKB. Часть XKB должна быть сосредоточена на определении группы для затронутых ключей (или что-то еще).