Developers/Drivers/Trackpad

From OnMac.net Wiki
Revision as of 20:13, 27 March 2006 by Ttest (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Error creating thumbnail: Unable to save thumbnail to destination
Back to Developers/Drivers

This page is dedicated to evaluate what events the MacBook Pro TrackPad sends to the operating system. Windows provides several methods to receive input events. One of them is the LowLevelMouseProc event callback. Tests have shown that this callback does not provide enough information to get the TrackPad fully working. Next step is to test if Raw Input provides enough information. Therefore I have created a new version of the test tool which can be downloaded below.

Motivation for this is to find a pratical way to get a "right-mouse button substitute" working under Windows.

Interesting questions that I'm trying to get answers for are: What events a user-mode application can see that are coming from the TrackPad? More specifically ...

  • horizontal scrolling with two fingers
  • tapping the sensor area with one finger
  • tapping the sensor area with two fingers

Test Tool Download[edit]

Version 0.1[edit]

A small command line application that prints out information about every LowLevelMouseProc call can be downloaded here (including full VS.Net 2003 source code). I can't test this myself since I don't own a MacBook Pro unfortunately. Please try the tool and report your result on this page or on the forums. Below you'll find some information to interpret the output yourself.

lParam:

WM_MOUSEMOVE                    0x0200
WM_LBUTTONDOWN                  0x0201
WM_LBUTTONUP                    0x0202
WM_LBUTTONDBLCLK                0x0203
WM_RBUTTONDOWN                  0x0204
WM_RBUTTONUP                    0x0205
WM_RBUTTONDBLCLK                0x0206
WM_MBUTTONDOWN                  0x0207
WM_MBUTTONUP                    0x0208
WM_MBUTTONDBLCLK                0x0209
WM_MOUSEWHEEL                   0x020A
WM_XBUTTONDOWN                  0x020B
WM_XBUTTONUP                    0x020C
WM_XBUTTONDBLCLK                0x020D

mouseData: Information on the mouse data value can be found here.

Version 0.22[edit]

This version uses Raw Input to receive input events and prints them to the console. Moreover diagnostics are printed out for all HIDs in the system. It can be downloaded here. Full source is available on request.

  • Update 0.21: Also prints events for usage page 0xff.
  • Update 0.22: Now actually works.

Test Results[edit]

  • TrackPadTest v0.1: Results (1.83 MBP) -RujusMacBook
    • The results show that there is no way to distinguish the events with the information thats passed to the LowLevelMouseProc.
  • TrackPadTest v0.2: Results (1.83 MBP) -RujusMacBook
  • TrackPadTest v0.21: Error (1.83 MBP) -RujusMacBook

Alternatives[edit]

Resources[edit]

Some interesting links with more information which might be useful to get the TrackPad fully working

http://www.lvr.com/hidpage.htm