Desplazarse con un lápiz para tableta WACOM

15

Tengo un lápiz Wacom con un botón. ¿Cómo puedo activar el desplazamiento al mover el lápiz con el botón presionado?

Según xev, a continuación, los eventos desencadenantes son MotionNotify con el estado 0x200 .

Si esto no se hace de manera trivial, una idea que tengo es crear un servicio para leer estos eventos desde algún lugar y transformarlos en otros eventos. De esta manera, también puedo definir gestos. Con este enfoque:

  • ¿Dónde puedo leerlos?
  • ¿Cómo puedo escribir eventos de vuelta?
  • ¿Hay bibliotecas para detectar gestos?
Evento MotionNotify, serial 33, NO sintético, ventana 0xc00001,
    raíz 0x2ce, subw 0x0, tiempo 695630659, (349,181), raíz: (1255,185),
    estado 0x0, is_hint 0, same_screen YES

Evento ButtonPress, serial 33, NO sintético, ventana 0xc00001,
    raíz 0x2ce, subw 0x0, tiempo 695630659, (349,181), raíz: (1255,185),
    estado 0x0, botón 2, misma_pantalla SÍ

Evento MotionNotify, serial 33, NO sintético, ventana 0xc00001,
    raíz 0x2ce, subw 0x0, tiempo 695630667, (348,183), raíz: (1254,187),
    estado 0x200, is_hint 0, same_screen YES

Evento MotionNotify, serial 33, NO sintético, ventana 0xc00001,
    raíz 0x2ce, subw 0x0, tiempo 695630675, (347,184), raíz: (1253,188),
    estado 0x200, is_hint 0, same_screen YES

...

Evento MotionNotify, serial 33, NO sintético, ventana 0xc00001,
    raíz 0x2ce, subw 0x0, tiempo 695632069, (327,486), raíz: (1233,490),
    estado 0x200, is_hint 0, same_screen YES

Evento ButtonRelease, serie 33, NO sintético, ventana 0xc00001,
    raíz 0x2ce, subw 0x0, tiempo 695632069, (327,486), raíz: (1233,490),
    estado 0x200, botón 2, misma_pantalla SÍ

Konr
fuente
Solo quería hacer la misma pregunta. ¿Algunas ideas?
estudiante
¿Qué es exactamente lo que estás tratando de lograr? Si es solo para una determinada aplicación, podría ser más fácil configurarla de esa manera. Por ejemplo, el GIMP le permitirá desplazar una imagen si mantiene presionado el botón central. En Firefox, he usado la extensión "Grab and Drag" para que funcione de manera similar.
hackerb9

Respuestas:

1

Me encontré con una variante mucho más simple de este problema: traducir las teclas adicionales de mi mouse en combinaciones de teclado / mouse-button, para permitir vincularlas en el administrador de ventanas para mover / cambiar el tamaño de las ventanas. Quizás mi código pueda servirle como punto de partida:

https://gist.github.com/CyberShadow/ae30a8d9f86c170c2451c3dd7edb649c

La esencia de la idea es que captura eventos de entrada del /dev/input/...dispositivo de mi mouse , opcionalmente los modifica y los vuelve a escribir /dev/uinput.

Vladimir Panteleev
fuente