ページ 11

ペンタブレットによる入力

Posted: 2008年8月21日(木) 23:01
by Nasu
こんにちは、初めまして。
ペンタブレットの入力について質問させてください。
if( ( GetMouseInput() & MOUSE_INPUT_LEFT ) != 0 ){~}
        if( ( GetMouseInput() & MOUSE_INPUT_RIGHT ) != 0 ){~}
でマウスクリックを検出することはできました。
しかし、ペンタブレットで操作をすると、マウスカーソルは問題無く動くものの
マウスクリックに相当するボタン操作(ペン先とペン脇ボタンの操作)を検出してくれません。

ウインドウ右上のアイコン操作や、他のアプリ上では問題なくペンタブが動作しています。
筆圧やペンの角度を検出する必要はありませんので、
ペンタブによるクリックを検出する方法を教えていただけないでしょうか?
よろしくお願いします。

Re:ペンタブレットによる入力

Posted: 2008年8月21日(木) 23:14
by Justy
 環境は何ですか?

 GetMouseInput()/MOUSE_INPUT_LEFTが使われていることから
Windows+DXライブラリのようにも見えますが。

 仮に Windowsだとして、タブレットが手元にないので確認できませんが、
ウインドウに何かウインドウメッセージが来ていないですか?

Re:ペンタブレットによる入力

Posted: 2008年8月21日(木) 23:57
by Nasu
ああ、すみません!
環境について書いていませんでした。

Windowsで編集ツールはBCC Developer、
お察しの通りdxライブラリを使用しております。

しかし、ウインドウメッセージというものを今始めて知りましたので、
それを使って自力で調べなおしてみます。
このような情報不足の質問にもアドバイスをくださって、
本当にありがとうございます。

Re:ペンタブレットによる入力

Posted: 2008年8月22日(金) 00:28
by Justy
 なるほど。


 ということであれば。
 ダメもとで、

・ DXライブラリの定義には MOUSE_INPUT_LEFT/MOUSE_INPUT_RIGHTだけでなく
MOUSE_INPUT_1~8とかもあるのでそれを試す。

・ DirectInputを使用しないでマウスの情報取得してみる
 SetUseDirectInputFlag(FLASE)を呼ぶ

 とかも試してみて下さい。
 ひょっとしたら、何か反応を返してくるかもしれません。

Re:ペンタブレットによる入力

Posted: 2008年8月22日(金) 21:40
by Justy
 もう遅いかもしれませんが、WACOMのタブレットで試してみました。

 ペンでタッチ、ペンの裏側でタッチ、ペン側面の2つのボタン、タブレット上の2つのボタンを押下したとき

GetMouseInput()の戻り値が MOUSE_INPUT_1~MOUSE_INPUT_5の間で反応してました。

 機種とか設定とかにも依るかもしれませんが、お試し下さい。

Re:ペンタブレットによる入力

Posted: 2008年8月22日(金) 23:09
by Nasu
重ねてのご回答ありがとうございます!

試してみたところ、SetUseDirectInputFlag(FLASE)を使用してDirectInputを切ると、
ペンタブレットによるマウス左クリック&マウス右クリックに相当する操作を検出することが確認できました。
これで私の問題は解決です、ありがとうございました。

※何かの役に立つかも知れないので報告※
 環境のせいかも知れませんし、私にとっては問題ないことですが…
 DirectInputを切った副作用として、MOUSE_INPUT_LSHIFTとMOUSE_INPUT_RSHIFTが動作しなくなりました。

Re:ペンタブレットによる入力

Posted: 2008年8月23日(土) 00:59
by Justy

>これで私の問題は解決です

 無事解決して何よりです。



>DirectInputを切った副作用として、MOUSE_INPUT_LSHIFTとMOUSE_INPUT_RSHIFTが

 MOUSE_INPUT_LEFTですか? KEY_INPUT_LSHIFTですか?

Re:ペンタブレットによる入力

Posted: 2008年8月23日(土) 08:29
by Nasu
書き間違いでした。

DirectInputを切った副作用は、KEY_INPUT_LSHIFT と KEY_INPUT_RSHIFT
についてです。

Re:ペンタブレットによる入力

Posted: 2008年8月23日(土) 15:16
by Justy

>DirectInputを切った副作用は、KEY_INPUT_LSHIFT と KEY_INPUT_RSHIFT

 なるほど、ということはキーボード入力の方に影響がある、と。
 うーん、不思議ですね。何か解決方法はあるとは思いますが・・・。
 
 環境的なものなのでしょうかねぇ。