WACOMタブレットペンでスクロール

WACOMタブレットペンでスクロール

ボタン付きワコムペンがあります。ボタンを押してペンを動かすとスクロールをトリガーするには?

によると、xev次のトリガーイベントは次のとおりです。スポーツ通知状態とともに0x200

これが些細なものではない場合、私が持っているアイデアの1つは、これらのイベントをどこかで読んで別のイベントに変換するサービスを構築することです。このようにジェスチャーを定義することもできます。このように:

  • どこで読むことができますか?
  • イベントに返信するにはどうすればよいですか?
  • ジェスチャーを検出するライブラリはありますか?
MotionNotifyイベント、シーケンス番号33、合成NO、ウィンドウ0xc00001、
    ルート 0x2ce, subw 0x0, 時間 695630659, (349,181), ルート: (1255,185),
    ステータス0x0、is_hint 0、same_screen YES

ButtonPressイベント、シーケンス番号33、合成番号、ウィンドウ0xc00001、
    ルート 0x2ce, subw 0x0, 時間 695630659, (349,181), ルート: (1255,185),
    ステータス0x0、ボタン2、same_screen YES

MotionNotifyイベント、シーケンス番号33、合成NO、ウィンドウ0xc00001、
    ルート 0x2ce, subw 0x0, 時間 695630667, (348,183), ルート: (1254,187),
    ステータス0x200、is_hint 0、same_screen YES

MotionNotifyイベント、シーケンス番号33、合成NO、ウィンドウ0xc00001、
    ルート 0x2ce, subw 0x0, 時間 695630675, (347,184), ルート: (1253,188),
    ステータス0x200、is_hint 0、same_screen YES

...

MotionNotifyイベント、シーケンス番号33、合成NO、ウィンドウ0xc00001、
    ルート 0x2ce, subw 0x0, 時間 695632069, (327,486), ルート: (1233,490),
    ステータス0x200、is_hint 0、same_screen YES

ButtonReleaseイベント、シーケンス番号33、合成NO、ウィンドウ0xc00001、
    ルート 0x2ce, subw 0x0, 時間 695632069, (327,486), ルート: (1233,490),
    ステータス0x200、ボタン2、same_screen YES

答え1

私はこの問題のより簡単な変形を見つけました。マウスの追加キーをキーボード/マウスボタンの組み合わせに変換し、ウィンドウマネージャでバインドしてウィンドウを移動/サイズ調整できるようにしました。たぶん私のコードはあなたの出発点になるかもしれません。

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

アイデアのポイントは、マウス/dev/input/...デバイスから入力イベントをキャプチャし、オプションで変更してから再記録することです/dev/uinput

関連情報