Przewijanie za pomocą pióra tabletu WACOM

15

Mam pióro Wacom z przyciskiem. Jak mogę uruchomić przewijanie podczas przesuwania pióra przy wciśniętym przycisku?

Zgodnie z xevponiższym zdarzeniami wyzwalającymi są MotionNotify ze stanem 0x200 .

Jeśli nie zostanie to zrobione w sposób trywialny, moim pomysłem jest zbudowanie usługi do czytania tych wydarzeń i przekształcania ich w inne zdarzenia. W ten sposób mogę również definiować gesty. Dzięki takiemu podejściu:

  • Gdzie mogę je przeczytać?
  • Jak mogę zapisać wydarzenia z powrotem?
  • Czy są biblioteki do wykrywania gestów?
Zdarzenie MotionNotify, numer seryjny 33, syntetyczny NO, okno 0xc00001,
    root 0x2ce, subw 0x0, czas 695630659, (349,181), root: (1255,185),
    stan 0x0, wskazówka 0, ten sam ekran TAK

Zdarzenie ButtonPress, numer seryjny 33, syntetyczny NO, okno 0xc00001,
    root 0x2ce, subw 0x0, czas 695630659, (349,181), root: (1255,185),
    stan 0x0, przycisk 2, ekran same_ TAK

Zdarzenie MotionNotify, numer seryjny 33, syntetyczny NO, okno 0xc00001,
    root 0x2ce, subw 0x0, czas 695630667, (348,183), root: (1254,187),
    stan 0x200, is_hint 0, same_screen TAK

Zdarzenie MotionNotify, numer seryjny 33, syntetyczny NO, okno 0xc00001,
    root 0x2ce, subw 0x0, czas 695630675, (347,184), root: (1253,188),
    stan 0x200, is_hint 0, same_screen TAK

...

Zdarzenie MotionNotify, numer seryjny 33, syntetyczny NO, okno 0xc00001,
    root 0x2ce, subw 0x0, czas 695632069, (327,486), root: (1233,490),
    stan 0x200, is_hint 0, same_screen TAK

Zdarzenie ButtonRelease, numer seryjny 33, syntetyczny NO, okno 0xc00001,
    root 0x2ce, subw 0x0, czas 695632069, (327,486), root: (1233,490),
    stan 0x200, przycisk 2, sam ekran TAK

konr
źródło
Chciałem tylko zadać to samo pytanie. Jakieś pomysły?
student
Co dokładnie próbujesz osiągnąć? Jeśli dotyczy tylko określonej aplikacji, skonfigurowanie jej w ten sposób może być łatwiejsze. Na przykład GIMP pozwala przewijać obraz, jeśli przytrzymasz środkowy przycisk. W Firefoksie użyłem rozszerzenia „Grab and Drag”, aby działało podobnie.
hackerb9

Odpowiedzi:

1

Natknąłem się na znacznie prostszy wariant tego problemu: przetłumaczenie dodatkowych klawiszy myszy na kombinacje klawiatury / myszy i przycisków, aby umożliwić powiązanie ich w menedżerze okien w celu przeniesienia / zmiany rozmiaru okien. Być może mój kod może służyć jako punkt wyjścia:

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

Istotą tego pomysłu jest to, że przechwytuje zdarzenia wejściowe z /dev/input/...urządzenia mojej myszy , opcjonalnie je modyfikuje i zapisuje z powrotem /dev/uinput.

Vladimir Panteleev
źródło