Skip to content

Conversation

@leshafrai
Copy link

@leshafrai leshafrai commented Sep 4, 2020

Hi. Thank you for your work. Everything works fine.

KDERazorback and others added 10 commits June 29, 2020 23:12
…improved PrntScr hotkey handling

+ Added Vendor Specific Message with code 151 (0x97) to ApplePS2Device used to request Trackpad resets from Keypad controller.
- VoodooPS2Keyboard now requests a Trackpad reset too when the 3-finger salute (Ctrl+Alt+Del) is pressed on the Keypad.
+ Fix: Added an extra kDP_Enable command request on VoodooPS2SynapticsTouchPad when waking from sleep. This should auto-enable reluctant Synaptics touchpads on wake.
+ Added handling code for resetTouchpad IOkit messages on VoodooPS2SynapticsTouchPad, to actually reset and re-enable the device on request.
- Bumped module version to 2.1.6

TL;DR: This commit tries to fix some Synaptics touchpad devices not working after waking from sleep. If that doesnt work automatically after a couple of seconds, press Ctrl+Alt+Del to issue a device reset. This can be done at any time.

Dev note: It may be a good idea to implement the the reset message handling on any other touchpad driver too, this should give users a keyboard combo command to try to recover from non-working scenarios, before giving up and rebooting.

(+1 squashed commit)
Squashed commits:
[3e7fb81] Remapped Touchpad reset to PrntScr and cleaned up special hotkey handling

- Ctrl+Alt+PrntScrn key combo is now used to trigger Touchpad resets. This should fix collisions with Ctrl+Alt+Del on VMs/RDPs.
- Cleaned and improved special hotkey handling on VoodooPS2Keyboard.cpp around the PrntScr/SysRq key.
- VoodooPS2Keyboard now detect and correctly maps the SysRq key or the Alt+PrntScrn key combo, instead of just ignoring it.
+ VoodooPS2Keyboard now detects modifiers pressed on any side of the keyboard when handling special PrntScr hotkeys.
- The keyboard module is now more verbose to the IOLog when built with DEBUG configurations.
+ Keyboard and Touchpad "Enabled" states are now synced up when using the Windows/Logo+PrntSrc keyboard combo. Both of them are disabled, or both enabled.
+ Pressing Shift+PrntSrc now sends a SysRq key instead, useful for VMs and RDPs, specially Linux-based ones.
- Devs: Added inline method checkModifierStateAny(UInt16) to VoodooPS2Keyboard.h. This should allow a more flexible way to check if a modifier key is present without taking into account other modifier keys.

The current list of supported hotkeys by VoodooPS2Keyboard are as follows:

Supported Voodoo PrntScr Key combinations:
- PrntScr:            Enable/Disable touchpad
- Windows+PrntScr:    Enable/Disable touchpad+keyboard
- Ctrl+Alt+PrntScr:   Reset and enable touchpad
- Shift+PrntScr:      Send SysRq scancode to the kernel
-- Removed touchpad reset signal dispatching code from VoodooPS2Keyboard.cpp. This change complements the previous commit.
…mmand key is left pressed when locking keyboard and trackpad with Command-PrtScr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.