Contribute
Register

[WIP] VoodooI2C I2C Trackpad (Limited Support)

Joined
Apr 21, 2016
Messages
1,359
Motherboard
ASUS X556UA-Clover
CPU
i5-6200U
Graphics
HD 520,1366x768
Mobile Phone
  1. iOS
Actually it works perfectly on mine on El capitan. The problem is when i type there is no palm rejection so the typing cursor moves around the text while i type or i accidentally tap on things. The idea is to enable only 2 finger tapping for the right click ONLY and disable the 1 finger tap
I'm afraid palm rejection is not implemented yet :(

Since you're running El Capitan, could you look at this comment please?
We want to have a solution for Sierra users, but need a tester with an earlier version to check if they are not affected.
I would be happy if you can help!

https://www.tonymacx86.com/threads/...d-limited-support.204227/page-28#post-1454426
 
Joined
Dec 20, 2016
Messages
106
Motherboard
HP 250 G6 Laptop
CPU
Intel i3-6006u @2.00 GHz
Graphics
Intel HD Graphics 520 (1366x768)
Mac
  1. MacBook Pro
Hello everyone!
Somebody here is Running El Capitan (Or earlier), with VoodooI2C?
I need to test some settings, but only have Sierra running here :)

May you please install the attached kext, and report if you can set Tap to click/Dragging On/Off inside your trackpad prefpane?
Also, if you disable one of those settings before a reboot, does it still off after you turn your computer back on?
(The attached kext doesn't fit to the ELAN1200, but if you have one and willing to help - Tell me, I'll attach a different one)

Thanks! :)

I have both 10.11 and 10.12 on the same HDD, so I could help.
I have ELAN1200, and everything was working fine,
but then I patched my DSDT from scratch (I needed to start from beginning to fix other things), and VoodooI2C doesn't work anymore.
I got KP during boot (both on 10.11 and 10.12) saying that VoodooI2C failed to read ACPI config.
If I boot using my USB with Clover (an no patched DSDT) it boots fine and ELAN1200 even works!
that tells me that ELAN1200 doesn't need any DSDT patches, and that my patched DSDT is breaking the VoodooI2C kext

do you have any clue about what should I patch on my DSDT in order to get the ELAN1200 back?
I attached my DSDT and a picture of the KP
 

Attachments

  • dimitree.zip
    2.3 MB · Views: 65
Last edited:

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,867
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
I have both 10.11 and 10.12 on the same HDD, so I could help.
I have ELAN1200, and everything was working fine,
but then I patched my DSDT from scratch (I needed to start from beginning to fix other things), and VoodooI2C doesn't work anymore.
I got KP during boot (both on 10.11 and 10.12) saying that VoodooI2C failed to read ACPI config.
If I boot using my USB with Clover (an no patched DSDT) it boots fine and ELAN1200 even works!
that tells me that ELAN1200 doesn't need any DSDT patches, and that my patched DSDT is breaking the VoodooI2C kext

do you have any clue about what should I patch on my DSDT in order to get the ELAN1200 back?
I attached my DSDT and a picture of the KP

I think the problem is you renamed the I2C _DSM to XDSM. Now the kext can't find it and crashes.
BTW, the kext should not crash in this condition...

Note current code:
Code:
    ihid->client->provider->evaluateObject("_DSM", &result, params, 3);

    OSNumber* number = OSDynamicCast(OSNumber, result);
  
    ihid->pdata.hid_descriptor_address = number->unsigned32BitValue();
  
    number->release();

Suggested change:
Code:
    ihid->client->provider->evaluateObject("_DSM", &result, params, 3);
    if (!result)
        ihid->client->provider->evaluateObject("XDSM", &result, params, 3);

    OSNumber* number = OSDynamicCast(OSNumber, result);
    if (number) {
       ihid->pdata.hid_descriptor_address = number->unsigned32BitValue();
       number->release();
     }
 
Last edited:
Joined
Dec 20, 2016
Messages
106
Motherboard
HP 250 G6 Laptop
CPU
Intel i3-6006u @2.00 GHz
Graphics
Intel HD Graphics 520 (1366x768)
Mac
  1. MacBook Pro
thanks, I fixed that by reverting the method to _DSM. Now the touchpad works again

now, I can help testing the kext on 10.11 (but please note I have ELAN 1200)
 
Joined
Apr 21, 2016
Messages
1,359
Motherboard
ASUS X556UA-Clover
CPU
i5-6200U
Graphics
HD 520,1366x768
Mobile Phone
  1. iOS
thanks, I fixed that by reverting the method to _DSM. Now the touchpad works again

now, I can help testing the kext on 10.11 (but please note I have ELAN 1200)
Thank you!!!

I checked now, and it seems MacForceOne's fork wasn't 'upgraded' to the new prefpane, so I can't test it with an ELAN1200 :(

I appreciate your willing to help, thanks anyway :)
 
