2013年4月17日水曜日

Windows8向けSai用wintabに位置調整追加


Windows8でSaiの筆圧検知を有効にするdll(TF810C及びそれと互換性のあるワコムドライバ使用Windows8機向け)

○概要
・TF810C及びそれと互換性のあるワコムドライバのWindows8機でSaiの筆圧感知を有効にするdllです。
・筆圧調整、ボタン機能割り当て等、タブレットプロパティの機能はありません。
・Sai以外では使用できないでしょう。

○更新内容
・位置調整用のcal.exeを追加しました。

○既知の問題
・システムが位置調整したカーソル移動と独自に位置調整を行うWinTab経由のカーソル移動が衝突しカーソルが振動します(描画は独自位置調整したカーソルの方から行われます)。
・ThinkPad Tablet2でも動作はしますが終了後スリープ解除に失敗します(電源ボタン長押し+一瞬離し2回ボタンONで復帰)。

○使い方
1.wintab32.dllとcal.exeをSaiフォルダにコピーしてください。
2.cal.exeを起動してタブレットの位置調整を行います。
サイドボタンでひとつ前の点に戻る。
何かキーを押すか、最初の点でサイドボタンを押すと終了します。
4点指定が終わるとSaveを訪ねるダイアログが出るので、OKを押すとwintab.iniを出力します。

3.Saiフォルダーにwintab.iniができたら、Saiを起動します。

レジストリ他は使用していないので、wintab32.dll、cal.exe、wintab.iniの削除でアンインストールできます。

○今後の予定
・ThinkPad Tablet2に対応したいが見通し立たず。

https://dl.dropboxusercontent.com/u/17137175/wintab.zip

一通り実装したつもり。
Latitude10やSurface Pro辺りでもワコムドライバーが出力するデータ形式が同じだったら動作するはずなんだけど、ThinkPad Tablet 2のように相性問題が出るかもしれない。


5月10日追記
米ワコムからWindows8対応正式WinTabがリリースされました
http://www.wacom.com/support/drivers
からダウンロードできます。

13 件のコメント:

  1. すみませんがサイドスイッチの扱いにバグがありました。調べますので数日ください。

    返信削除
  2. 非常に快適です!!素晴らしいものをありがとうございます!!

    返信削除
    返信
    1. twitterで予想以上の反響をいただいたようで、本当に嬉しいです。LatiudeとSaiは愛されてますねぇ。

      削除
  3. 書き忘れていましたが位置調整は画面回転なしの状態で行ってください。

    返信削除
  4. Latitude10でも動きましたよ、スリープ後に音が出る時にブッとノイズが出ますが。。。

    返信削除
  5. Surface Pro で実験したところ使えないようです。

    技術的な質問なんですが、WTOpen関数や、WT_PACKET、WT_CTXOVERLAP、WT_PROXIMITYメッセージの処理はどのように行っているのでしょうか。
    解説していただけるとありがたいです。

    返信削除
    返信
    1. WTメッセージを受け取るウィンドウをRawInputに登録してWM_INPUTが送られてくるようにし、サブクラス化してWM_INPUTを処理しています。
      ドライバーが出力するデータ形式が他機種と違うのかもしれません。

      削除
    2. WTメッセージを受け取るウィンドウがサイズ(0,0,0,0)だったのでどうやっているのか知りたかったのですが、その方法だと完全にSAI専用ですね。
      ありがとうございます。参考になりました。

      削除
  6. すごーい!
    もしかしてフォトショもいけるのですか?

    返信削除
    返信
    1. いろいろ仕様を簡略化して作ってあるのでSai以外は無理だと思います。

      削除
  7. おおお!ありがとうございます!

    返信削除
  8. すごい快適にお絵描きできるようになりました。
    有難うございます。

    返信削除
  9. TabletPC api saiで検索してここにたどり着きました。
    Thinkpad Helixでも問題なく動いてます。ありがとうございます。

    返信削除