• 締切済み

タッチパッドのタッチ座標取得

C言語の命令で、ノートパソコンのタッチパッドがどの辺に触れられているかわかる命令を探しています。 例えば、タッチパッドの一番左上に触れたらX座標が0Y座標が0と表示されるプログラムを作りたいと思っております。 どうしてもわからないので、質問させていただきました。 すみませんが、よろしくお願いいたします。

みんなの回答

  • arain
  • ベストアンサー率27% (292/1049)
回答No.4

ものにもよりますが、 タッチパネルの入力は基本HIDクラスになるので、Windows標準のマウスイベントとAPIで取得できる場合もあります。 一般的なアプリがタッチパネル付きLCDでも操作できるのはそのためです。 但し、どの「程度の精度か」「ドラッグアンドドロップ」の対応については製品によります。

ws_okwav
質問者

お礼

回答ありがとうございます。 私の使っているノートパソコンには タッチしてる座標を取得する「MoodPad」が搭載されております。 ですので、可能だと思っておりました・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • annyG
  • ベストアンサー率25% (10/39)
回答No.3

ああ、すみません。確かにマウスの座標をとる方法とは全然違いますね。ご質問をよく読めばわかることでした。失礼しました。 で、申し訳ないのですが、全然わかりません。 ただ、素人ながら、それが非常に難しいであろうということはわかります。 私の使っているPCでは、タッチパッドの端をなぞると、センターホイールを回すのと同じ効果があるのですが、これはおそらくOSレベルでそのように認識されてしまっていて、OSのAPIコールレベルではそれがマウスなのかタッチパッドなのかは意識しておらず、判別もしていないと思います。つまり、ドライバレベルで最適化されてしまっているように思うわけです。 ですので、タッチパッドのドライバからそれを取る必要があるように思いますが、それは各PCで仕様が全然違うでしょうし、そのPCでだけプログラムが動けばいい、ということであったとしても、ドライバがその方法を公開しているかどうかも怪しいと思います。(多分していないと思います) 全然役立たずな回答で申し訳ありません。

ws_okwav
質問者

お礼

ありがとうございます。 でも、そういうインターフェースが出てないのも 実現が難しいというのであれば・・・と思いました。 探してみましたが、やっぱり見つからないし どうにかならないかなぁ・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • sigint_m
  • ベストアンサー率42% (6/14)
回答No.2

結論から言うとほぼ不可能でしょう。 タッチパッド(マウス)からOSへは、「どの方向に」「どれだけの移動量」があったかという情報しかいっていません。マウスカーソルを動かすのには、現在のポインタの位置と上記の2つのパラメータがあれば事足りますよね? 画面の中央にマウスカーソルがあるときにタッチパッドの右下に指をおいた場合、カーソルが右下に移動するわけではなく、指を置いた位置から指がどう動いたかによってカーソルも移動するわけで、このことからもタッチパッドの絶対座標が必要ない(OSが取り扱わない)ことがわかると思います。 よって、OS(Windows)より上位レベルでタッチパッドの絶対座標を取得はできないと思います。 しいて言うなら、タッチパッドの絶対座標から上記の2要素に変換しているドライバに割り込めば取得は不可能ではないかもしれませんが、そもそもハードウェアで処理していてタッチパッドのモジュール外からは物理的に参照できない可能性が大ですし、仮にwindowsのドライバによる処理方式を採っていて割り込めたとしても、そのタッチパッドの機種限定のプログラムになってしまいます。

ws_okwav
質問者

お礼

回答ありがとうございます 下記のサイトのように ttp://shin-ishimaru.cocolog-nifty.com/blog/2008/02/quartzcomposerk_ddfe.html ノートパソコンのタッチパネルで実現できればと思ったのですが・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • annyG
  • ベストアンサー率25% (10/39)
回答No.1

マウスの座標を取るのと同じ方法だと思いますが? あと、Cの質問ならコンパイラの種類とバージョン、OSくらいは書いた方がいいかと。それによって答えが違いますからね。

ws_okwav
質問者

お礼

