明確な回答ではないので、散文になってしまいましたが、
ひとまず投稿します。
GTK が XInput を使ってるそうですが、
XInput の導入自体がwindowsではどうなのでしょう。
(gnome 利用時に使ってた事がありますが、Windows では使ったことなし)
pyglet を tkinter に埋め込むのを思いつきましたが、
埋め込み方法のマルチプラットフォーム対応が手間になるかな。
VTK や matplotlib が、各種GUI向けに埋め込みようのウィジェットを提供してるので
同じアプローチでできないかと考えますが、実際に試したことはありません。
C拡張が必要になる場面は、埋め込み位なら ctypes でなんとかならないか。
位の思い付きレベルのアイデア。
tkinter に拘らなければ、マルチプラットフォームな選択肢は
- Qt / QTabletEvent
- pyglet (※一般的なGUIウィジェットは付属しない。3rd party 制のライブラリはあり)
tkinter でタブレットを使うサンプルコードは cgkit.wintab を使ってました。
動作確認は一切してませんが、一通りライブラリ対応状況を調べたまとめ
対応プラットフォームが明記されたもの以外は ? で記載。
library | pen-tablet | platform | license |
---|
tkinter | x | | |
qt5 | QTabletEvent | multi | |
wxPython | x | | |
GTK3 | △ motion event | multi? | |
kivy | △ | multi? | |
pygame(SDL) | x | | |
pyglet | o | multi? | |
cgkit.wintab | o | windows | MOZILLA |
JPen | o | multi | LGPL |
- gtk は xinput で対応。xinputのwindows の対応が未確認
(windows で検索すると、xbox の xinput が出てきて、導入事例が探せない…)
- kivy windows で(that doesnt report pressure and tilt) 筆圧取れない報告があり?(未確認)
- cgkit wintab 利用 windows only
- Java Pen Tablet Access Librar JPen
JPen は processing (Java/Jython)で使われてるライブラリ、
要件には合いませんが、実装は参考になるかもしれない。
(自前で wintab, cocoa, xinput を扱いプラットフォーム毎の対応をする場合)
Device access is implemented through providers. JPen contains providers for Linux (XInput), Windows (Wintab), Mac OS X (Cocoa, OS X 10.5) and the Java system mouse (Java AWT mouse).
追記: github へ移行していたようです。
JPen github C/Java のライブラリ実装がありました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/21 15:18 編集
2020/10/21 15:52
2020/10/21 23:10 編集
2020/10/22 04:35 編集
2020/10/22 04:24 編集
2020/10/24 05:08