Jakie narzędzia wiersza polecenia istnieją do wyświetlania i zarządzania chwytaniami X server? (To jest chwytanie jak w przypadku chwytania klawiszy i wskaźników, tj. Ograniczanie użycia określonego klawisza lub przycisku myszy do określonej aplikacji, lub ograniczanie wskaźnika myszy do pozostawania w określonym obszarze ekranu.) Szukam hipotetycznego xgrab
narzędzia, które pokaż rzeczy jak
Key 0x00f00ba5 0x123 0
Button 0x00f00ba5 2
Pointer 0x00abcdef
co oznacza, że doszło do połączenia XGrabKey(display, 0x123, 0, 0x00f00ba5, ...)
i tak dalej z XGrabButton
, XGrabPointer
, XGrabKeyboard
, XGrabServer
(jeśli to możliwe). Format wyświetlania nie ma znaczenia, to, co chcę, to sposób, aby zobaczyć, kto chwyta, i być może jakiś sposób na odwołanie tych chwytów (jeśli to możliwe, nie jestem pewien, czy interfejs API X11 na to pozwala).
źródło
xdotool key XF86LogGrabInfo
wyzwala tylko dwa wpisy w dzienniku X: „Drukowanie wszystkich aktualnie aktywnych chwytów urządzeń:”, a następnie „Koniec listy aktywnych chwytów urządzeń”. Jednak mój menedżer okien chwyta pęk kluczy. Widziałeś już tę pracę z chwytanymi kluczami?sleep 2; xdotool key "XF86LogGrabInfo"
i od razu zacznij bardzo szybko naciskać klawisz (np. Klawisz „Win”), a wtedy zobaczysz jakieś wyjście w Xorg.log. Lubxdotool
naciśnij jednocześnie klawisze +XF86LogGrabInfo
, tak jak tutajXF86LogGrabInfo
drukuje tylko informacje o aktualnie wciśniętym klawiszu? To ogranicza jego przydatność. Chcę wymienić wszystkie chwytaki - wszystkie pasywne, jeśli dobrze rozumiem terminologię.xfsettingsd
kradłem mójWin
+L
skrót.Nie wiem nic poza zasięgiem pasywnych chwytów 1 jednego klawisza lub przycisku, które mogą być obecne, ale istnieje kilka sposobów, aby wyświetlić listę aktywnych chwytów całej klawiatury lub myszy.
/usr/demo/Xserver/mdb/list_Xserver_devicegrab_client
, jak to opisano w chwytając Informacje z X Server . Jest tu także jeden do przechwytywania serwerów, którego obecnie nie obejmują skróty klawiszowe Xorg 1.11.1 Zobacz http://tronche.com/gui/x/xlib/input/pointer-grabbing.html definicję chwytów aktywnych i pasywnych.
źródło
Jest to dodatek do odpowiedzi ślimaka mechanicznego -
Wpisy w dzienniku Xorg mogą być dość nieczytelne. Napisałem program, który analizuje je i przedstawia w formie możliwej do zrozumienia dla człowieka:
https://gist.github.com/CyberShadow/6412d11aea64144f8905cc0b8196f38e
Aby użyć, najpierw uruchom
xdotool key XF86LogGrabInfo
, jak opisano w odpowiedzi Mechanicznego ślimaka. Następnie uruchom powyższy program. Jeśli plik dziennika Xorg nie znajduje się w/var/log/Xorg.0.log
, możesz określić jego lokalizację za pomocą--xorg-log
opcji. Zobacz--help
szczegóły.źródło
gdc
(kompilator GNU D), alibx11-dev
następnie uruchomićgdc -o xorg-show-grabs xorg-show-grabs.d -lX11
.