マルチタッチモニターはどのようにタッチをPCに送信しますか?


3

私はタッチスクリーンについてはかなり新しいです。私はHP 2310tiのようなマルチタッチモニターでAmazonを見ています、そしてそれは誰もがちょうどWindows 7が箱から出してそれを扱うことができると認めるようです。

それはどのように機能しますか? PCがタッチスクリーンから入力を受け取る方法を説明するリソースが見つかりません。

PCとモニターをUSBで接続する必要がありますか?それともワイヤレスキーボード/マウスのようにワイヤレス/ブルートゥーステクノロジがモニターに組み込まれていますか? Linuxはそのようなモニターをそのまま使用できますか?それは2つの接続されたマウスデバイスのようなものを認識しますか?私はXorg / GTKでこのようなものを実装しようとしているいくつかのプロジェクトについて読みましたが、現時点ではかなり実験的なようです(このトピックに関する情報があるとしてもほとんどないため)。

編集: 今私はfoxconnのnT330iネットトップと組み合わせてAcer T231を購入しました。 最初に述べるべきことは、モニタがUSBを介してPCに接続され、「タッチ装置」(例えば、USBを介したモニタ)がカーネルによってHID − USB装置として検出されることである。 Linuxの場合、カーネルがタッチデバイスを検出し、Xorg / Gnomeがそれを使用できると思います。

Ubuntu LucidでHIDデバイスを検出した2.6.32カーネルを実行しようとしましたが、gnomeがタッチに反応しませんでした。 箱から出してすぐに動作するUbuntu Natty Narwhalを使ったimがシングルタッチで動作します。 ジェスチャーを実行するには、設定が/etc/ginn/wishes.xmlにある 'Ginn'というデーモンも出荷時の状態で出荷されます。 'man ginn'をご覧ください。 マルチタッチを実行するには、次のことを行う必要があることをお勧めします。

  1. 少なくとも2.6.33カーネルを手に入れよう - 気の利いたnarwhalは2.6.38を使っていてこれはかなりうまくいく
  2. gnomeスタートアップアプリケーションとして/ usr / bin / ginnを追加します - それに加えて、gnomeを使用したimはunityではなく、多分unityは複雑な機能のためにそのまま使用できます。
  3. それはあなたのニーズに合うように/etc/ginn/wishes.xmlを修正します - 私は私のモニタが2本以上の指で問題を起こす原因を設定を修正したと思うので、すべてのジェスチャーはうまくいきません。ジェスチャーで走る

興味深いリソース:

https://wiki.ubuntu.com/Multitouch/Ginn

http://www.youtube.com/watch?v=VnLdzXe8DeQ


Xorgはあなたが望む数のマウスデバイスを扱うことができます。人々は、LinuxボックスでWiiリモコンを物理的に使っています - あなたは確かに少なくとも10匹のマウスを持つことができます(一度に触れる指ごとに1匹)。
new123456

また、 この Xorgにとっては良いHOW TOと思われます。
new123456

あなたがマルチタッチの目を通してこれを見ているので、それは実験的に見えます。 OSの目を通してそれを見てください。マウス(一度に複数の信号を送ることができる)、キーボード(同上)、タブレット(同上)のようなヒューマンインターフェースデバイスは何年も前から存在しています。フレームワークは何年も前から存在していたので、デバイスドライバレベルでは、それは他のHDIと対話するようなものです。詳しくは、Google HDI、ドライバーフレームワークモデル、ヒューマンインターフェイスデザインをご覧ください。
surfasb

回答:


3

今日はあまり時間がないのでお答えしますが、基本的にタッチモニタは異なる通信プロトコルでデスクトップと通信します。 ウィンドウ7で使用されるものはWM_TOUCHと呼ばれ、その後OSによって解釈されます。アプリケーションがマルチタッチジェスチャを使用することができます。 OSがマウス言語で自動的に翻訳する場合(ズームをつまむとCtrl + Scrollに変換されます)。 TUIO(クロスプレートフォームのために最も一般的に使用される)やXMLベースのメッセージのような他の言語があります...

ハードウェアの観点から、それらのモニターは通常ベースと通信するためにUSBを使用します...


3

