Прокрутка с помощью планшета WACOM

15

У меня есть ручка Wacom с кнопкой. Как запустить прокрутку при перемещении ручки при нажатой кнопке?

В соответствии с xevнижеприведенными событиями запуска являются MotionNotify с состоянием 0x200 .

Если это не делается тривиально, у меня есть идея создать сервис для чтения этих событий откуда-то и преобразования их в другие события. Таким образом, я могу также определять жесты. При таком подходе:

  • Где я могу их прочитать?
  • Как я могу написать события назад?
  • Есть ли библиотеки для обнаружения жестов?
Событие MotionNotify, серийный номер 33, синтетический номер NO, окно 0xc00001,
    корень 0x2ce, subw 0x0, время 695630659, (349,181), корень: (1255,185),
    состояние 0x0, is_hint 0, тот же экран YES

Событие ButtonPress, серийный номер 33, синтетический номер NO, окно 0xc00001,
    корень 0x2ce, subw 0x0, время 695630659, (349,181), корень: (1255,185),
    состояние 0x0, кнопка 2, тот же экран YES

Событие MotionNotify, серийный номер 33, синтетический номер NO, окно 0xc00001,
    корень 0x2ce, subw 0x0, время 695630667, (348,183), корень: (1254,187),
    состояние 0x200, is_hint 0, тот же экран YES

Событие MotionNotify, серийный номер 33, синтетический номер NO, окно 0xc00001,
    корень 0x2ce, subw 0x0, время 695630675, (347,184), корень: (1253,188),
    состояние 0x200, is_hint 0, тот же экран YES

...

Событие MotionNotify, серийный номер 33, синтетический номер NO, окно 0xc00001,
    корень 0x2ce, subw 0x0, время 695632069, (327,486), корень: (1233,490),
    состояние 0x200, is_hint 0, тот же экран YES

Событие ButtonRelease, серийный номер 33, синтетический номер NO, окно 0xc00001,
    корень 0x2ce, subw 0x0, время 695632069, (327,486), корень: (1233,490),
    состояние 0x200, кнопка 2, тот же экран YES

КОНР
источник
Просто хотел задать тот же вопрос. Есть идеи?
студент
Что именно вы пытаетесь достичь? Если это только для определенного приложения, может быть проще настроить его таким образом. Например, GIMP позволит вам прокручивать изображение, если вы удерживаете среднюю кнопку. В Firefox я использовал расширение «Grab and Drag», чтобы оно работало аналогично.
hackerb9

Ответы:

1

Я столкнулся с гораздо более простым вариантом этой проблемы: преобразование дополнительных клавиш моей мыши в комбинации клавиатура / мышь-кнопка, чтобы связать их в диспетчере окон для перемещения / изменения размера окон. Возможно, мой код может послужить вам отправной точкой:

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

Суть идеи заключается в том, что он захватывает входные события с устройства моей мыши /dev/input/..., при необходимости изменяет их и записывает обратно /dev/uinput.

Владимир Пантелеев
источник