web-dev-qa-db-ja.com

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

ボタン付きのワコムペンを持っています。ボタンを押したままペンを動かすときにスクロールをトリガーするにはどうすればよいですか?

以下のxevによると、トリガーイベントはMotionNotify状態x2です。

これが簡単に行われない場合、私が持っているアイデアは、これらのイベントをどこかから読み取り、他のイベントに変換するサービスを構築することです。このようにして、ジェスチャーも定義できます。このアプローチでは:

  • どこで読むことができますか?
  • イベントを書き戻すにはどうすればよいですか?
  • ジェスチャーを検出するためのライブラリはありますか?
 MotionNotifyイベント、シリアル33、合成NO、ウィンドウ0xc00001、
ルート0x2ce、サブw 0x0、時間695630659、(349,181)、ルート:(1255,185)、
状態0x0 、is_hint 0、same_screen YES 
 
 ButtonPressイベント、シリアル33、合成NO、ウィンドウ0xc00001、
 root 0x2ce、subw 0x0、time 695630659、(349,181)、root:(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 
 root 0x2ce、subw 0x0、time 695630675、(347,184)、root:(1253,188)、
 state 0x200、is_hint 0、same_screen YES 
 
。 .. 
 
 MotionNotifyイベント、シリアル33、合成NO、ウィンドウ0xc00001、
ルート0x2ce、サブw 0x0、時間695632069、(327,486)、ルート:(1233,490)、 
状態0x2 00、is_hint 0、same_screen YES 
 
 ButtonReleaseイベント、シリアル33、合成NO、ウィンドウ0xc00001、
ルート0x2ce、サブw 0x0、時間695632069、(327,486)、ルート:( 1233,490)、
状態0x200、ボタン2、same_screen YES 
 
15
konr

私はこの問題のはるかに単純な変形に遭遇しました:マウスの余分なキーをキーボード/マウスボタンの組み合わせに変換して、ウィンドウマネージャーでそれらをバインドしてウィンドウを移動/サイズ変更できるようにします。おそらく私のコードは出発点としてあなたを助けることができます:

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

アイデアの要点は、マウスの/dev/input/...デバイスからの入力イベントをキャプチャし、オプションでそれらを変更して、/dev/uinputに書き戻すことです。

1