使用 WACOM 数位板笔滚动

kon*_*onr 16 linux xorg hardware wacom

我有一支带按钮的 wacom 笔。在按下按钮的情况下移动笔时如何触发滚动?

根据xev,下面,触发事件是状态为0x200 的MotionNotify

如果这不是轻而易举地完成,我的一个想法是构建一个服务来从某个地方读取这些事件并将它们转换为其他事件。这样,我也可以定义手势。通过这种方法:

  • 我在哪里可以阅读它们?
  • 我怎样才能写回事件?
  • 是否有用于检测手势的库?
MotionNotify 事件,序列号 33,合成 NO,窗口 0xc00001,
    根 0x2ce, subw 0x0, 时间 695630659, (349,181), 根:(1255,185),
    状态 0x0, is_hint 0, same_screen 是

ButtonPress 事件,串行 33,合成 NO,窗口 0xc00001,
    根 0x2ce, subw 0x0, 时间 695630659, (349,181), 根:(1255,185),
    状态 0x0,按钮 2,same_screen 是

MotionNotify 事件,序列号 33,合成 NO,窗口 0xc00001,
    根 0x2ce, subw 0x0, 时间 695630667, (348,183), 根:(1254,187),
    状态 0x200, is_hint 0, same_screen 是

MotionNotify 事件,序列号 33,合成 NO,窗口 0xc00001,
    根 0x2ce, subw 0x0, 时间 695630675, (347,184), 根:(1253,188),
    状态 0x200, is_hint 0, same_screen 是

...

MotionNotify 事件,序列号 33,合成 NO,窗口 0xc00001,
    根 0x2ce, subw 0x0, 时间 695632069, (327,486), 根:(1233,490),
    状态 0x200, is_hint 0, same_screen 是

ButtonRelease 事件,串行 33,合成 NO,窗口 0xc00001,
    根 0x2ce, subw 0x0, 时间 695632069, (327,486), 根:(1233,490),
    状态 0x200, 按钮 2, same_screen 是

Vla*_*eev 1

我遇到了这个问题的一个更简单的变体:将鼠标上的额外按键转换为键盘/鼠标按钮组合,以允许将它们绑定在窗口管理器中以移动/调整窗口大小。也许我的代码可以作为您的起点:

https://gist.github.com/Cyber​​Shadow/ae30a8d9f86c170c2451c3dd7edb649c

这个想法的要点是,它从我的鼠标/dev/input/...设备捕获输入事件,有选择地修改它们,然后将它们写回/dev/uinput.