Rolagem com uma caneta de tablet WACOM

14

Eu tenho uma caneta wacom com um botão. Como posso acionar a rolagem ao mover a caneta com o botão pressionado?

De acordo com xev , abaixo, os eventos de acionamento são MotionNotify com o estado 0x200 .

Se isso não for feito trivialmente, uma ideia que tenho é criar um serviço para ler esses eventos de algum lugar e transformá-los em outros eventos. Dessa forma, posso definir gestos também. Com esta abordagem:

  • Onde posso lê-los?
  • Como posso escrever eventos de volta?
  • Existem bibliotecas para detectar gestos?
MotionNotify event, serial 33, synthetic NO, window 0xc00001,
    root 0x2ce, subw 0x0, time 695630659, (349,181), root:(1255,185),
    state 0x0, is_hint 0, same_screen YES

ButtonPress event, serial 33, synthetic NO, window 0xc00001,
    root 0x2ce, subw 0x0, time 695630659, (349,181), root:(1255,185),
    state 0x0, button 2, same_screen YES

MotionNotify event, serial 33, synthetic NO, window 0xc00001,
    root 0x2ce, subw 0x0, time 695630667, (348,183), root:(1254,187),
    state 0x200, is_hint 0, same_screen YES

MotionNotify event, serial 33, synthetic NO, window 0xc00001,
    root 0x2ce, subw 0x0, time 695630675, (347,184), root:(1253,188),
    state 0x200, is_hint 0, same_screen YES

...

MotionNotify event, serial 33, synthetic NO, window 0xc00001,
    root 0x2ce, subw 0x0, time 695632069, (327,486), root:(1233,490),
    state 0x200, is_hint 0, same_screen YES

ButtonRelease event, serial 33, synthetic NO, window 0xc00001,
    root 0x2ce, subw 0x0, time 695632069, (327,486), root:(1233,490),
    state 0x200, button 2, same_screen YES

    
por konr 29.09.2013 / 17:39

1 resposta

0

Encontrei uma variante muito mais simples desse problema: traduzir as teclas extras do meu mouse em combinações de teclado / mouse-botão, para permitir vinculá-las no gerenciador de janelas para mover / redimensionar janelas. Talvez meu código possa servir você como ponto de partida:

link

A essência da ideia é que ela captura eventos de entrada do dispositivo /dev/input/... do meu mouse, opcionalmente os modifica e os grava de volta para /dev/uinput .

    
por 22.07.2018 / 05:57