Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DynamicEWMode problem on Lenovo ThinkPad Laptops #890

Closed
Sniki opened this issue May 4, 2020 · 28 comments · Fixed by acidanthera/VoodooPS2#54
Closed

DynamicEWMode problem on Lenovo ThinkPad Laptops #890

Sniki opened this issue May 4, 2020 · 28 comments · Fixed by acidanthera/VoodooPS2#54

Comments

@Sniki
Copy link

Sniki commented May 4, 2020

HI @usr-sse2

The new changes into VoodooPS2 commit 7ca9da2 with DynamicEWMode disabled with SSDT-ThinkPad_ClickPad:

"DynamicEWMode",
">n",

Causes some weird issues like:

  • Laggy Window Movement(s)
  • Laggy Drag and Drop
  • Broken Gestures

Removing that line / enabling DynamicEWMode:

  • No more lags
  • Gestures works fine
  • But Physical Left Click button works as a Right click, when i press the button, context menu appears and as soon as i release the button, the context menu disappears right away

We use the SSDT-ThinkPad_ClickPad for best/optimal configuration for these ThinkPad Touchpad(s) and DynamicEWMode always used to be disabled with this SSDT.

Reverting to previous VoodooPS2 works fine but that one had it's own problems with gestures with notification center etc.

Let me know if you need additional info & logs.

Suggestion: it would also be nice to include the boot-args options listed into the Readme.md like other projects have with a short description.

Thanks !

@Sniki Sniki changed the title DynamicEWMode issues on Lenovo ThinkPad laptops DynamicEWMode problem on Lenovo ThinkPad Laptops May 4, 2020
@usr-sse2
Copy link
Contributor

usr-sse2 commented May 5, 2020

After the changes, DynamicEWMode can't have any influence on gestures, as it isn't read.

Some gestures are impossible without Extended W mode, so it's always enabled if the touchpad supports it. If some touchpads have problems in Extended W mode, we should debug these problems instead of disabling Extended W mode.
Moreover, proper handling of touchpads that don't have Extended W mode is not implemented yet (the coordinates of second finger are always 0, and really should be assigned to the coordinates of the first finger).

@Sniki
Copy link
Author

Sniki commented May 5, 2020

It seems that it does support EWMode all fine because all gestures seem to work well with it being left enabled by default.
But the Physical buttons and the TrackPoint are not working correctly and broken.
Here is a video on what happens:
ClickPad.mp4.zip

Disabling DynamicEWMode the TrackPoint and Physical Buttons (Left,Middle,Right click) start to work again but gestures brake and system lags while moving windows and drag and drop.

@junaedahmed
Copy link

Having same problem with latest release as @Sniki 's video.

@usman2006
Copy link

have same issue but only after I use one of the physical button.
if i uncheck and check in trackpad some gesture settings it works than again normal till i use again one of the upper buttons

@Sniki
Copy link
Author

Sniki commented Jun 5, 2020

@usr-sse2
I have some more proper informations regarding this introduced issue.

All Physical Buttons do work as Right Click on Press and Left click on Release (so both left click and right click on normal press) and trackpoint doesn't work at all.

However the bottom part of the touchpad is click-able as well for left click and right click.
And the bottom part works fine.

The kext broke on the mentioned commit on first post (3 commits introduced that day).

Back in the days when the kext was still on it's early releases we had similar issue and a user added back some deleted code that broke it during the transition and cleanup from Rehabman version.

History reference:
acidanthera/VoodooPS2@e8c511b

This did add back phyiscal buttons functionality.
Is it possible that same/similar code has been removed since those commits ?

Other than this issue, the kext is working better than it ever did.

Thanks for the continuous improvements !

@gimdh
Copy link

gimdh commented Jun 20, 2020

My trackpoint button works fine, but it is extremely laggy when trying to drag with trackpoint. Version 2.1.3 works fine but anything above it breaks drag functionality.
One thing to note is that my Thinkpad has trackpoint buttons integrated to trackpad, not keyboard. I am wondering if this issue is due to some sort of simutaneous input rejection algorithm as driver may see two as different device.

@Sniki
Copy link
Author

Sniki commented Jun 20, 2020

My trackpoint button works fine, but it is extremely laggy when trying to drag with trackpoint. Version 2.1.3 works fine but anything above it breaks drag functionality.
One thing to note is that my Thinkpad has trackpoint buttons integrated to trackpad, not keyboard. I am wondering if this issue is due to some sort of simutaneous input rejection algorithm as driver may see two as different device.

@gimdh that's the problem with the SSDT used as you described.
same behavior here as well physical buttons and trackpoint work, but dragging is very laggy with both touchpad or trackpoint and gestures like two finger scrolling etc are broken, however if i remove DynamicEWMode >n , the buttons break and the behavior is like on my last post described.
Gestures work, lag is gone, but physical buttons and trackpoint are broken, the buttons work as right click on press and left click on release (both left and right button).

