Прокрутка с помощью планшета 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.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.