xxxzc / xps15-9570-macos

macOS Monterey/Ventura on XPS15-9570 with OpenCore
196 stars 27 forks source link

PrtSCR to toggle touchpad does not work #66

Closed erenatas closed 3 years ago

erenatas commented 3 years ago

My Specs:

I am currently on release 201208 (Intel version) with AX200, I did a clean install to Catalina (10.15.7). And using fn button with or without the fn button does not toggle touchpad. It toggles WiFi however.

Also, my touchpad freezes time to time and acts weird, but I'm not sure if it's related to polling mode or anything else. I have also tested while touchscreen is enabled or disabled.

xxxzc commented 3 years ago

The PrtScr worked fine when I tested it before and it's also not working now, very weird...

Also, my touchpad freezes time to time and acts weird, but I'm not sure if it's related to polling mode or anything else. I have also tested while touchscreen is enabled or disabled.

You can switch VoodooI2C back to https://github.com/VoodooI2C/VoodooI2C/releases/tag/2.4.4

shasen1235 commented 3 years ago

I have the same touch freeze issue on the latest release, reverting back to interrupts by swapping Voodooi2c ami files from previous release solved the problem for me. By the way, is there any reason why switching to polling? I might be wrong but I've heard interrupts is the better way if well implemented?

xxxzc commented 3 years ago

Touchpad is still working in interrupt. VoodooI2C can't make touchpad and touchscreen run in interrupt mode both, so I have to make touchscreen run in polling mode. And latest VoodooI2C will broke both touchpad and touchscreen if we don't make one of them run in polling mode.

I will switch back to 2.4.4 and revert SSDT. Sorry for that.

erenatas commented 3 years ago

Touchpad is still working in interrupt. VoodooI2C can't make touchpad and touchscreen run in interrupt mode both, so I have to make touchscreen run in polling mode. And latest VoodooI2C will broke both touchpad and touchscreen if we don't make one of them run in polling mode.

I will switch back to 2.4.2 and revert SSDT. Sorry for that.

Thanks for your response! I have checked the diff between your last release and the release before that and I could not see a commit related to this change. Maybe you have forgotten to push the commit?

If you can create a Pull Request, I can test and review it for you. We can merge afterwards and make sure to know that commit is there. I want to mention something weird though, maybe it's because I don't know how polling mode works. During boot, touchpad is almost unusable, there are really bad interrupts. But later on, especially waking up from sleep makes it much better. Although I really wonder what kind of functionality we lose as I have not yet done a performance monitoring.

Please know that I appreciate your work. We are in a different perspective over the last year.

EDIT: I just realised you already pushed your changes over the master. I will test it update the ticket.

xxxzc commented 3 years ago

@erenatas SSDT has nothing to do with this problem actually, replacing VoodooI2C 2.5.2 with 2.4.4 is enough.

erenatas commented 3 years ago

I have tested the last release, it's really weird. On first boot, it does not really work, but it starts working fine after sleep and wake up. Can you reproduce this issue?

Also, your SSDT change didn't help with PrtScr button. It still disables bluetooth and wifi. That's ok for me but just wanted to let you know.

xxxzc commented 3 years ago

SSDTs are irrelevant, SSDT-I2CX and SSDT-PS2K are just to enable those functionalities, SSDT-I2CX enables hardware GPIO pinning then touchpad can work in interrupt and SSDT-PS2K enables PrtScr function for VoodooPS2(VoodooPS2 reads this SSDT). Don't expect SSDT can fix those issues.

VoodooPS2 detected the key press and executed the touchpad toggling function but I don't know why this didn't work on our laptop.

https://github.com/acidanthera/VoodooPS2/blob/6765507448327ade2c648de7e2eeb087d2d571cb/VoodooPS2Keyboard/VoodooPS2Keyboard.cpp#L1632-L1642

And one of previous debug version works.

xxxzc commented 3 years ago

My touchpad is working fine whether in version 2.5.2 or 2.4.4

M69W commented 3 years ago

@erenatas SSDT has nothing to do with this problem actually, replacing VoodooI2C 2.5.2 with 2.4.4 is enough.

It's better use TPLM = Zero with 2.4.4. I don't know anything happened to this.

VoodooI2C/VoodooI2C/issues/282 VoodooI2C/VoodooI2C/issues/392

M69W commented 3 years ago

@erenatas SSDT has nothing to do with this problem actually, replacing VoodooI2C 2.5.2 with 2.4.4 is enough.

It's better use TPLM = Zero with 2.4.4. I don't know anything happened to this.

VoodooI2C/VoodooI2C/issues/282 VoodooI2C/VoodooI2C/issues/392

both for touchpad and touchscreen