回答ありがとうございます 説明不足でした。 まず使っているコンパイラは、VisualStudio 2005です。 オペレーションシステムはWindowsXPです。 うまく説明できませんが 触れているタッチパネルの座標を取得したいのです。 例えばタッチパネルの真ん中を触れるとX,Y座標ともに0.5 一番右下を触れるとX,Y座標ともに1.0と表示されるようにしたいのです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • タッチパッドが動かないです。

    ノートPCのタッチパッドが動きません。 (富士通FMV-BIBLO MG12C です) コンパネのマウスを見てもタッチパッドのタグがありません。 プログラムの追加と削除には 「ALPS TOUCH PAD DRIVER」というドライバは あります。(見えます) 通常はマウスを使うのですが、ちょっとした時は タッチパッドを使いたいのですが、 どうすればよいか教えてください。 (随時補足はさせていただきます)

  • タッチパッドを使用できなくしたい

    VISTAのノートパソコンを使用しているのですが、マウスを必ず使うため タッチパッドを使用できなくしたいと思います。 調べると、コントロールパネル→マウス→タッピングで左上のチェックを外すと使用できなくなるとあるWEBサイトに書いてあったので、そのようにしましたが、どうしても動いてしまいます。 このタッチパッド(もしくはタッピング)の機能を完全に動かなくする方法をお教えください。 よろしくお願いいたします。

  • タッチパッド

    windeows10、acerのノートパソコンを買いました。 ノートパソコンは初めてなので、タッチパッドという機能があることも初めて知りましたが、 いくら押しても何の反応もありません。 デバイスからのタッチパッド設定はきちんとオンになってます。どうすれば使えるようになるんでしょう?

  • C++ 座標に*を打つ

    こんにちわ。私は現在C言語を学びたての大学生です。 今回、教わっている友人から練習問題として、座標に*を打つという宿題が出ました。 環境はMicrosoft visual studio2008を使っております。どうしても自分ではわからなかったので質問させて下さい。 以下は自分が作成したプログラムです。 #include<stdio.h> main(){ int a[40][60]; int x,y=0; x=20;   y=30; for(x=0;x<40;x++) for(y=0;y<60;y++) if(a[x][y]==a[20][30]) { printf("*"); } else { printf(" "); } } 結果は40×60の座標に座標(20,30)にだけ*を表示したいところ、すべての座標に*が表示されてしまいます。 本当によくわかりません。なぜなのでしょうか。 親切な方の回答を希望します。熟練者の方々、よろしくお願いします。

  • タッチパッドが使えない

    既出を調べましたが見当たらないので質問させてください。 機種はNECのVersaPro VA10J OSはWindows98SE です。 会社のパソコンで以前に誰か使っていた、使われていないノートパソコンを使おうと思ったらタッチパッドが使えません。 コントロールパネルからマウスで見てもタッチパッドの設定が見当たりません。 おわかりになる方、よろしくお願いいたします。

  • タッチパッドが壊れてしまったのでしょうか?

    タッチパッドが壊れてしまったのでしょうか? 友人のノートパソコンになります。 アドバイスをよろしくお願いいたします。 指を滑らせても矢印がうまく動かない。メインのパソコンで使っているマウスを接続してみると 問題ないので、タッチパッドだけの故障みたいです。タッチパッドについているボタンは大丈夫。 そこで、古いマウスを引っ張りだしてきて接続したんですが、今度は矢印は動くけど、ボタンがいかれ ているみたいで、矢印をマウスで動かして、タッチパッドのボタンを押すというとても煩雑な操作にな ってしまいます。 解決策のアドバイスをお願いいたします

  • ノートPCのタッチパッドがおかしくなりました!!

    つい2ヶ月前に買ったばかりのノートパソコンなのですが、タッチパッドが何故かおかしくなりました。 タッチパッドの上で指を同じスピードでまっすぐに動かしてもカーソル(ポインター)のスピードが変わったりマウスがまっすぐ動かず、上の飛んだり下に飛んだりとしてしまいます。 なぜなのでしょうか? 自分が考える理由としてはポインタードライバー(もしくはタッチパッドドライバ)に不具合がしょうじているか、タッチパッドの感知機能がおかしくなったのかと考えているのですが、買ったばかりのノートPCですのでもうすでにタッチパッドに不具合が出るのはおかしいなーと思ってるんです。 もしドライバーに不具合があるとしたらどうすればいいでしょうか?(アップデートを探しましたが最新版で、タッチパッドと一番互換性のあるものがインストールされていると表示されました) それとも他に理由があるのでしょうか? ノートパソコンの型はこちらの15.5型タイプです。 http://www.sony.jp/vaio/products/EB4/ タッチパッドに凸凹があり、ザラザラした感触があります。 パソコンに詳しい方、経験のある方、お願いします!! 外出先で使いにくくて本当に困っています!!

  • タッチパッドの

     ウインドウズのノーパソを買って4週間目です=^^=。 タッチパッドについて2点、質問があります。 エッジをなぞってスクロールバーを動かせる機能があるのですが、縦方向しか動きません。横方向が動かせないのはハード的な問題なのでしょうか?。SOTECのe-note M260TX2です。 それとパソコンを使用中に何もしていないのに「・・・外部ポインティングデバイスを検知しました。これよりタッチパッドの高等機能は使えません・・・」などと表示され、前述の縦方向スクロールが使えなくなり、とても不便です。これは何が原因で起こるのでしょうか?。 また起こらないように何らかの設定をしておくことは可能なのでしょうか。

  • ノートPCのタッチパッドについて

    ノートパソコンのタッチパッドについてご質問があります。 ノートパソコンのタッチバッドを使用不可にして、外部接続したマウスだけを使用したいのですが、タッチバッドを使用できないようにするにはどうしたらよろしいでしょうか? キーボードを打つ時にたまにタッチパッドに指がかかり操作を誤ってしまうことがあります。 どなたかご存知の方、教えて頂けないでしょうか?宜しくお願い致します。 ノートパソコン:IBM thinkPad

  • タッチパッドについて

    ノートパソコンについてるマウス(タッチパッド?!)の機能を 無効にして、外付けでマウスを使いたいと思ってるのですが、 どのように設定すればいいのでしょうか?