But as seen on a different issue here, i believe physical buttons and trackpoint are planned to move from VoodooPS2 to VoodooInput as @usr-sse2 said if i am correct.

So i assume this issue will be handled during that process.

@yusufklncc
Copy link

Any solution? @Sniki

@1Revenger1
Copy link

1Revenger1 commented Nov 9, 2022

VoodooPS2Controller-2.3.1-DEBUG.zip
VoodooPS2Controller-2.3.1-DEBUG.zip

Do you all mind testing this build of acidanthera/VoodooPS2#54? This should fix the buttons and Extended W mode weirdness.

@Muhal44
Copy link

Muhal44 commented Nov 12, 2022

Dear 1Revenger1
Thank you very much for your time and effort.
This new designed kext worked my Hp6470b laptop (ivy bridge, with synaptics trackpad).
Both multitouch and physical buttons (Left, and,Right click) are working well.

@Sniki
Copy link
Author

Sniki commented Nov 21, 2022

VoodooPS2Controller-2.3.1-DEBUG.zip VoodooPS2Controller-2.3.1-DEBUG.zip

Do you all mind testing this build of acidanthera/VoodooPS2#54? This should fix the buttons and Extended W mode weirdness.

I have been away for quite a while from the hackintosh community due to life stuff (job, first kid, new interests/hobbies, etc).
Since i opened the issue i feel that i am also responsible to confirm if this fixes the issue.
I will attempt to install on my 2nd ssd on my T440P before the 1st December so it gets merged with next month releases if we face no other issue.

Thanks for the work and your precious time !

@NeoBlizzard-verbose
Copy link

VoodooPS2Controller-2.3.1-DEBUG.zip VoodooPS2Controller-2.3.1-DEBUG.zip

Do you all mind testing this build of acidanthera/VoodooPS2#54? This should fix the buttons and Extended W mode weirdness.

Can confirm that this kext fixes the buttons for my Synaptics touchpad and the overall smoothness is greatly improved. I disabled PS2Mouse plugin for my case.
However, after booting up, the deadzones seem to take some time to get properly adjusted. Maybe this is something to do with the order of kexts that load on my laptop, but no complaints as hackintosh adds 3 finger gestures to my touchpad which wasn't possible on windows as well as linux.

Thank you

@Sniki
Copy link
Author

Sniki commented Dec 12, 2022

@1Revenger1 Thank you for the work, i can confirm this fixes the problem and now physical buttons on the trackpad are working.
However dragging is broken (with and without thinkpad_clickpad SSDT), tested both scenarios.
The bottom part of the touchpad is clickable surface as well and there i can click left side for left click and right side for right click but that part now acts as force touch.
If i disable force touch into settings > TrackPad, then the bottom clickable area works just fine and i can drag with the bottom clicks, but the upper ones are not able to drag.

@1Revenger1
Copy link

The ssdt shouldn’t make any difference now, EW mode and button logic should be based off of what the trackpad reports. Do the two trackpad buttons at the bottom both work as left clicks using the kext, or do they act as left and right clicks? Wonder if I need to check the two button click pad bit.

I’ll double check the dragging with the track point buttons later, and see if I can figure that out. Thanks for testing!

@Sniki
Copy link
Author

Sniki commented Dec 12, 2022

The ssdt shouldn’t make any difference now, EW mode and button logic should be based off of what the trackpad reports. Do the two trackpad buttons at the bottom both work as left clicks using the kext, or do they act as left and right clicks? Wonder if I need to check the two button click pad bit.

I’ll double check the dragging with the track point buttons later, and see if I can figure that out. Thanks for testing!

Just went to bed as its 02:45 am, will test tomorrow and let you know with the correct answer as i am not 100% sure.

@Sniki
Copy link
Author

Sniki commented Dec 12, 2022

@1Revenger1 i just checked/tested and yes both bottom buttons/clickable area work as left clicks

Also just realized that scrolling with the middle-upper butto & trackpoint doesn't work, haven't checked if it worked with the SSDT enabled though, since you said it doesn't make any difference.

@1Revenger1
Copy link

@Sniki sorry for the delay. How is the version from the latest build here? This should be the latest version with the latest VoodooInput.

I double checked the dragging around using the trackpoint buttons and trackpad, and that worked just fine on my device. I didn't see any logic errors that'd prevent that or the scrolling.

Btw, the force touch is configurable. If you set the force touch mode to zero in VoodooPS2 or disable force touch in system preferences, it should be disabled. It annoys me quite a bit so I just leave it disabled in system preferences.

@Sniki
Copy link
Author

Sniki commented Dec 23, 2022

@Sniki sorry for the delay. How is the version from the latest build here? This should be the latest version with the latest VoodooInput.

I double checked the dragging around using the trackpoint buttons and trackpad, and that worked just fine on my device. I didn't see any logic errors that'd prevent that or the scrolling.