あなたの質問は、最終的にはビジョンシステム、つまりタッチポイントを生成して「見る」基礎となるハードウェア/ソフトウェアについてです。私の経験では、タッチ式ハードウェアには、容量性、反応性、赤外線の3つの基本的なアプローチがあります。

  1. 容量性 画面に非常に小さな歪みを作成する電気インパルスに依存しています。人体は導体として機能するため、このような画面に触れると歪みが生じる可能性があります。 iPhoneは静電容量式タッチスクリーンの一例です。通常のモニターに固定されているマルチタッチオーバーレイを購入することもできます。これらのオーバーレイはUSB経由であなたのコンピュータに接続し、そしてそれら自身のドライバが付属しています。

  2. 抵抗性 スクリーンは、薄いスペースで区切られた複数の層で構成されています。ユーザが押下すると、画面が接触する場所に接点が作成されます。

  3. IRマルチタッチ システムが動作するために特別なタイプのスクリーンを必ずしも必要としません。 IRエミッターとIRカメラを組み合わせてタッチポイントを確認します。 IR発光体は、スクリーンの底部にわたってIR光を均一に分布させるように構成されている。ユーザーが画面に触れると、IR光はIRカメラに「見える」ところで反射されます。カメラはこれをタッチを登録する特別なソフトウェア(CCVなど)に送信します。ドライバーはソフトウェアからタッチポイント情報を取得し、それをオペレーティングシステムのタッチ/マウスイベントに変換する必要があります。

各ソリューションには、ハードウェアコンポーネントとソフトウェアの両方が必要です。


2

Linuxがこれをどのように処理するのか私にはわかりませんので、私はWindowsの観点から見ます。

マルチタッチは、単純に別のAPIのセット、またはMonitorドライバが送信してアプリケーションが応答する新しいコマンドのセットです。マウスがアプリケーションが応答するKeyPressDownメッセージを送信するように、モニタはWindowsがTOUCH、GESTUREなどとして解釈するメッセージを送信します。WindowsMultiTouch SDKとMicrosoft Surface SDKは、読み始めるのに適した場所です。マウスがOSとどのように相互作用するのかという点で、それほど違いはありません。

難しい部分は、アプリケーションを書くことです。私が見たマルチタッチアプリケーションは、野心的すぎて、やり過ぎようとしています。私が見た中で最高のマルチタッチアプリケーションはMicrosoft Surfaceにあります。友人の会社には1つあり、彼らはそれのためにあらゆる種類のものを書いています。

彼らの会社がツアーをするとき、彼らはいつもマイクロソフトの表面にこのゲームを始動させます。あなたは12人のプレイヤーがこのことをプレイすることができます。誰もが異なる色であり、あなたは異なる色であなたに並んでいる大砲を得ます。あなたは、対応するプレイヤーに大砲を発射させるために素早くスワイプします。

12人の人々がこのガラステーブルの周りをうろついて叫んでいるのを見て興奮しました。

彼らが行っていたKinectカメラも楽しかったです。人々が通りかかったとき、身長を記入し、男性か女性かを推測しましたが、面白い結果がいくつかありました。私には、Kinectにはもっと可能性があります。 。 。


あなたの答えのためのTHX、この場合の私はこのようなSDKの持つ一つの問題は(その抽象化について)それが下にあるものを隠していることです。開発者にとって?例えば ​​- 私が言及したモニターを考えると、それはSDKによって抽象化されることができるようにどのようにPCに伝えられるタッチ信号ですか?スマートフォンやオールインワンPCの場合、私はいくつかのワイヤーが画面からデータを配信することを考えることができますし、OSはドライバを提供しますが、私が言及したモニタの場合それはどのように動作しますか?
John Doe

2
同じ双方向ケーブルを通して。モニターは何十年もの間、ケーブルを介してグラフィックではないデータを送信してきました。
surfasb

1

最近まで私はタッチスクリーンの製造元で働いていました。当社の製品の中には、生のデータをUSBに送信してPCに送信し、Win7ドライバがデータを解釈してマルチタッチイベントをWindowsに送信する小型のプロセッサを搭載することでハードウェアのコストを削減するものがあります。

ドライバコードには独自のIPが含まれているため、オープンソース版はありませんので、これらのタッチスクリーンはLinuxでは動作しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.