Contribute
Register

VoodooI2C Help and Support

Status
Not open for further replies.
Try disabling 'Smart zoom' in Trackpad SysPrefs :)
It doesn't work in current VoodooI2C anyway. Will work when Magic Trackpad 2 emulation is done, but there's still work to do. (2F tap bug exists there too, so we need to disable Smart zoom there as well, for correct functioning of 2F to right click)

thanks for the hint Ben, after 2 days testing unfortunately no significant change in the 2-fingers right tap behavior here, most of the time it is interpreted as left click.
which i find really terrible, because otherwise the driver would be nice. is there any other possible changes i could try? i would dislike to uninstall voodooi2c again, 2finger-scrolling and 3 finger swipe works great and very fluent, but when 7 out of 10 right taps are interpreted as left click, thats really rough. btw, using voodoops2 and win10 there is no such problem on the same machine. any clues? wrong pin somewhere? thanks a lot!

cheers!
 
Last edited:
thanks for the hint Ben, after 2 days testing unfortunately no significant change in the 2-fingers right tap behavior here, most of the time it is interpreted as left click.
which i find really terrible, because otherwise the driver would be nice. is there any other possible changes i could try? i would dislike to uninstall voodooi2c again, 2finger-scrolling and 3 finger swipe works great and very fluent, but when 7 out of 10 right taps are interpreted as left click, thats really rough. btw, using voodoops2 and win10 there is no such problem on the same machine. any clues? wrong pin somewhere? thanks a lot!

cheers!
The 2F tap bug is inside VoodooI2C, but wasn't fixed yet. You won't experience it with VoodooPS2 or Windows 10.
I've seen that disabling smart zoom does work for some users, and it also fixes the same problem here.
No other ideas, I'm afraid :(

Hope the source of this bug will be found soon.
 
Alex: thanks for voodooI2C 2.0.2! 2-fingers-scrolling in safari now increased speed to whooping 300mph! ;) any way user can slow it back down? it doesn't work via the settings in sysprefs-accessibility-trackpad-trackpad settings. 2fingers right tap kind of the same, sometimes catching up as left mouse tap/on finger tap.
 
Last edited:
Alex: thanks for voodooI2C 2.0.2! 2-fingers-scrolling in safari now increased speed to whooping 300mph! ;) any way user can slow it back down? it doesn't work via the settings in sysprefs-accessibility-trackpad-trackpad settings. 2fingers right tap kind the same, sometimes catching up as left mouse tap/on finger tap.
What version of macOS are you running?
 
My Laptop is ASUS FX-Pro, i5-6300HQ (GL552VW?). ACPI ID for my laptop touch pad is ETPD.
My hexadecimal APIC pin number is 0x5f.

Native DSDT code for this device is:
Code:
Scope (_SB.PCI0.I2C1)
    {
        Device (ETPD)
        {
            Name (SBFB, ResourceTemplate ()
            {
                I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, _Y34, Exclusive,
                    )
            })
            Name (SBFI, ResourceTemplate ()
            {
                Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
                {
                    0x0000005F,
                }
            })
            CreateWordField (SBFB, \_SB.PCI0.I2C1.ETPD._Y34._ADR, BADR)  // _ADR: Address
            Name (_ADR, One)  // _ADR: Address
            Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
            {
                If (ELAN)
                {
                    Store (0x15, BADR)
                    Return ("ELAN1000")
                }

                Return ("ELAN1000")
            }

            Name (_CID, "PNP0C50")  // _CID: Compatible ID
            Name (_UID, One)  // _UID: Unique ID
            Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
            Method (_S3W, 0, NotSerialized)  // _S3W: S3 Device Wake State
            {
                If (LEqual (S0ID, Zero))
                {
                    Return (0x03)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                {
                    If (LEqual (Arg2, Zero))
                    {
                        If (LEqual (Arg1, One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                         
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                         
                            })
                        }
                    }

                    If (LEqual (Arg2, One))
                    {
                        Return (One)
                    }
                }
                Else
                {
                    Return (Buffer (One)
                    {
                         0x00                                         
                    })
                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (TPIF, Zero))
                {
                    Return (Zero)
                }

                If (And (DSYN, One))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (ConcatenateResTemplate (SBFB, SBFI))
            }
        }
    }
