マウスをつかんだように見えるアプリケーションがあります(移動できますが、どこでもクリックできません)。X.orgマウスグラブを所有しているアプリを見つける方法はありますか?
ここでマウスを離すために与えられたショートカットは機能していないようでしたので、もっと情報が得られるものに興味があります。
マウスをつかんだように見えるアプリケーションがあります(移動できますが、どこでもクリックできません)。X.orgマウスグラブを所有しているアプリを見つける方法はありますか?
ここでマウスを離すために与えられたショートカットは機能していないようでしたので、もっと情報が得られるものに興味があります。
回答:
このコミットXF86LogGrabInfoで導入されたキーを押すことでこれを行うことができます。
デフォルトでは、このキーシムは物理キーまたはキーの組み合わせにバインドされていません。ただし、次を使用してアクティブ化することができますxdotool
。
xdotool key "XF86LogGrabInfo"
そのコマンドを実行すると、アクティブなグラブのリストがXログに記録されます。少なくともUbuntuでは、これは/var/log/Xorg.0.log
です。ログファイルの終わり近くのどこかになりますが、その下にいくつかの無関係なログメッセージがある場合があります。グラブがない場合、それは書き込みます:
[1199271.146] (II) Printing all currently active device grabs:
[1199271.146] (II) End list of active device grabs
グラブがある場合(ここでは、Firefoxでメニューを開きました)、次のようなログを記録します。
[1199428.782] (II) Printing all currently active device grabs:
[1199428.782] Active grab 0x4c00000 (core) on device 'Virtual core pointer' (2):
[1199428.782] client pid 15620 /usr/lib/firefox/firefox
[1199428.782] at 1199423728 (from active grab) (device thawed, state 1)
[1199428.782] core event mask 0x7c
[1199428.782] owner-events true, kb 1 ptr 1, confine 0, cursor 0x0
[1199428.782] (II) End list of active device grabs
私は同様の問題を抱えていて、それをバグに絞り込んで、どういうわけかX11に中央のボタンが押されていてリリースされていないと思わせるようにしました。mouseupイベントが発生するまで、マウスを物理的に切断しても役に立ちません。
この問題は次を使用して再現できますxdotool mousedown 2
-ウィンドウ間でフォーカスを切り替えることは不可能です。
xdotool key XF86LogGrabInfo
現在フォーカスされているプロセスウィンドウを表示しますが、強制終了すると別のウィンドウがフォーカスを取得し、同じシナリオが継続します。
回避策:問題xdotool mouseup 2
。
更新:中央のボタンが押されてリリースされていないのは、ほとんどのアプリがそれに反応しないため、目立たないものです。一部のマウスには、このボタンがなく、問題がなくなるかどうかを確認するためのボタンがありません
Xorgログのエントリはかなり判読できない場合があります。それらを解析し、人間が理解できる形式で表示するプログラムを作成しました。
https://gist.github.com/CyberShadow/6412d11aea64144f8905cc0b8196f38e
使用するには、最初にを実行しますxdotool key XF86LogGrabInfo
。Mechanicalsnailの回答で説明されています。次に、上記のリンクされたプログラムを実行します。Xorgログファイルがにない/var/log/Xorg.0.log
場合は、--xorg-log
オプションを使用してその場所を指定できます。詳細--help
をご覧ください。