overdue-scratch

Author Topic: ALPS working trackpad in Snow Leopard  (Read 52548 times)

0 Members and 1 Guest are viewing this topic.

slashack

  • Member
  • Posts: 30
ALPS working trackpad in Snow Leopard
« on: April 24, 2009, 06:38:05 AM »
Update: 11/09/2009

Installed Snow Leopard 10.6.2 into my Dell Inspiron 1420.

Tryed bcc9 64 bits kext from here: http://forum.voodooprojects.org/index.php/topic,718.0.htmlt, but trackpad didn't worked for me (just went crazy).

so here's my originally modified kext compiled for 64 bits Snow.



------------------
ORIGINAL POST
------------------
Ok, here's what i did to make my ALPS working on an Inspiron 1420.

First some debugging info i've got after a few hours:

1- My ALPS glidepoint is detected as ALPS, but then in probe() IsItALPS returns false.
2- This ALPS uses absolut mode, but in interruptOcurred is detected as relative and uses 3 UInt8 packets, and discards 3 more packets, sometimes, depending on data, it doesn't discards three, but detects them as a packet, reading garbage. Commenting those lines makes interruptOcurred call absolutwithpacket (or something like that) with a 6 item array. It starts working at this point.
3- in ApplePS2ALPSGlidePoint::setParamProperties(): eaccell value is 0, so _edgeacellvalue is never set. This makes scrolling unavailable (accelleration is 0, so it never moves).
4- In ApplePS2ALPSGlidePoint::dispatchAbsoluteEventWithPacket() where it calculates the ydiff and xdiff there is somewere a comparation with SCROLL_HORIZ and SCROLL_VERT: that calc takes ydiff and xdiff back to zero, disabling scrolling.
5- In ApplePS2ALPSGlidePoint::dispatchAbsoluteEventWithPacket(), the Z variable doesn't represent touch pression (doesn't know what represents yet). So tapping doesn't work. Instead, first bit at 3rd item in packet array represents the tapping (packet[2] & 1). I used that to simulate a left button click.

With all these modifications, and some constants to make my trackpad a bit slower, I "patched" ApplePS2ALPSGlidePoint.cpp to make my touchpad work. (I said "patched" because it's a crapy code just for me, but this info may guide the vooodoo team to a fully working ALPS driver)

hope it helps, someone.
« Last Edit: November 11, 2009, 07:30:00 AM by slashack »

mac1535

  • Entrant
  • Posts: 1
Re: ALPS debugging info (posible solution)
« Reply #1 on: April 25, 2009, 01:18:48 AM »
Please post your kext. I hope to get it to work on my Dell Studio 15. Thanks

slashack

  • Member
  • Posts: 30
Re: ALPS debugging info (posible solution)
« Reply #2 on: April 25, 2009, 03:37:23 AM »
It doesn't work right. It has some issues. Let's wait some time till voodoo team fixes it. I'll keep on trying to fix this minor issues i have. If i finish first, i'll give it to you.

djkinetic

  • Observer
  • Posts: 10
Re: ALPS debugging info (posible solution)
« Reply #3 on: April 27, 2009, 01:49:48 AM »
hope the voodoo team can use this info, the 1420 trackpad is the only thing left from a fully functional osx installation.

slashack

  • Member
  • Posts: 30
Re: ALPS debugging info (posible solution)
« Reply #4 on: April 27, 2009, 02:19:06 AM »
I'm getting some panics while loading the kext i've modified. I'll keep working, if i got it to work fine, i'll post it.

djkinetic

  • Observer
  • Posts: 10
Re: ALPS debugging info (posible solution)
« Reply #5 on: April 27, 2009, 02:50:43 AM »
Hope you get it sorted out slash, thanks for the effort  :)

slashack

  • Member
  • Posts: 30
Re: ALPS debugging info (posible solution)
« Reply #6 on: April 27, 2009, 04:55:59 AM »
Here it is. It works for me. But i don't know how to load it without gettin KP's. Sometimes I need to remove it from /S/L/E/VoodooPS2Controller.kext/Contents/PlugIns. Sometimes i need to unload mouse controller first, then load this file. I don't know why. Just try loading/unloading untill it works.

I've corrected issues from the first post, and changed the code where the calculations on how and when to scroll are made. When i wasn't scrolling, but reached the scrolling area without lifting my finger, it started scrolling. I've changed it to work like if i am not scrolling and i reach the scrolling area, then it keeps moving. To scroll, finger must start touching the pad inside the scrolling area.

Speeds are hardcoded, so if u want more speed, don't even bother touching the Info.plist file, just use the Mouse/Keyboard Preferences pane.

