2010-12-04 22 views
7

私はこの週末にかなり退屈です。C#でトラックパッドにアクセスするにはどうしたらいいですか?

私はモールスコードをタップするために私のトラックパッドを使用することができ、私のアプリがそれを鳴らすことができるモールスコードアプリケーションを構築することに決めました。

私は退屈だと言った! :D

C#でトラックパッドにアクセスするにはいくつかの方法がありますか?私は圧力グラフを使うことを意味します。ありがとう!

答えて

2

私はトラックパッドのアイデアに100%慣れていませんが、私はあなたが作業しているマシンがラップトップであると想定していて、そうでなければ "mousepad"として知られています。

少なくともWindowsではいくつかのことができます。指でタップすると、実際にはWindowsのランタイムに「クリック」イベントが送信されます。あなたは.NETでは

を保持する場合System.Windows.Forms.Controlから継承する任意のオブジェクト(フォーム/ユーザーコントロール)は、以下のイベントをサブスクライブすることができます

  • のMouseDown
  • のMouseUp
  • のMouseEnter
  • MouseLeave
  • MouseClickと
  • MouseDoubleClick

MouseUpイベントとMouseDownイベントの間の時間の差を計測し、結果のタイムレンジに反応することができます。たとえば、マウスを20ミリ秒間保持した場合、これはモールス符号の文字ですが、マウスを40ミリ秒間保持すると、他の文字になります。

マウスパッド/トラックパッドの場合、これはパッド自体に指を当てるのと同じです。

+0

おそらく最も簡単な方法... –

+4

あなたはあなたの用語が混ざっている。 「マウスパッド」は、あなたがマウスを上に置く(そして、それは今日の光学式マウスでは基本的には廃止されている)布で覆われた泡です。 http://en.wikipedia.org/wiki/Mousepad「トラックパッド」は、タッチ操作(「タッチパッド」とも呼ばれる)によるマウスの置き換えです。 http://en.wikipedia.org/wiki/Touchpad –

1

一部のタブドライバは、マウス入力メッセージの追加情報を使用して、追加情報を送信します。私はWACOMがペン記者会見を送るためにこれをしていると思います。

この情報があなたのパッドで何か面白いものがあります場合はたぶん、あなたは確認する必要がありますが、何が特定されていないとしても利用可能であるならば、それはおそらく、特定のベンダーのGetMessageExtraInfo Function

を使用して照会することができます。

+0

'GetMessageExtraInfo'の歴史に関する興味深い(Sergの仕事にはおそらく役に立たない)情報はRaymond Chenのブログに掲載されています。 [ここをクリック](http://blogs.msdn.com/b/oldnewthing/archive/2010/11/29/10097548.aspx)。まあ、Sergは彼が退屈だと言って少なくともそれは面白いです:) – Brian

関連する問題