Contribute
Register

New VoodooPS2Controller, Keyboard, Trackpad

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,309
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
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).
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,309
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
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)...
 
Joined
Jan 20, 2012
Messages
119
Motherboard
MacBook Pro 13 Retina
CPU
i5
Graphics
Intel HD4000
Mac
  1. MacBook Pro
  2. Mac Pro
Classic Mac
Mobile Phone
  1. iOS
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
 
Joined
Sep 28, 2012
Messages
157
Motherboard
Gigabyte Z170X-UD5 TH
CPU
i7-6700k LGA 1151
Graphics
Nvidia GTX 1080 Ti 11 Gig
Mac
  1. iMac
Mobile Phone
  1. iOS
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?
 
Joined
Sep 2, 2012
Messages
273
Motherboard
4530s
CPU
i3
Graphics
Intel 3000 512MB
Mac
Classic Mac
Mobile Phone
  1. Android
guys..you have to delete the old ones

there ISN'T just for fun a readme:D
 
Joined
Jul 28, 2011
Messages
351
Motherboard
GA-H67MA-UD2H-B3
CPU
i5-2400
Graphics
HD 5750
Mac
  1. MacBook
Mobile Phone
  1. Android
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.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,309
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
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
 
Top