¿Hay alguna forma de obtener el estado del botón del mouse desde bash? Xdotool solo puede obtener la ubicación del mouse.
Me gustaría configurar algo donde pueda definir una regla donde cuando se presiona un botón del mouse, se puede ejecutar un script.
MouseButton1Down
y losMouseButton1Up
eventos para actuar.Respuestas:
Esto le da un estado para todos los botones del mouse, que se ve así:
El mouse_id se puede obtener de:
Aquí hay una pequeña secuencia de comandos del observador del botón del mouse:
Es posible que deba cambiar la cadena de detección MOUSE_ID ('mouse') por otra cosa.
fuente
xinput --list
me daX Input extension not available.
. Lamentablemente, Google para este asunto no revela nada que sea útil en mi caso:Xvnc4
en una máquina virtual Debian mínima. Probablemente no tengo suertePuede usar la herramienta de línea de comandos
xev
para averiguar el estado de los botones de su mouse dentro del entorno X.Ejemplo
Pero esta información solo lo lleva parcialmente a una solución. La información clave que desea extraer de arriba es qué número está asociado con un botón particular de su mouse. En mi ejemplo, presiono el botón izquierdo "buton 1".
xbindkeys
Puede usar esta herramienta para configurar una acción asociada con un botón que se presiona. Incluso puede configurar una regla que requiera presionar una tecla o incluso presionar una tecla + un botón.
Ejemplo
Primero deberá asegurarse de que los paquetes xbindkeys estén instalados.
Luego, deberá ejecutar el siguiente comando, solo una vez, para crear un archivo de configuración de plantilla xbindkeys.
Con el archivo creado, puede abrirlo en un editor de texto y agregar una regla como esta:
Esta regla establece que queremos ejecutar el programa
xterm
cuando se presiona el botón 3. El "botón 3" es mi botón derecho del mouse.Con el cambio anterior realizado, necesitamos eliminar xbindkeys si ya se está ejecutando y luego reiniciarlo.
Ahora con esto ejecutándose cada vez que hago clic con el botón derecho del mouse,
xterm
se ejecutará unReferencias
fuente
si solo desea ejecutar el comando bash en xterm al hacer clic con el mouse (o evento de rueda) puede probar este ejemplo:
esto es para evento de rueda (para clic set 12 en su lugar)
fuente
No puede tener su evento de prensa de botón de
pastely comérselo. Si desea que su script reciba un evento de mouse, entonces el evento del mouse se enviará a su script en lugar de a cualquier otra aplicación, lo que significa que su script debe tomar el evento del mouse. Si su script no reclama el evento, entonces la ventana que debería obtenerlo lo recibe.Si lo desea, puede reenviar el evento del mouse a la ventana enfocada o la ventana en las coordenadas dadas (
xdotool click
).Puede usar XBindKeys para ejecutar un script en ciertos eventos de mouse o teclado.
fuente