У меня есть несколько кнопок мыши, отображенных (Fluxbox) для выполнения команд xvkbd, для Входят (\r) и Ctrl+U (\Cu), который входит супер удобный.
Это работает над терминалами и большинством приложений, но не над приложениями GTK3, это стало дополнительным примечательный теперь, когда Firefox переключается на него также.
Я протестировал это путем выполнения на терминале:
sleep 3 && xvkbd -xsendevent -text "\Cu"
И быстро фокусируясь на текстовом поле для приложения GTK2, и это работает. Когда я делаю это на приложении GTK3, это не делает.
Остальная часть привязки мыши хорошо работает, таким образом, GTK распознает нажатия кнопки мыши, но игнорирует xvkbd -xsendevent
инструкция, как доказано вышеупомянутым тестом.
Какое-либо понимание?
Все, что я нашел, было этой электронной почтой списка рассылки с 2012 без ответов и не большого количества информации: https://mail.gnome.org/archives/gtk-list/2012-May/msg00001.html
Мое решение состояло в том, чтобы изменить инструменты, xdotool
хорошо работает. Это кажется, потому что GTK3 переключился на X Входов 2.0, который не поддерживает xvkbd.
Мои новые привязки клавиш:
xdotool key "Return"
xdotool key "Control_L+u"
, Которые заменяют:
xvkbd -xsendevent -text "\r"
xvkbd -xsendevent -text "\Cu"
Попытка удаляет-xsendevent опцию.
xvkbd используют XSendEvent () для отправки событий, когда-xsendevent указан, но много приложений, вероятно, включая gtk3 приложения, проигнорируют те события.
xvkbd будет использовать другой механизм, расширение XTEST, когда-xsendevent не указан при условиях, что xvkbd компилируется с включенной поддержкой XTEST, и X-сервером является также включенный XTEST.