タブレットPCのタッチ入力が認識されない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
mert

タブレットPCのタッチ入力が認識されない

#1

投稿記事 by mert » 14年前

はじめまして。
いま、タブレットPCで動かすゲームを作成しております。
環境はWindows7、DXライブラリをつかっています。

ですが、タッチでのマウスの入力がうまくいきません。
タブレットPCにマウスをつないで操作した場合は問題なく使えるのですが、ペンタッチや指で操作しようとするとほとんど反応せず、連打しているとたまに反応するくらいです。

今まで試したのは、
・SetUseDirectInputFlag(FALSE); を使用
・ペンタッチがMOUSE_INPUT_1に相当することを確かめ、書きなおす
ですが、どちらもうまくいっていません。

ほかに考えられる解決策はないでしょうか?
よろしくお願いします。

一応、マウスの動作を取得している部分のソースコードを貼っておきます。

コード:

int MouseManager::GetState()
{
	int MouseState=GetMouseInput();
	if(MouseState==-1) return -1;

	if((MouseState & MOUSE_INPUT_1)==OFF){
		state[LEFT]=OFF;
	}else if(state[LEFT]==OFF){
		state[LEFT]=ON;
	}
	return 0;
}

mert

Re: タブレットPCのタッチ入力が認識されない

#2

投稿記事 by mert » 14年前

すみません、追記です。
ペンタッチですが、まったく認識されないのではなく、ペン先をスライドさせると認識してくれます。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: タブレットPCのタッチ入力が認識されない

#3

投稿記事 by ISLe » 14年前

コントロールパネルの『ペンとタッチ』(『ハードウェアとサウンド』カテゴリ)で、ペン操作のプレス アンド ホールドの設定を解除したら反応が良くなるかもしれません。

mert

Re: タブレットPCのタッチ入力が認識されない

#4

投稿記事 by mert » 14年前

アドバイスありがとうございます。

プレス アンド ホールドとフリックを無効にしてみたのですが、依然として何度もタップしないと認識されません。

波紋エフェクトが表示されるので、クリック自体はされていると思うのですが、
マウス情報取得関数を呼ぶタイミングの問題なのでしょうか?

コード:

int Loop()
{
	if(!ProcessMessage() && !mouse.GetState()) return TRUE;
	return FALSE;
}

void foo()
{
	while(条件 && Loop()){
	   処理
		:
	}
}
このような感じで、毎回ループのたびには呼び出しているのですが……。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: タブレットPCのタッチ入力が認識されない

#5

投稿記事 by ISLe » 14年前

タブレットPCじゃなくてペンタブレットで確認してますが、こちらではプレス アンド ホールドの設定で変化があります。
#フリックは影響なかったです。

ちゃんと無効になってますか?
プレス アンド ホールドの設定のダイアログでOKボタン押したあと、ペンとタッチのダイアログでもOKボタン押さないと反映されませんけど。

波紋は、タップのエフェクトなので、タッチとは無関係です。
こちらではタブレットにペンを付けた瞬間に反応しますし付けているあいだ反応し続けます。
波紋はペンをタブレットから離したときに表示されます。

mert

Re: タブレットPCのタッチ入力が認識されない

#6

投稿記事 by mert » 14年前

どうやらDXライブラリではタップがイベントとして認識されないようです。
コールバック関数を追加したところ、タップを認識するようになりました。

ご助言ありがとうございました。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: タブレットPCのタッチ入力が認識されない

#7

投稿記事 by ISLe » 14年前

タッチじゃなかったんですね。
タッチした瞬間では目的に合わないのでしょうね。

スレタイは「タップが認識されない」と書いて欲しかったですね。

mert

Re: タブレットPCのタッチ入力が認識されない

#8

投稿記事 by mert » 14年前

すみません、タブレットPCを使うのが初めてで、タッチとタップの違いがよく分かっていませんでした。
「クリック」の動作を、指やペンでも検出したかったのですが、確かにタッチという言葉はふさわしくありませんでしたね。

以後、言葉には気をつけようと思います。ご指摘ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る