Иногда Firefox не отпускает мышь после перетаскивания, поэтому мне нужно убить приложение, чтобы оно освободило захват указателя.
Есть ли какая-либо команда, чтобы заставить приложение убрать указатель, не убивая его?
Иногда Firefox не отпускает мышь после перетаскивания, поэтому мне нужно убить приложение, чтобы оно освободило захват указателя.
Есть ли какая-либо команда, чтобы заставить приложение убрать указатель, не убивая его?
Ответы:
В современных установках X.org есть XF86Ungrabkeyym, которая заставляет сервер освобождать все активные указатели или захваты клавиатуры. Вы можете сделать так, чтобы сервер прерывал все захваты, включив параметр XKB break action, затем генерируя keysym либо с помощью команды, либо с помощью клавиатуры. С помощью xdotool :
setxkbmap -option grab:break_actions
xdotool key XF86Ungrab
В некоторых системах XF86Ungrabсимвол клавиши связан с комбинацией клавиш Ctrl+ Alt+ Keypad /. Однако эта возможность часто отключается, потому что это может позволить обойти заставку ).
Я ответил на это на Super User , и цитирую здесь:
[Как отметил Жиль,] На самом деле это возможно (по крайней мере, в последних версиях X).
Вы можете сделать это, нажав XF86Ungrabклавишу, введенную в этом коммите .
По умолчанию этот ключ не привязан ни к какому физическому ключу или комбинации клавиш (он был отключен в 2012 году после того, как о нем сообщили как о дыре в безопасности, поскольку он позволяет любому обходить экраны блокировки, взламывая их захваты). На некоторых других установках это связано с ярлыком, который использует цифровую клавиатуру. Очевидно, что это не будет работать на ноутбуках без клавиатуры.
Но вы все равно можете активировать KeySym, используя
xdotool:xdotool key XF86UngrabЭто работает с X.org версии 2: 1.11.4-0ubuntu10.8 в Ubuntu Precise.
Ctrl+ Gосвободит фокус мыши в большинстве ситуаций.
Ctrl+Gдля своих собственных целей, такой привязки по всей X не существует.