Às vezes, o Firefox não libera o mouse após arrastá-lo, por isso preciso interromper o aplicativo para forçá-lo a liberar sua captura de ponteiro.
Existe algum comando para forçar um aplicativo a desagrupar o ponteiro sem matá-lo?
Às vezes, o Firefox não libera o mouse após arrastá-lo, por isso preciso interromper o aplicativo para forçá-lo a liberar sua captura de ponteiro.
Existe algum comando para forçar um aplicativo a desagrupar o ponteiro sem matá-lo?
Respostas:
Nas instalações modernas do X.org, existe um XF86Ungrab
keyym, que faz com que o servidor libere todas as capturas ativas de ponteiro ou teclado. Você pode fazer com que o servidor interrompa todas as garras, ativando a opção XKB de ação de interrupção e, em seguida, gerando o teclado com um comando ou com o teclado. Com o xdotool :
setxkbmap -option grab:break_actions
xdotool key XF86Ungrab
Em alguns sistemas, o XF86Ungrab
keyym é vinculado à combinação de teclas Ctrl+ Alt+ Keypad /. No entanto, essa possibilidade geralmente é desativada porque pode permitir ignorar um protetor de tela ).
Eu respondi isso no Superusuário e estou citando aqui:
[Como Gilles observou:] De fato, é possível fazer isso (pelo menos nas versões recentes do X).
Você pode fazer isso pressionando a XF86Ungrabtecla, introduzida neste commit .
Por padrão, esse keyym não está vinculado a nenhuma chave física ou combinação de teclas (foi desativado em 2012 após ter sido relatado como uma falha de segurança, pois permite que qualquer pessoa ignore as telas de bloqueio quebrando as garras). Em algumas outras configurações, ele é vinculado a um atalho que usa o teclado numérico. Obviamente, isso não funcionará em laptops sem teclado.
Mas você ainda pode ativar o keyym usando
xdotool
:xdotool key XF86Ungrab
Isso funciona com o X.org versão 2: 1.11.4-0ubuntu10.8 no Ubuntu Precise.
Ctrl+ Glibera o foco do mouse na maioria das situações.
Ctrl+G
para seus próprios propósitos, não existe essa ligação X-wide.