PDA

View Full Version : MacBook TrackPad Right Mouse, ... evalutation


ttest
20th March 2006, 09:18 PM
Hi,

to evaluate the TrackPad funtionality I have written a small console application that prints out information about the generated mouse events. More information can be found in the wiki (http://wiki.onmac.net/index.php/Developers/Drivers/Trackpad).
I can't test this myself since I don't own a MacBook Pro unfortunately.

Please try the tool and report you're experiences here.

Greets,

ttest
________
Buell rr1000 (http://www.cyclechaos.com/wiki/Buell_RR1000)

RujusMacBook
20th March 2006, 09:42 PM
TTest -

I have tried your utility but have yet to figure out a way to print it since I cannot select all nor copy while the utility is running. Please contact me on AIM: RujusMacBook.

jann
20th March 2006, 10:01 PM
Can things like this be submitted to microsoft (when they are completed) so there are drivers found when people install XP?

What is the method for that. I mean, when Dell comes out w/a trackpad with a new feature, does MS write it or does Dell write it and then submit it?

Jann

RujusMacBook
20th March 2006, 10:19 PM
Test Results Posted on Wiki found Here (http://wiki.onmac.net/index.php/TrackPad_Test#Test_Results)

Hopefully this can lead to at least vertical scrolling along right edge if not **crosses fingers** two finger scrolling.

ttest
25th March 2006, 03:50 PM
Thanks Rujus!

Unfortunately it looks like the LowLevelMouseProc doesn't provide enough information to distinguish the events.
Currently I'm tweaking TrackPadTest.exe so it uses the "Raw Input" functionality provided by Windowxs XP.

ttest
________
VAPOR LOUNGE (http://vaporizer.org/forum/vapor-lounge/)

ttest
26th March 2006, 12:42 PM
I created a new version of the test tool. More info and download can be found in the wiki (http://wiki.onmac.net/index.php/Developers/Drivers/Trackpad).
________
Marijuana Pictures (http://trichomes.org)

RujusMacBook
26th March 2006, 08:01 PM
TTest

I have posted the results (http://wiki.onmac.net/index.php/Developers/Drivers/Trackpad#Test_Results) of Version 0.2 including single and double taps on the Track Pad.

Some comments on this version:

Seems to be getting more advance so good job
Loop starts immediately (as opposed to v0.1 which started upon trackpad input)


Overall I hope this helps. Let me know what else I can do.

RujusMacBook
27th March 2006, 10:20 AM
Here are the results of version 0.21:

Raw input devices:
\??\HID#Vid_05ac&Pid_0217&MI_02#7&3e86450&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}:
Type: RIM_TYPEHID (2)
Vendor ID: 0x05ac
Product ID: 0x0217
Usage page: 0x0c
Usage: 0x01
----
\??\HID#Vid_05ac&Pid_0217&MI_01&Col02#7&27bfa212&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}:
Type: RIM_TYPEHID (2)
Vendor ID: 0x05ac
Product ID: 0x0217
Usage page: 0xff
Usage: 0x01
----
\??\HID#Vid_05ac&Pid_0217&MI_00#7&198c217&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}:
Type: RIM_TYPEKEYBOARD (1)
----
\??\HID#Vid_05ac&Pid_0217&MI_01&Col01#7&27bfa212&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd}:
Type: RIM_TYPEMOUSE (0)
RegisterRawInputDevices failed 0x57.
Starting message loop...
Message loop terminated.

I am unable to do anything until I press ctrl-c and then the loop terminates. Please advise.

dewashing
6th July 2006, 05:55 AM
i have a black macbook running windows vista and i am interested in the solution to this problem also.

i ran the tool...it works well, it seems like it definitely will be useful in eventually determining the eventual solution.

after reading these forums and the comments on the wiki, it seems as though the developer is looking for users to run the tool and see if any WM_MOUSEWHEEL etc events are fired off while performing any actions (two-finger scroll). this would suggest that apple is using special hardware, and highly doubt this. too expensive...blah blah blah.

this is clearly a software problem. after examining the output from the tool it seems as though the x,y events are captured correcty when there are two fingers on the trackpad. it just logs two events. I think it is just a matter of hijacking monitoring the input, doing some quick math and sending the right commands when the right event is detected. you could have logic like this.

if (two inputs detected)
{
if (x1 and x2 are not moving AND y1 and y2 are both increasing)
send WM_MOUSEWHEEL +n to OS
else if (x1 and x2 are not moving AND y1 and y2 are both decreasing)
send WM_MOUSEWHEEL -n to OS
else if ....


maybe i am way off base as to what the solution may be but it may be worth investigation.

bdj21ya
6th July 2006, 03:13 PM
Yeah, the logic part of it isn't too difficult. For me, it's knowing how any driver is written. If I had ever made one, I would be playing around with this, trying to get the math just right. However, I think most people with enough know-how to write a driver are probably just waiting for Apple's final version of Boot Camp (if indeed they are going to create such a thing, since now they're pushing Parallels).