마우스를 잡은 것 같은 응용 프로그램이 있습니다 (움직일 수는 있지만 아무 곳이나 클릭 할 수는 없습니다). X.org 마우스 잡기를 소유 한 응용 프로그램을 찾는 방법이 있습니까?
마우스를 놓기 위해 여기 에 주어진 바로 가기 가 작동하지 않아서 더 많은 정보를 줄 수있는 것에 관심이 있습니다.
마우스를 잡은 것 같은 응용 프로그램이 있습니다 (움직일 수는 있지만 아무 곳이나 클릭 할 수는 없습니다). X.org 마우스 잡기를 소유 한 응용 프로그램을 찾는 방법이 있습니까?
마우스를 놓기 위해 여기 에 주어진 바로 가기 가 작동하지 않아서 더 많은 정보를 줄 수있는 것에 관심이 있습니다.
답변:
이 커밋에XF86LogGrabInfo 도입 된 키 를 눌러이 작업을 수행 할 수 있습니다 .
기본적으로이 키 심은 실제 키 또는 키 조합에 바인딩되지 않습니다. 그러나 여전히 다음을 사용하여 활성화 할 수 있습니다 xdotool.
xdotool key "XF86LogGrabInfo"
해당 명령을 실행하면 활성 잡기 목록이 X 로그에 기록됩니다. 우분투에서 적어도 이것은입니다 /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 현재 초점이 맞춰진 프로세스 창을 보여 주지만, 하나가 종료되면 다른 창이 초점을 받고 동일한 시나리오가 계속됩니다.
해결 방법 : issue xdotool mouseup 2.
업데이트 : 중간 버튼을 눌렀다가 놓지 않는 것은 가장 눈에 띄지 않습니다. 대부분의 앱이 응답하지 않기 때문에 일부 마우스에는이 버튼이 없어서 문제가 사라 졌는지 확인할 수 있습니다.
Xorg 로그의 항목은 해독 할 수 없습니다. 나는 그것들을 파싱하고 인간이 다루기 쉬운 형태로 제시하는 프로그램을 작성했다.
https://gist.github.com/CyberShadow/6412d11aea64144f8905cc0b8196f38e
사용하려면 xdotool key XF86LogGrabInfo기계 달팽이의 답변에 설명 된대로 먼저 실행하십시오 . 그런 다음 위에 링크 된 프로그램을 실행하십시오. Xorg 로그 파일이에없는 /var/log/Xorg.0.log경우 --xorg-log옵션을 사용하여 해당 위치를 지정할 수 있습니다 . 자세한 내용 --help을 참조하십시오.