Иногда Firefox не отпускает мышь после перетаскивания, поэтому мне нужно убить приложение, чтобы оно освободило захват указателя.
Есть ли какая-либо команда, чтобы заставить приложение убрать указатель, не убивая его?
Иногда Firefox не отпускает мышь после перетаскивания, поэтому мне нужно убить приложение, чтобы оно освободило захват указателя.
Есть ли какая-либо команда, чтобы заставить приложение убрать указатель, не убивая его?
Ответы:
В современных установках X.org есть XF86Ungrab
keyym, которая заставляет сервер освобождать все активные указатели или захваты клавиатуры. Вы можете сделать так, чтобы сервер прерывал все захваты, включив параметр 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 не существует.