Scrollen mit einem WACOM-Tablettstift

15

Ich habe einen Wacom-Stift mit einem Knopf. Wie kann ich das Scrollen auslösen, wenn ich den Stift mit gedrückter Taste bewege?

Nach xevunten sind die auslösenden Ereignisse MotionNotify mit staatlicher 0x200 .

Wenn dies nicht trivial gemacht wird, ist eine Idee, die ich habe, einen Service aufzubauen, um diese Ereignisse von irgendwoher zu lesen und sie in andere Ereignisse umzuwandeln. Auf diese Weise kann ich auch Gesten definieren. Mit diesem Ansatz:

  • Wo kann ich sie lesen?
  • Wie kann ich Ereignisse zurückschreiben?
  • Gibt es Bibliotheken, um Gesten zu erkennen?
MotionNotify-Ereignis, Seriennummer 33, synthetisches NO, Fenster 0xc00001,
    root 0x2ce, subw 0x0, time 695630659, (349,181), root: (1255,185),
    Zustand 0x0, is_hint 0, same_screen YES

ButtonPress-Ereignis, Seriennummer 33, synthetisches NO, Fenster 0xc00001,
    root 0x2ce, subw 0x0, time 695630659, (349,181), root: (1255,185),
    Zustand 0x0, Taste 2, same_screen YES

MotionNotify-Ereignis, Seriennummer 33, synthetisches NO, Fenster 0xc00001,
    root 0x2ce, subw 0x0, time 695630667, (348,183), root: (1254,187),
    Zustand 0x200, is_hint 0, same_screen YES

MotionNotify-Ereignis, Seriennummer 33, synthetisches NO, Fenster 0xc00001,
    root 0x2ce, subw 0x0, Zeit 695630675, (347,184), root: (1253,188),
    Zustand 0x200, is_hint 0, same_screen YES

...

MotionNotify-Ereignis, Seriennummer 33, synthetisches NO, Fenster 0xc00001,
    root 0x2ce, subw 0x0, Zeit 695632069, (327,486), root: (1233,490),
    Zustand 0x200, is_hint 0, same_screen YES

ButtonRelease-Ereignis, Seriennummer 33, synthetisches NO, Fenster 0xc00001,
    root 0x2ce, subw 0x0, Zeit 695632069, (327,486), root: (1233,490),
    Zustand 0x200, Taste 2, same_screen YES

konr
quelle
Ich wollte nur die gleiche Frage stellen. Irgendwelche Ideen?
Student
Was genau versuchst du zu erreichen? Wenn es nur für eine bestimmte App ist, ist es möglicherweise einfacher, sie so zu konfigurieren. Mit GIMP können Sie beispielsweise ein Bild scrollen, wenn Sie die mittlere Taste gedrückt halten. In Firefox habe ich die Erweiterung "Grab and Drag" verwendet, damit sie ähnlich funktioniert.
Hackerb9

Antworten:

1

Ich stieß auf eine viel einfachere Variante dieses Problems: Die zusätzlichen Tasten meiner Maus wurden in Tastatur- / Maustastenkombinationen übersetzt, damit sie im Fenstermanager zum Verschieben / Ändern der Fenstergröße gebunden werden können. Vielleicht kann mein Code Ihnen als Ausgangspunkt dienen:

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

Der Kern der Idee besteht darin, dass Eingabeereignisse vom /dev/input/...Gerät meiner Maus erfasst, optional geändert und wieder ausgegeben werden /dev/uinput.

Vladimir Panteleev
quelle