microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
111.4k stars 6.56k forks source link

[Keyboard Manager] Shortcut mapping of Ctrl+(Up|Left) to PgUp|Ctrl+PgUp stops working after alternation with Ctrl held down #16333

Open scscgit opened 2 years ago

scscgit commented 2 years ago

Microsoft PowerToys version

0.55.2

Running as admin

Area(s) with issue?

Keyboard Manager

Steps to reproduce

Create the following mappings (or similar ones using Right/Down/PgDown):

Follow the following sequence (you can test Ctrl+PgUp in major web browsers to switch between active tabs):


I'm guessing that the related implementation is described by the comments at: https://github.com/microsoft/PowerToys/blob/3df2c5fe6a84514bff25adfc0e31a1de84c2c906/src/modules/keyboardmanager/KeyboardManagerEngineLibrary/KeyboardEventHandlers.cpp#L330


Setup motivation context

Laptop manufacturers like Dell have been recently on a spree to further reduce usability of laptop keyboards, trying to fix problems that never existed, and now all power users (those of us that use keys like PageUp/PageDown on a daily basis) have to collectively share these consequences. The abovementioned shortcuts are my attempt to make it easier to use layouts like the one illustrated here, where you have to use Fn, which on top of requiring an additional key also requires using both hand. (Due to hardware limitations it's impossible to map Right Ctrl to Fn + Ctrl directly.) By "sacrificing" the totally redundant right Ctrl, with the new shortcuts it's enough to just use right hand for everything:

image

Some additional resources to illustrate the sentiment around this criticism:


As a separate feature suggestion, it would be great if common use-cases similar to this one could be officially tracked & supported; not only as part of test coverage, but possibly even as predefined presets available in the form of community-driven suggestions for specific use-cases. For example, if there is any (subjectively) better solution that thousands of users are already satisfied with, (especially if some shortcuts are infeasible due to hardware keyboard limitations, or even OS-level -> in which case however the advantage of PowerToys over something like AutoHotKeys or any Linux could be the implicit support from Microsoft when it comes to resolving issues of compatibility between their own products), I'm sure that more of us would be happier with accepting some well-documented and well-tested layouts rather than reinventing wheels by trial and error.

✔️ Expected Behavior

The shortcuts should always get translated.

❌ Actual Behavior

Two separate issues; not only is the behavior different depending on whether the shortcuts were pressed during the same Ctrl modifier keydown, but it's even stateful and persists throughout different key actions until Ctrl+Up is pressed again.

This was tested on two separate systems, using both a built-in keyboard and an external one.

Other Software

No response

TheJoeFin commented 1 year ago

Can you confirm this issue is still relevant in v0.73? /needinfo

microsoft-github-policy-service[bot] commented 1 year ago

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 5 days. It will be closed if no further activity occurs within 5 days of this comment.

scscgit commented 1 year ago

@TheJoeFin I updated PowerToys and I'm still getting the same behavior. Have you been unable to test it? Can you re-open the issue?

TheJoeFin commented 1 year ago

I have not been able to recreate the issue, and I will reopen the issue.

scscgit commented 1 year ago

@TheJoeFin It seems the Needs-Author-Feedback tag has to be removed after reopening the issue.