强制指针松开的命令(捕获的鼠标释放)

Ari*_*yan 39 command-line xorg firefox mouse

有时 Firefox 在拖动后不会释放鼠标,因此我需要终止应用程序以强制它释放指针抓取。

是否有任何命令可以强制应用程序在不杀死指针的情况下取消抓取指针?

Gil*_*il' 47

在现代风格的 X.org 安装中,有一个XF86Ungrabkeysym,它会导致服务器释放所有活动的指针或键盘抓取。您可以通过启用中断操作 XKB 选项使服务器中断所有抓取,然后使用命令或键盘生成键符。使用xdotool

setxkbmap -option grab:break_actions
xdotool key XF86Ungrab
Run Code Online (Sandbox Code Playgroud)

在某些系统上,XF86Ungrabkeysym 绑定到组合键Ctrl+ Alt+ Keypad /。然而,这种可能性通常被关闭,因为它可能允许绕过屏幕保护程序)。


Mec*_*ail 9

在 Super User 上回答了这个问题,并在这里引用:

[正如 Gilles 指出的那样,] 事实上,可以做到这一点(至少对于最新版本的 X)。

您可以通过按此提交中XF86Ungrab引入的键来执行此操作。

默认情况下,此键符不绑定到任何物理键或键组合(它在 2012 年被报告为安全漏洞后被禁用,因为它允许任何人通过打破他们的抓握来绕过锁定屏幕)。在其他一些设置中,它绑定到使用数字键盘的快捷方式。显然,这不适用于没有键盘的笔记本电脑。

但是您仍然可以使用xdotool以下方法激活键符:

xdotool key XF86Ungrab
Run Code Online (Sandbox Code Playgroud)

这适用于 Ubuntu Precise 上的 X.org 版本 2:1.11.4-0ubuntu10.8。


llu*_*lua -9

Ctrl+G在大多数情况下会释放鼠标焦点。

  • 我见过的任何版本的 Firefox 都不是这种情况,而且“在大多数情况下”也绝对不是这种情况:许多应用程序出于自己的目的使用“Ctrl+G”,不存在这种 X 范围的绑定。 (4认同)
  • 我怀疑这项工作是否有效;它是一个修饰符加一个键,这些组合用于应用程序(例如,firefox 用此激活“查找”框),而不是用于像 X 这样的东西(X 使用像 Alt+Ctrl+Backspace 这样的键)!之后我尝试了正常的拖放操作,但什么也没发生! (2认同)