Btw, the force touch is configurable. If you set the force touch mode to zero in VoodooPS2 or disable force touch in system preferences, it should be disabled. It annoys me quite a bit so I just leave it disabled in system preferences.

Will give it a try tonight/tomorrow, i can provide logs if necessary if there is something still not working correctly, i have been out of sync lately, it would be nice to give a super short/quick example on how to collect logs.

@1Revenger1
Copy link

1Revenger1 commented Dec 23, 2022

Easiest way to provide logs I've found is setting msgbuf=1048576 or adding DebugEnhancer.kext to your kexts. This expands the number of logs that are stored and shown when running the sudo dmesg command. I haven't gotten the log command to work well so I mostly just use dmesg.

Some things you can try grepping for is ps2, synaptics_parse_hw_state, VoodooPS2 Buttons, and VoodooPS2 w. The first is likely to pick up all the keyboard logs though so I'd be a bit cautious sending logs with those in there. Probably easiest to use sudo dmesg | grep -E 'synaptics_parse_hw_state|VoodooPS2 w|VoodooPS2 Buttons'

@Sniki
Copy link
Author

Sniki commented Dec 23, 2022

@1Revenger1 i tried to grab some logs, if you need additional ones let me know, it was PITA because i couldn't do selection as dragging is still not working and scrolling with trackpoint still doesn't work for me.
PS2.txt

@1Revenger1
Copy link

1Revenger1 commented Dec 24, 2022

Uhh, looks like I broke something related to external buttons. Do you mind trying the version below?
For dragging, clicking down on the trackpad should work for now until I can get the buttons fixed.
I changed some of the logging, so use sudo dmesg | grep -E 'synaptics_parse_hw_state|VoodooPS2Trackpad'
This should hopefully give me a lot more logging and give me a better idea what's going on.

VoodooPS2Controller-2.3.1-DEBUG.zip

@Sniki
Copy link
Author

Sniki commented Dec 25, 2022

Uhh, looks like I broke something related to external buttons. Do you mind trying the version below? For dragging, clicking down on the trackpad should work for now until I can get the buttons fixed. I changed some of the logging, so use sudo dmesg | grep -E 'synaptics_parse_hw_state|VoodooPS2Trackpad' This should hopefully give me a lot more logging and give me a better idea what's going on.

VoodooPS2Controller-2.3.1-DEBUG.zip

Scrolling with trackpoint + middle button doesn't work
Dragging/Selection still doesnt work with upper physical buttons
However middle button now opens shortcut correctly etc.
New logs.txt

Here are the logs:

@1Revenger1
Copy link

Oh, the external buttons field works a bit differently than I thought it did. Looks like the buttons are only reported in one packet even if they stay pressed down. At least the buttons seemed to be reported right when initially pressed, so the logic is mostly right. I'll see if I can get a build together either tonight or tomorrow morning which persists the button presses across packets (PST timezone).

@1Revenger1
Copy link

VoodooPS2Controller-2.3.1-DEBUG.zip
This should hopefully fix dragging and scrolling.

@Sniki
Copy link
Author

Sniki commented Dec 26, 2022

VoodooPS2Controller-2.3.1-DEBUG.zip This should hopefully fix dragging and scrolling.

Thanks, i will report back with results within an hour.

@Sniki
Copy link
Author

Sniki commented Dec 26, 2022

@1Revenger1 Yes now dragging and scrolling with trackpoint is fixed.

I only have two small issues that i noticed compared to VoodooRMI

  1. Two fingers scrolling is too slow compared to VoodooRMI, a bump in scroll speed would make it fine although that may be user configurable already as it has been ?.
  2. I feel like scrolling is a bit laggy for some reasons, compared to VoodooRMI.

Other than that i think it's about time we close this issue.

Thank you for the amazing work that you did.
Logs PS2.txt

Here are the logs just in case something unusual is present.

@1Revenger1
Copy link

I do know that VoodooPS2 averages the x/y values that comes from the trackpad. I played around with disabling the averaging, which seemed to help with scrolling and moving the pointer. I didn't want to mess around with it too much since it was probably put in for a reason, though I didn't notice any issues with having the averaging disabled. I'm not entirely sure what it would take to configure scrolling speed. All gestures are handled internally in Apple's Magic Trackpad 2 logic.

@Sniki
Copy link
Author

Sniki commented Dec 26, 2022

I do know that VoodooPS2 averages the x/y values that comes from the trackpad. I played around with disabling the averaging, which seemed to help with scrolling and moving the pointer. I didn't want to mess around with it too much since it was probably put in for a reason, though I didn't notice any issues with having the averaging disabled. I'm not entirely sure what it would take to configure scrolling speed. All gestures are handled internally in Apple's Magic Trackpad 2 logic.

All great man, you did an amazing job, that's a different thing and off topic to the issue.
Marking solved/closing

@Sniki Sniki closed this as completed Dec 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

10 participants