KEEP IN MIND I'VE DONE THIS JUST FOR ME. I SHARE IT SO ANXIOUS PEOPLE DON'T HAVE TO WAIT UNTILL VOODOO TEAM FIXES THIS KEXT FOR US. BUGS NEEDED TO BE SOLVED IN ORDER TO MAKE THIS KEXT WORK ARE IN FIRST POST IN TOPIC.

djkinetic

  • Observer
  • Posts: 10
Re: ALPS debugging info (posible solution)
« Reply #7 on: April 27, 2009, 05:52:00 AM »
Thanks I'll give it a try.

Kabyl

  • VoodooLabs
  • Posts: 158
Re: ALPS debugging info (posible solution)
« Reply #8 on: April 27, 2009, 11:25:08 AM »
Here it is. It works for me. But i don't know how to load it without gettin KP's. Sometimes I need to remove it from /S/L/E/VoodooPS2Controller.kext/Contents/PlugIns. Sometimes i need to unload mouse controller first, then load this file. I don't know why. Just try loading/unloading untill it works.

I've corrected issues from the first post, and changed the code where the calculations on how and when to scroll are made. When i wasn't scrolling, but reached the scrolling area without lifting my finger, it started scrolling. I've changed it to work like if i am not scrolling and i reach the scrolling area, then it keeps moving. To scroll, finger must start touching the pad inside the scrolling area.

Speeds are hardcoded, so if u want more speed, don't even bother touching the Info.plist file, just use the Mouse/Keyboard Preferences pane.

KEEP IN MIND I'VE DONE THIS JUST FOR ME. I SHARE IT SO ANXIOUS PEOPLE DON'T HAVE TO WAIT UNTILL VOODOO TEAM FIXES THIS KEXT FOR US. BUGS NEEDED TO BE SOLVED IN ORDER TO MAKE THIS KEXT WORK ARE IN FIRST POST IN TOPIC.

Nice  :)
Any chance for a patch attached in the first post?

slashack

  • Member
  • Posts: 30
Re: ALPS debugging info (posible solution)
« Reply #9 on: April 27, 2009, 07:33:57 PM »
I'll try and make config parameters load from synapticsconfigloader instead of using hardcoded values. Then i'll make a patch. Is there any SVN or somewhere to grab the latest code? Ineed the synaptics prefences pane latest code to make it work.

djkinetic

  • Observer
  • Posts: 10
Re: ALPS debugging info (posible solution)
« Reply #10 on: April 28, 2009, 04:51:16 PM »
i don't believe an svn has been set up  :'( , i really hope you and the voodooteam get it sorted out, seems like every other laptop except the 1420 has had scrolling support in osx86 for the longest time already. As for the kext that you posted, been having problems with the installer package from voodoo, did a system restore will try again a bit later.

gumblecosby

  • Entrant
  • Posts: 4
Re: ALPS debugging info (posible solution)
« Reply #11 on: April 29, 2009, 03:28:42 AM »
Tested the kext on an vostro 1400. Both horizontal and vertical scrolling work well. (remember to enable scrolling in the trackpad pref pane(not the voodoo one!).

Its a great achievement as this trackpad could never scroll at all before so a big thank you to you and, of course, the voodoo team for the original kext.

The only problem is that it will cause a K.P occasionally on boot up (at same place as when the original voodoo kext so i dont think it is because of your modifications ).

Usually a verbose boot will succeed.



djkinetic

  • Observer
  • Posts: 10
Re: ALPS debugging info (posible solution)
« Reply #12 on: April 30, 2009, 07:45:04 AM »
So i reinstalled the vanilla ACPI from 10.5.5 got the kext to load after kernel panic, i figured out on my 1420 at least that the panic was related to multiple cores, so i disabled 1 core and the OS loaded, once inside OS X i tried to move the trackpad however, it was rather unuseable I couldnt left click or right click even with USB mouse, and if I touched the trackpad the pointer would jump erratically. Sigh the wait continues.

slashack

  • Member
  • Posts: 30
Re: ALPS debugging info (posible solution)
« Reply #13 on: April 30, 2009, 05:13:23 PM »
The same happened to me. I cannot load the kext at boot (KP). If VoodooPS2Mouse is inside VoodooPS2Controller.kext, then it doesn't loads or something happens. But if VoodooPS2Keyboard is the only plugin, and, after boot, i manually load this kext, it works.

slashack

  • Member
  • Posts: 30
Re: ALPS debugging info (posible solution)
« Reply #14 on: May 06, 2009, 09:26:13 PM »
This kext works only with ALPS touchpad. I've managed to find why it panics. The kext works for three kinds of touchpad. I don't know how it probes them and loads the correct one, so I removed support for the other two kinds of touchpad. It only supports ALPS, but it works great! (at least for me).