schippermaarten Posted November 19, 2005 Share Posted November 19, 2005 Hi everyone After reading a lot of posts of people complaining they couldn't tap their ALPS touchpad, I decided to take a look at the source of ApplePS2Trackpad.kext. After fidling around with it, I discovered the following: 1- The reason some people don't get a "Trackpad" menu in the "Mouse and Keyboard" preference pane is because the ALPS part of the kext fails to load. 2- ApplePS2ALPSGlidePoint.cpp contains a function which requests a three byte value from the pad and another one to idenfify your pad, which requires this three byte value: byte0 = request->commands[9].inOrOut; byte1 = request->commands[10].inOrOut; byte2 = request->commands[11].inOrOut; // IOLog("%s:%s three bytes returned are: [%02x %02x %02x]\n", getName(), __FUNCTION__, byte0, byte1, byte2); The three bytes returned for my pad are: 73 02 0a bool IsItALPS(UInt8 byte0, UInt8 byte1, UInt8 byte2) { bool success = false; short i; #define NUM_SINGLES 9 static int singles[NUM_SINGLES * 3] ={ 0x33,0x2,0xa, 0x53,0x2,0x0a, 0x53,0x2,0x14, 0x63,0x2,0xa, 0x63,0x2,0x14, // 0x73,0x2,0xa, // 3622947 0x63,0x2,0x28, 0x63,0x2,0x3c, 0x63,0x2,0x50, 0x63,0x2,0x64}; ... My value appears to have been left out... I uncommented the line and compiled the kext. After reboot the kext reported it had loaded: ApplePS2TrackPad: ALPS GlidePoint v10.115 However, as soon as I touched the pad the cursor went crazy... Appearently the pad sends confusing data and that's probably the reason why Apple left it out. Yet after having attached an usb mouse I could see that now in the "Mouse and Keyboard" preferences, the "TrackPad" menu was enabled. I'm stuck here, any help would be greatly appreciated. Link to comment Share on other sites More sharing options...
TopazBar Posted March 30, 2006 Share Posted March 30, 2006 Here is what I had to do to get the tap working. http://forum.osx86project.org/lofiversion/...php/t13029.html After further examination, I think the hack is making the trackpad kext unloadable which is forcing the parent driver (PS2Controller) to handling the tapping which is fine for my purposes. But I got curious and started to study the trackpad code too. But what I couldn't do was to complete the build. I'm missing <IOKit/ps/*.h>. Where did u find the missing include files? Link to comment Share on other sites More sharing options...
Recommended Posts