Contribute
Register

New VoodooPS2Controller, Keyboard, Trackpad

Status
Not open for further replies.
Thank you for fixing my wifi button. Now, the trackpad kext is loaded instead of mouse kext, and it recognizes my Synaptics trackpad as Alps. Here are my console:
Code:
10/12/12 2:04:07.000 AM kernel[0]: VoodooPS2SynapticsTouchPad loaded
10/12/12 2:04:07.000 AM kernel[0]: VoodooPS2Trackpad: Identify TouchPad command returned incorrect byte 2 (of 3): 46
10/12/12 2:04:07.000 AM kernel[0]: E7: { 0x10, 0x00, 0x66 } E6: { 0x00, 0x00, 0x66 }ALPS Device? noNo interval found for . Using 8000000
10/12/12 2:04:07.000 AM kernel[0]: ApplePS2Trackpad: ALPS GlidePoint v6.16
10/12/12 2:04:07.000 AM kernel[0]: getStatus(): [10 00 66]
10/12/12 2:04:07.000 AM kernel[0]: getStatus(): [10 00 0a]
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickTime Value: 500000000
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickSpace Value: ??
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDKeyRepeat Value: 83333333
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDInitialKeyRepeat Value: 500000000
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDPointerAcceleration Value: 45056
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDScrollAcceleration Value: 20480
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDPointerButtonMode Value: 2
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDF12EjectDelay Value: 250
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: EjectDelay Value: 100
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDSlowKeysDelay Value: 0
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysDisabled Value: 0
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysOn Value: 0
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysShiftToggles Value: 0
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseKeysOptionToggles Value: 0
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDFKeyMode Value: 0
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseAcceleration Value: 45056
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseScrollAcceleration Value: 20480
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickSpace Value: ??
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickTime Value: 500000000
10/12/12 2:04:10.000 AM kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??

I see there is a bit of an override in the ALPS code:
Code:
    success = IsItALPS(&E6,&E7);
	DEBUG_LOG("ALPS Device? %s", (success ? "yes" : "no"));

    // override
    success = true;  //YIKES!
    _touchPadVersion = (E7.byte2 & 0x0f) << 8 | E7.byte0;

I will probably comment that line out in a future version, so ALPS only loads if detected!

You could keep ALPS from loading by removing the "ALPS GlidePoint" from IOKitPersonalities in VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/Info.plist (Hint: do those edits on a copy of the kext, then install it via Kext Wizard).

But your trackpad is reporting 0x46 instead of 0x47 in the 2nd byte return of "Identify TouchPad" The spec says: "The first byte of the response is the minor version number infoMinor. The middle byte is the constant $47. The third byte encodes the major version number infoMajor in the low 4 bits, and the (obsolete) infoModelCode in the upper 4 bits." And: "All TouchPads ever shipped by Synaptics have supported the Identify TouchPad query."

Are you sure it is Synaptics?

Do you have the ability to modify/build my code? If so, you could easily experiment with forcing it (or checking for 0x46 in addition to 0x47). It could be that Synaptics have not fully documented what your touchpad is doing. After all 0x46 is very close to 0x47 (1 bit difference), so perhaps it is on purpose. It might just work but somehow I doubt it -- there is probably a reason they changed to 0x46.

But I've read through some of the "passthrough mode" documentation from the Synaptics spec, and it is definitely going to take some work to make the driver work with such a device (packets from the stick are interleaved with packets from the pad, packets from the stick are 3 or 4 byte relative packets encapsulated in a 6 byte packet, whereas the packets from the pad are 6-byte absolute packets).
 
It works but somehow I have to use Fn + insert (prt sc) to disable trackpad of the 4230s, maybe due to the keyboard layout.

Kind of sounds like this is the case for all keyboards without numpad (see discussion of 4330 above)...
 
RehabMan I always knew you´re a sleeping genius. Nice to see that someone is developing :)

I tried to install your two latest Release Kexts and unfortunately I don´t get ANY input anymore. I installed with Kext-Wizzard and fixed permissions. After reboot I don´t have Trackpad and Keyboard and even a USB-Mouse doesn´t work. Boot takes very long and atm I can´t tell what´s happening. Can´t even get to verbose Boot because it don´t takes my input.

EDIT: Now I got some verbose output
Foto.jpg
 
I hate to sound like a noob, but i downloaded this, extracted to desktop, and used kext wizard to install to system/library/extension and after i rebooted, my keyboard and mouse stopped working. i had to go back to my restore to get going again. how do you install this?
 
guys..you have to delete the old ones

there ISN'T just for fun a readme:D
 
Always thought that Kext-wizzard overwrites the old ones?

Kext Wizard replaces the homonymous one only, the other one that you have to delete has a different name.
 
I hate to sound like a noob, but i downloaded this, extracted to desktop, and used kext wizard to install to system/library/extension and after i rebooted, my keyboard and mouse stopped working. i had to go back to my restore to get going again. how do you install this?

README.md. It is there on github. I mentioned it in my OP. I'm thinking you forgot to remove ApplePS2Controller.kext.

Here is the text from README.md:

How to Install:

It is important that you follow these instructions as it is not a good idea to have two different ApplePS2Controller.kexts under different names:

-remove /S/L/E/ApplePS2Controller.kext (sudo rm -rf /System/Library/Extensions/ApplePS2Controller.kext)
-install AppleACPIPS2Nub.kext and VoodooPS2Controller.kext using your favorite Kext installer (Kext Wizard)
-optional: rebuild permissions and kernel cache
-reboot
 
Status
Not open for further replies.
Back
Top