By following installation guide I changed it to:
Code:
Scope (_SB.PCI0.I2C1)
    {
        Device (ETPD)
        {
            Name (SBFB, ResourceTemplate ()
            {
                I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, _Y34, Exclusive,
                    )
            })
            Name (SBFI, ResourceTemplate ()
            {
                Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
                {
                    0x0000005F,
                }
            })
            Name (SBFG, ResourceTemplate ()
            {
                GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                    "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x47
                    }
            })
            CreateWordField (SBFB, \_SB.PCI0.I2C1.ETPD._Y34._ADR, BADR)  // _ADR: Address
            Name (_ADR, One)  // _ADR: Address
            Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
            {
                If (ELAN)
                {
                    Store (0x15, BADR)
                    Return ("ELAN1000")
                }

                Return ("ELAN1000")
            }

            Name (_CID, "PNP0C50")  // _CID: Compatible ID
            Name (_UID, One)  // _UID: Unique ID
            Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
            Method (_S3W, 0, NotSerialized)  // _S3W: S3 Device Wake State
            {
                If (LEqual (S0ID, Zero))
                {
                    Return (0x03)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                {
                    If (LEqual (Arg2, Zero))
                    {
                        If (LEqual (Arg1, One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                         
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                         
                            })
                        }
                    }

                    If (LEqual (Arg2, One))
                    {
                        Return (One)
                    }
                }
                Else
                {
                    Return (Buffer (One)
                    {
                         0x00                                         
                    })
                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x0F)
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (ConcatenateResTemplate (SBFB, SBFG))
            }
        }
    }
I have installed the core kext VoodooI2C.kext to the Clover's kext injection directory, but my touchpad doesn’t work. And when I finish ‘GPIO Pinning’, I can’t find ETPD in IOreg. Is there any mistake with my procedure?
Oh! I have replaced the contents of `_STA` method with simply `Return (0x0F)`.
This is my DSDT and IOReg. I need some help! Thank you!
 

Attachments

  • DSDT.dsl
    1.1 MB · Views: 201
  • My IOreg.ioreg
    15.5 MB · Views: 131
since voodooi2c v2.0.2 obv. scrolling with 2 fingers is delayed/more pressure has to be applied onto the trackpad for the system to recognize I want to do scrolling. once scrolling starts, if I stop but leave the fingers on the trackpad, then continue scrolling, then scrolling restarts instantaneous. so if fingers get lifted up and put back for 2 fingers scrolling, that is delayed or needs more pressure. as if the threshold for the recognition of 2fingers on the pad was increased. hmm, wish I would know how to fix that!
+ the high speed scrolling is somewhat terrible, wish I could reduce the speed
+ trackpad pointer movement speed still isn't adjustabe on my system (10.13.4) with the speed setting in sysprefs. do I need an older prefs-pane? does all this have a certain (common?) cause?

thanks for the help!

Cheers!

edit: just went back to voodooi2c v2.0.1 (via kextbeast) and now scrolling speed is back to normal, 2finger scrolling is no longer delayed and works as intended :) and guess what, also track pointer speed is adjustable in the prefspane and works well! weird that it works now after reinstall, isn't it?
2fingers right tap bug remained :( mostly is detected as left click and gets recognized as right click only every 7-8th time.

rehabman: is there an easy (and safe :) ) way to revert the probook 450 g5 to voodooPS2? and eventually go back to voodooI2C at another timepoint? ;) kextunload VoodooI2C won't do it.
 
Last edited:
I'm not sure what the issue is with scrolling at the moment. It doesn't appear to be happening for everyone.

If you want to stop using VoodooI2C you should uninstall the kext, not use kextunload.
 
Status
Not open for further replies.
Back
Top