PowerToys
PowerToys copied to clipboard
Keyboard manager breaks 3 and 4 finger touch pad taps with certain remaps
Environment
Windows build number: 10.0.18363.836
PowerToys version: 0.18.1
PowerToy module for which you are reporting the bug (if applicable): Keyboard manager
Steps to reproduce
- Configure an action for 3/4 finger tap in Windows Settings -> Devices -> Touchpad
- Turn on Keyboard manager in PowerToys settings
- Remap Alt with Control
- Remap Control with Alt
Expected behavior
For 3 and 4 finger tap gestures configured in settings to work For the Control and Alt key to be swapped
Actual behavior
3 and 4 finger taps do nothing Control and Alt key do still swap as they should
Screenshots
@Zeebins I don't have a precision touch pad, so I can't test all the gestures or change the gesture actions, but I was able to test this with 3 finger swipe up. By default this will show all open windows, and internally it just does Win(Left)+Tab. If I remap Win(Left) to something else, it will do that instead.
In your case I'm guessing that the actions you have set for the 3 and 4 finger tap gestures probably involve the Ctrl and Alt keys, and since you have remapped those two keys they now behave differently. Can you confirm this?
Neither gesture involves the Ctrl or Alt key My 3 finger tap is set to middle click. 4 finger tap is set to open the action center, which would be Win + A on the keyboard.
I can repro this as well. The clicking gestures do not work, but the swiping gestures work here
Reason this is happening: Although not visible to the user, these gestures are made up of keys. For example, the three finger tap gesture uses the following keys: Ctrl Left + Shift Left + Win Left + F22, so when you remapped the Ctrl / Alt keys it could no longer access left Ctrl.
trying to figure out what we can do about this! great catch
@saahmedm If I remap Left Ctrl to almost anything, a three finger tap brings up the "Project screen" panel (along with other actions depending on which key it's remapped to). However, if I use SharpKeys (writes directly to registry) to implement my remaps, everything works fine.
Also, if I remote into my other laptop with Remote Desktop Connection and try to three finger tap, it attempts to bring up the Project panel, even with all keymaps disabled. But if I use the touchpad on the other laptop, three finger tap to middle click works fine. Coincidence?
Here is some of the information we were able to find. Remapping Win/Ctrl/Alt/Shift or F13-F24 could lead to some of the following gestures and special buttons to break:
- A subset of Surface Keyboard Attachments (some have specialized buttons for Search, Charms, etc.)
- Bluetooth Pens from Wacom, Surface, etc. that have a tail button (used for launching Whiteboard, taking a screenshot, etc.)
- Physical Rotation Lock buttons on tablets
- Signaling of pen being removed or returned to pen garage on Surface Pro X and similar OEM models
- Some 3F/4F Precision Touchpad Gestures
I've linked to this issue on the Known Issues section on the KBM wiki https://github.com/microsoft/PowerToys/wiki/Keyboard-Manager-Overview#4-known-issues
Blocking CTRL, CTRL(Left) or CTRL (Right) also blocks the "@" symbol on TabTip OSK.
Related to this, if CTRL is remapped with e.g. CAPS LOCK, WIN+V (pasting from the clipboard manager) will not paste the selected clipboard item, but outputs CAPS LOCK + V. It takes another two actions to actually paste the item and remove the caps lock.
They should update how the touchpad works in the future release of Windows, or PowerToys needs to do the inverse when using the touchpad separately which I believe is pretty hard.
Hi, also related to this, swapping ALT & Control causes the touchpad "pinch to Zoom" feature to act as though ALT is being pressed when performed on Microsoft Office programs, notepad, wordpad, etc... Any ideas? Thanks!
Same problem. This needs to be fixed
swapping ALT & Control causes the touchpad "pinch to Zoom" feature to act as though ALT is being pressed
I'm guessing there is a Ctrl++ being sent?
adding my +1 here
Reason this is happening: Although not visible to the user, these gestures are made up of keys. For example, the three finger tap gesture uses the following keys: Ctrl Left + Shift Left + Win Left + F22, so when you remapped the Ctrl / Alt keys it could no longer access left Ctrl.
trying to figure out what we can do about this! great catch
Workaround to fix 3 finger tap: Remap a shortcut (just below where you remapped Ctrl / Alt): Alt Left + Shift Left + Win Left + F22 to Ctrl Left + Shift Left + Win Left + F22
Workaround to fix 3 finger tap: Remap a shortcut (just below where you remapped Ctrl / Alt): Alt Left + Shift Left + Win Left + F22 to Ctrl Left + Shift Left + Win Left + F22
This works for remapping Alt and Ctrl keys but not for remapping Caps Lock and Ctrl because the shortcut menu is only taking up either Caps Lock or F22, not both together in one shortcut.
I had similar problem I remapped capslock to ctrl and remapped ctrl to capslock. This caused 3 finger tap to turn on capslock and open project menu. Also it caused ALTGR (Right alt) to turn on capslock. I solved this by deleting the remap of ctrl to capslock and remapped altgr to caps.
I've encountered this issue even with AutoHotkey. The Win+Ctrl+Shift+F22 combination would trigger some of my macros everytime I would middle click on the touchpad of my Surface Pro.
The fix that I'm using, and working so far, is to create a new hotkey / macro / key remap which does the same that Windows does: remap Win+Ctrl+Shift+F22 to Middle mouse click. This looks like makes the remapping software used (PowerToys, AutoHotkey, etc..) "aware" of that key combination and solves false triggers of other macros.
MacOS can remap keys, Linux can, any kind of Unix can, and until recently so could Windows. How did this happen, and how can this bug still be open after four years?
For hand problem reasons, I've been remapping capslock and control for at least a decade. I had no problem with it on my old Surface Pro, and at least initially, no problems on my Surface Laptop Studio, although a couple years ago, this bug -- which I finally know about -- made that machine miserable to use. I went through MS Windows Support and endured their endless suggestions that I reinstall Outlook, refresh my browser, and take other obviously pointless actions. I also reported this many times on the MS feedback tool, and the only response I ever got was that they were "waiting for more information."
Will this bug ever be fixed? Or should I just send back my brand-new Surface Pro 11, and give up on Windows?
I've encountered this issue even with AutoHotkey. The Win+Ctrl+Shift+F22 combination would trigger some of my macros everytime I would middle click on the touchpad of my Surface Pro.
The fix that I'm using, and working so far, is to create a new hotkey / macro / key remap which does the same that Windows does: remap Win+Ctrl+Shift+F22 to Middle mouse click. This looks like makes the remapping software used (PowerToys, AutoHotkey, etc..) "aware" of that key combination and solves false triggers of other macros.
Hi @R4ygen, did you do the remapping with autohotkey or with PowerToys? Does your fix still work? Could you post the details? I need to swap capslock and control and could use whatever hints I can get.
I've encountered this issue even with AutoHotkey. The Win+Ctrl+Shift+F22 combination would trigger some of my macros everytime I would middle click on the touchpad of my Surface Pro. The fix that I'm using, and working so far, is to create a new hotkey / macro / key remap which does the same that Windows does: remap Win+Ctrl+Shift+F22 to Middle mouse click. This looks like makes the remapping software used (PowerToys, AutoHotkey, etc..) "aware" of that key combination and solves false triggers of other macros.
Hi @R4ygen, did you do the remapping with autohotkey or with PowerToys? Does your fix still work? Could you post the details? I need to swap capslock and control and could use whatever hints I can get.
This is my Autohotkey script:
; Windows 11 precision touchpad Middle click shit
<#<^<+F22:: {
KeyWait "LWin"
Send "{MButton}"
}
It simply converts the LWin+LCtrl+LShift+F22 sequence to the Middle click mouse button.
This sequence of keys is the one created by the touchpad itself when you tap it with 3 fingers (dunno if it's created at driver level or if it's a windows 11 thing). Then, in the Windows settings, if you choose an action for the "3 fingers tap", let's say you choose "middle click", the Windows settings works exactly like a keyboard remapper, converting that sequence into a middle click.
So what it did is: Disable all the settings for 3 and 4 finger gestures in Windows settings (I set them to "do nothing"), and just recreate them myself in the keyboard remapping software I use: Autohotkey in my case, but you can probably recreate the same remaps in PowerToys keyboard manager, should work the same.