Как сделать так, чтобы пользовательские ярлыки работали при отпускании клавиши, а не при нажатии клавиши? [дубликат]

Я использую Ubuntu 14.04. с Unity DE.

Как заставить сочетания клавиш работать с клавишей , выпуск , а не с нажатием клавиши ?

Например, если я хочу использовать клавишу Windows для нескольких сочетаний клавиш, она работает только для того, которое запускается только клавишей win, потому что сочетание клавиш работает до того, как будет зарегистрировано следующее нажатие клавиши.

4
задан 27 August 2018 в 10:32

1 ответ

Не точно ответ, но возможно решение.

AFAIK, ключи, которые Вы упоминаете, являются модифицирующими клавишами, которые предназначаются для изменения эффекта другого (немодификатор) клавиша, нажатая одновременно.

я не являюсь очень хорошо сведущим в аппаратных средствах, но я полагаю, что часть обработки модификатора может на самом деле произойти в аппаратных средствах клавиатуры или в драйверах - таким образом, они не легко доступны на прикладном уровне. Я знаю, что некоторые клавиатуры, которые я имел много лет назад, производят 8-разрядные символы ASCII и на самом деле изменили некоторые из тех битов при нажатии Ctrl или сдвига.

Однако работая xev шоу, что "высокоуровневое" программное обеспечение может получить доступ к фактическим скэн-кодам, выходящим из клавиатуры "устройство", таким образом, я ожидаю, что возможно записать Ваш собственный заменяющий драйвер клавиатуры, который сделает что угодно, которое Вы достаточно квалифицированы для кодирования, но выполнение, которое могло бы включить большое знание ядра и другие внутренности Linux.

Вместо того, чтобы вырастить волосы на Ваших глазных яблоках, изучающих весь тот материал, сначала рассмотрите несколько альтернатив, которые могут служить некоторым или всем Вашим потребностям:

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

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

Это разработано для использования в gui средах, которые поддерживаются или GTK или QT, но также и будут хорошо работать в окне терминала.

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

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

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

1
ответ дан 1 December 2019 в 10:38

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

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