GNU/Linux >> Znalost Linux >  >> Linux

Manipulace s úchopy kláves a ukazatelů X na příkazovém řádku?

Jaké nástroje příkazového řádku existují pro výpis a správu uchopení X serveru? (To je uchopení jako u uchopení kláves a ukazatelů, tj. omezení použití konkrétní klávesy nebo tlačítka myši na konkrétní aplikaci nebo omezení ukazatele myši tak, aby zůstal v určité oblasti obrazovky.) Hledám hypotetický xgrab nástroj, který by ukazoval věci jako

Key     0x00f00ba5  0x123   0
Button  0x00f00ba5  2       
Pointer 0x00abcdef  

což znamená, že došlo k volání XGrabKey(display, 0x123, 0, 0x00f00ba5, ...) a tak dále pomocí XGrabButton , XGrabPointer , XGrabKeyboard , XGrabServer (Pokud možno). Na formátu zobrazení nezáleží, chci nějaký způsob, jak zjistit, kdo co stahuje, a možná nějaký způsob, jak tato uchopení zrušit (pokud je to možné, nejsem si jistý, jestli to X11 API umožňuje).

Přijatá odpověď:

Nejnovější verze X (server X.org ≥1.11) podporují několik ladicích keysymů představených v tomto potvrzení. Když jsou spuštěny, provádějí akce související s chvaty.

Ve výchozím nastavení (alespoň v posledních verzích) jsou tyto zakázány (neexistují ve výchozí mapě kláves).

Pokud však máte xdotool nainstalován, je je možné je zavolat spuštěním příkazového řádku:

xdotool key NameOfKey

kde NameOfKey je keyym, který chcete aktivovat. Chcete-li například vytisknout seznam aktivních uchopení do protokolu X serveru, použijte xdotool key XF86LogGrabInfo .

Relevantní klíčové symboly jsou:

  • XF86LogGrabInfo :vytiskne seznam aktivních uchopení do protokolu X serveru
  • XF86Unrab :přeruší všechny aktivní chvaty, aniž by zabil aplikaci, která chyty drží
  • XF86ClearGrab :zabije všechny procesy, které drží aktivní chvaty

Všimněte si, že XF86LogGrabInfo uvádí pouze aktivní uchopení, nikoli pasivní uchopení, jako je uchopení klávesy, která není aktuálně stisknuta. Pokud chcete získat informace o pasivním grabování, musíte grab aktivovat:spusťte xdotool key XF86LogGrabInfo zatímco je stisknuta kombinace kláves nebo tlačítka myši, která vás zajímá. Udělejte něco jako:

  1. Spustit sleep 1; xdotool key XF86LogGrabInfo
  2. Do 1 sekundy stiskněte kombinaci klávesy nebo tlačítka myši.
  3. Po 1 sekundě uvolněte klávesu/tlačítko.
  4. Zkontrolujte informace „Active grab…“ v protokolu X serveru (často /var/log/Xorg.0.log ).

Linux
  1. 8 tipů pro příkazový řádek Linuxu

  2. Seřadit pomocí řazení na příkazovém řádku

  3. Manipulace s textem na příkazovém řádku pomocí sed

  1. Zkopírujte a vložte na příkazový řádek Linuxu pomocí xclip

  2. Použití síly na příkazovém řádku Linuxu

  3. Mít krávu na příkazovém řádku Linuxu

  1. Generujte hesla na příkazovém řádku Linuxu

  2. Přihlaste se do příkazového řádku Linuxu

  3. Malá kopie souboru SSH na příkazovém řádku