念願のWintabの日本語情報がきたけど、MSInkで十分っぽいという話
しばらく前にWintabがどうのって記事*1を書きました。Wintabが実質Wacom専用じゃねーのって話だったと思います、たぶん。
で思い出したようにペンタブ周りを探りなおしたのでメモ。
Wacom Developer Network
なんかWacomが開発者向けのポータル作ってました。
http://wdnet.jp/
今になって日本語の情報を提供し始めるとかどうしちゃったの、というのが第一印象。まあAndroidやiOS向けのデバイスを出してきたとか、タブレットPCの敷居が下がってきたとかそんなあたりでしょう。
対象とする範囲も広いです。
- Wintab
- Windows + feel Multi-touch(最近のIntuosとかで使えるタッチ機能)
- WebPlugin(Javascriptから使える)
- Androidの標準API
- iOS + Creative Stylus
ここまではドキュメントやQ&Aも充実してる。
あとブログなんかもあるようです。ところでWDNとは別に、中の人がこのあたりの話を書いているブログも見つけたんですが、こっちもなかなかおもしろそうです。
http://inktechja.wordpress.com/
で、WintabとMSInkどっちがいいの
- デバイス面
- 開発面
- Wintabならwintab.dllを動的リンク、MSInkならCOMとか.NETとか使いましょう
- ストアアプリではwintab.dllなんて使えないので、MSInk一択
Wintab ではペンが送信する様々な情報を API として扱うことができます。
http://inktechja.wordpress.com/2013/11/14/%E7%AD%86%E5%9C%A7%E3%81%A8%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC%E3%81%A8api-surface-pro%E3%81%A7%E7%AD%86%E5%9C%A7%E3%81%8C%E3%81%AE%E8%A3%8F%E5%81%B4/
たとえば、Microsoft 標準の API では扱うことができないペンの傾きやペンのUnique ID、ペンの回転などの情報を得ることができます。
これらの情報は特にグラフィック系のアプリケーションで必要となる情報であるため、これらのアプリケーションではWintabが利用されているのです。
という話もあったので確かめたところ、Win8.1+Intuos4+.NET4.5では余裕で傾きや回転取れました。
例えばTabletDevice.SupportedStylusPointPropertiesを取ってみるとこんな感じ。
{Id=X, IsButton=False} {Id=Y, IsButton=False} {Id=NormalPressure, IsButton=False} {Id=ButtonPressure, IsButton=False} {Id=XTiltOrientation, IsButton=False} {Id=YTiltOrientation, IsButton=False} {Id=AltitudeOrientation, IsButton=False} {Id=AzimuthOrientation, IsButton=False} {Id=TwistOrientation, IsButton=False} {Id=Unknown, IsButton=False} {Id=PacketStatus, IsButton=False} {Id=TipButton, IsButton=True} {Id=BarrelButton, IsButton=True}
機能的にはMSInkでもさほど困らなそう・・・。
MSInkが使いたくない(COMが嫌とか)ってわけでもないなら、今後はMSInkで書けばいいのかなーというところ。
と思ったけれど、そういえばWPF使わずにMSInk使う情報が見つけられてない。うーむ。