GNU/Linux >> Tutoriales Linux >  >> Linux

¿Manipulación de teclas X y punteros en la línea de comandos?

¿Qué herramientas de línea de comandos existen para enumerar y administrar capturas de servidores X? (Eso es agarrar como en las capturas de teclas y punteros, es decir, restringir el uso de una tecla o botón del mouse en particular a una aplicación en particular, o restringir el puntero del mouse para que permanezca en un área de pantalla en particular). Estoy buscando un hipotético xgrab utilidad que mostraría cosas como

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

lo que significa que ha habido una llamada a XGrabKey(display, 0x123, 0, 0x00f00ba5, ...) y así sucesivamente con XGrabButton , XGrabPointer , XGrabKeyboard , XGrabServer (si es posible). El formato de visualización no importa, lo que quiero es alguna forma de ver quién está tomando qué, y posiblemente alguna forma de revocar estas capturas (si es posible, no estoy seguro de si la API X11 lo permite).

Respuesta aceptada:

Las versiones recientes de X (servidor X.org ≥1.11) admiten varios keysyms de depuración, presentados en este compromiso. Cuando se activan, realizan acciones relacionadas con capturas.

De forma predeterminada (al menos en las versiones recientes), estos están deshabilitados (ausentes del mapa de teclas predeterminado).

Sin embargo, si tiene xdotool instalado, es posible llamarlos, ejecutando en la línea de comando:

xdotool key NameOfKey

donde NameOfKey es el keysym que desea activar. Por ejemplo, para imprimir una lista de capturas activas en el registro del servidor X, use xdotool key XF86LogGrabInfo .

Keysyms relevantes son:

  • XF86LogGrabInfo :imprime una lista de capturas activas en el registro del servidor X
  • XF86Desagarrar :interrumpe todas las capturas activas, sin eliminar la aplicación que contiene las capturas
  • XF86ClearGrab :elimina todos los procesos que tienen capturas activas

Tenga en cuenta que XF86LogGrabInfo solo enumera capturas activas, no capturas pasivas, como agarrar una tecla que no está presionada actualmente. Si desea obtener información sobre una captura pasiva, debe activar la captura:ejecute xdotool key XF86LogGrabInfo mientras se presiona la combinación de teclas o botones del mouse que le interesan. Haz algo como:

  1. Ejecutar sleep 1; xdotool key XF86LogGrabInfo
  2. Dentro de 1 segundo, presione la combinación de teclas o botones del mouse.
  3. Después de 1 segundo, suelte la tecla/botón.
  4. Verifique la información de "Active grab..." en el registro del servidor X (a menudo /var/log/Xorg.0.log ).

Linux
  1. Ordenarse con ordenar en la línea de comando

  2. Copie y pegue en la línea de comandos de Linux con xclip

  3. Usando la fuerza en la línea de comando de Linux

  4. Tener una vaca en la línea de comandos de Linux

  5. Encárguese en la línea de comandos de Linux

Domina la línea de comandos de Linux

Cómo cerrar Debian 10 desde la línea de comandos y la GUI

Manipulación de texto en la línea de comando con grep

¿Encontrar la línea de comando?

Encontrar los archivos y carpetas más grandes en la línea de comandos de Linux

MySQL la línea de comando y buscapersonas