Joined
Dec 20, 2016
Messages
106
Motherboard
HP 250 G6 Laptop
CPU
Intel i3-6006u @2.00 GHz
Graphics
Intel HD Graphics 520 (1366x768)
Mac
  1. MacBook Pro
Thank you!!!

I checked now, and it seems MacForceOne's fork wasn't 'upgraded' to the new prefpane, so I can't test it with an ELAN1200 :(

I appreciate your willing to help, thanks anyway :)

You're welcome
Btw do you know a way to do kext load/unload when I use the FN key to enable/disable the touchpad?
 
Joined
Apr 21, 2016
Messages
1,359
Motherboard
ASUS X556UA-Clover
CPU
i5-6200U
Graphics
HD 520,1366x768
Mobile Phone
  1. iOS
You're welcome
Btw do you know a way to do kext load/unload when I use the FN key to enable/disable the touchpad?
No, sorry :(

I don't think it would let you unload the kext anyway, as it's 'being used' by a device (the trackpad)
Try to unload it manually by terminal, I guess you would receive an error.
 
Joined
Mar 16, 2011
Messages
12
Motherboard
Lenovo Yoga 3 Pro
CPU
Intel Core M - 5Y71
Graphics
Intel HD 5300 - QHD+ (3200x1800) display
Mac
  1. MacBook Pro
  2. Mac Pro
Mobile Phone
  1. Android
Hello ben9923
I'm on Yoga 3 Pro. I've successfully installed Sierra 10.12.3 but i'm in trouble with trackpad and touchscreen
I've installed VoodooI2C... it gave me KP, so I've tried to delete the INT3433 and keep INT3432 (inside the contents/info.plist) that 's related to synaptics trakpad in DSDT (I2C0 - Device (TPD9) - SYNA2B22).
It worked and now i have a basic trackpad input (works like a mouse with right click and basic touch)
Than I've searched for touchscreen in INT3433 (DSDT related) an found it (ATML1000) ..
There where other 2 devices (always on DSDT controlled by INT3433 on I2C1) ... one "ATML7000" and another called "ATML2000" so i disabled this two (through DSDT --> Return (Zero)) and i've got touchscreen work (basic touch and laggy)... i don't know about these other ATML.. one should be motion sensor or something like that (cause Y3P can be used like a tablet)
The problem now is that if i restart the computer it give me a KP and if i try to restart it for several times it give me KP again... than for no reason it works like before...
I finally held the kext version with only INT3432 but i would like to run Touchscreen too (INT3433)...
Could someone help me to troubleshoot this?
Is there a way to make trackpad work better ? (i mean gestures etc..)

I didn't use any other patch for making touchpad and touchscreen to work
 

Attachments

  • MacBook Pro.ioreg
    8.3 MB · Views: 160
  • DSDT.aml
    76 KB · Views: 185
Joined
Jun 2, 2011
Messages
232
Motherboard
ASUS UX305CA-FB055T Chipset: Intel Skylake-U
CPU
Intel Core m7 6Y75
Graphics
Intel HD Graphics 515 : 3200x1800
Joined
Apr 21, 2016
Messages
1,359
Motherboard
ASUS X556UA-Clover
CPU
i5-6200U
Graphics
HD 520,1366x768
Mobile Phone
  1. iOS
My suggestion fixes palm rejection but i dont know how to enable it...
I am not sure palm rejection works that way.
@alex.daoud ?

Hello ben9923
I'm on Yoga 3 Pro. I've successfully installed Sierra 10.12.3 but i'm in trouble with trackpad and touchscreen
I've installed VoodooI2C... it gave me KP, so I've tried to delete the INT3433 and keep INT3432 (inside the contents/info.plist) that 's related to synaptics trakpad in DSDT (I2C0 - Device (TPD9) - SYNA2B22).
It worked and now i have a basic trackpad input (works like a mouse with right click and basic touch)
Than I've searched for touchscreen in INT3433 (DSDT related) an found it (ATML1000) ..
There where other 2 devices (always on DSDT controlled by INT3433 on I2C1) ... one "ATML7000" and another called "ATML2000" so i disabled this two (through DSDT --> Return (Zero)) and i've got touchscreen work (basic touch and laggy)... i don't know about these other ATML.. one should be motion sensor or something like that (cause Y3P can be used like a tablet)
The problem now is that if i restart the computer it give me a KP and if i try to restart it for several times it give me KP again... than for no reason it works like before...
I finally held the kext version with only INT3432 but i would like to run Touchscreen too (INT3433)...
Could someone help me to troubleshoot this?
Is there a way to make trackpad work better ? (i mean gestures etc..)

I didn't use any other patch for making touchpad and touchscreen to work
As for gestures-Your trackpad has no multitouch support by the kext (yet?)

KP-I am not sure I'm the right person that can help you, but it might be helpful if you boot verbose and attach a picture.
Are you using the latest version of the kext?
 
Top