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

[KBM] Triple modifier shortcuts #3936

Closed
kenmanheimer opened this issue May 31, 2020 · 28 comments
Closed

[KBM] Triple modifier shortcuts #3936

kenmanheimer opened this issue May 31, 2020 · 28 comments
Assignees
Labels
Idea-Enhancement New feature or request on an existing product Product-Keyboard Shortcut Manager Issues regarding Keyboard Shortcut Manager Resolution-Fix Committed Fix is checked in, but it might be 3-4 weeks until a release.

Comments

@kenmanheimer
Copy link

kenmanheimer commented May 31, 2020

Crutkas: Mac has the shortcut Control + Shift + Command + 3 that capture screenshot and copy to clipboard instead of saving the file. If someone wanted to come over, this is a clear mapping that would need a triple modifier and is a common use case scenario.

Summary of the new feature/enhancement

In some common keyboard mapping styles, some fundamental cases require triple modifiers.

For instance, in Emacs keybindings (and little-known Mac optional bindings), Shift-Ctrl-Alt-f selects while moving forward by word-sized steps. Similarly but in the reverse direction with Shift-Ctrl-Alt-b. The current maximum of two modifiers prevents these and other common bindings.

(This is only a little less important than being able to make mappings between multiple and single keys, but I see in the FAQ for that providing that is already planned.)

Proposed technical implementation details (optional)

Allow more than two modifiers. (I haven't considered whether more than three might be needed.)

Alternately, it would suffice in these particular cases to provide for modal selection, like hitting Alt-space to "set a mark". Then any motion commands would extend the selection, until the selection is used or another key toggles selection mode off. (Autohotkey implements this kind of thing, but unfortunately motion actions that happen due to Keyboard Manager do not respect that mode, interrupting the selection process.)

@smsisko
Copy link

smsisko commented Jul 2, 2020

Please allow more than three, the Hyper (or Office) modifier is the combination of Ctrl-Shift-Alt-Win.

@saahmedm saahmedm mentioned this issue Aug 21, 2020
@arjunbalgovind
Copy link
Contributor

@crutkas @enricogior we already have support for this in the backend, but the UI needs to be modified a bit so that it is possible to select up to 5 drop downs for each column. I believe the reason we stuck to max of 3 initially was to keep the UI simpler, and fitting 10 drop downs in a single line will most likely be impossible.

@mousebyte
Copy link

@arjunbalgovind I find that the shortcuts I want to remap most are the ones with 3 modifiers, since they're a pain to input. I haven't found much use for keyboard shortcut manager yet due to the 2-modifier restriction.

@crutkas
Copy link
Member

crutkas commented Nov 3, 2020

@mousebyte, can you give us examples?

@i-kosh
Copy link

i-kosh commented Jan 24, 2021

The only key on my keyboard I want to remap is MS Office (win+ctrl+alt+shift), would be nice if I could do that

@bweavemcu
Copy link

An example is GoToMyPC remote access app has a keyboard shortcut Ctrl+Win+Alt+Left/Right Arrow to quickly switch between multiple monitors. I'd like to configure PowerToys to remap my keyboard media Previous/Next Track buttons to do this shortcut combination when using that app.

@crutkas
Copy link
Member

crutkas commented Jan 26, 2021

@enricogior famous last words but i think this may just be an int we set to restrict trip / quad modifiers in the KBM UX. Type control and the creation strip with the combo spots would be the two spots i could see it.

Should be straight forward. (once again, famous last words)

@enricogior
Copy link
Contributor

@crutkas
we need to to do some investigation to make sure.

@PMExtra
Copy link

PMExtra commented Feb 18, 2021

@crutkas Another example, I'm a user of both Windows and macOS, I want to keep united shortcuts practice of them and I prefer the mac shortcuts. So I will map so many mac shortcuts to Windows, such as Win+C -> Ctrl+C. Then I will map the Capture Screen shortcut Win+Ctrl+Shift+3 -> PrintScr that need more than two modifier keys.

About the UI, I think we can make only one focus key that could be drop down. Any other keys should be shown as a linked label.
And I strongly suggest make every map rule just be single line, the current UI is a lot mess that split the Type button in a separate row. We can also replace the Type button with an icon to cut size.

@crutkas
Copy link
Member

crutkas commented Feb 18, 2021

@PMExtra, on a mac, it is shift+command+3 for a screenshot, that doesn't require Windows key, just do Shift+Alt+3 mapped to Print screen. That would be the exact same mapping.

Why does WinKey have to be involved?

@PMExtra
Copy link

PMExtra commented Feb 19, 2021

@crutkas First, I'm using mac keyboard, the WinKey is exactly CommandKey.
Then, I mapped Shift + WinKey + 3 to WinKey + PrintScr that will saved screen shot to file.
And mac has the shortcut Control + Shift + Command + 3 that capture screenshot and copy to clipboard instead of saving the file. It's just like only press PrintScr key in Windows. So I will map Win+Ctrl+Shift+3 to PrintScr.

@crutkas
Copy link
Member

crutkas commented Feb 19, 2021

Lets take a step back, is this a VM on a mac? On a PC, from left to right, typically the keys are Ctrl, Win, Alt. That would put the Winkey in the Option key spot for a mac, Alt and Cmd like wise.

If you did PC to mac, most remaps would either do the Alt or Ctrl key for the Command Key.

However, you did just give us the use case for enabling triple modifiers, for a Mac to PC mapping.

@PMExtra
Copy link

PMExtra commented Feb 20, 2021

@crutkas I have a PC and a Mac, them work together with Synergy. In short, I use a suit of keyboard and mouse that shared with PC and Mac. The keyboard is a mac keyboard (the keys from left to right are Control, Option, Command).
In windows default, Control is Ctrl, Option is Alt, Command is Win. This is also my preferred.
So I used to use AutoHotKey to remap keyboard shortcuts to unify the use practice.
Now, I got PowerToys, I really like this powerful tool especially it's provided by Microsoft official. So I want to replace AutoHotKey with PowerToys, but I encountered this issue.

However, it's only an example that need more than 2 modifier keys. I think there are so many other use cases, so we don't need pay more attention about this example.

@Enduriel
Copy link

The funny thing is a good example of where this is useful is provided by you guys. The 'shortcut' for switching to a specific FanzyZone is ctrl+win+alt+0-9, which I don't plan on using. So I wanted to use Keyboard Manager to switch that shortcut to something more manageable but it turns out I can't because of this limitation.

Just thought it was a little amusing that you're asking for examples when they are in this very repo 😝

@crutkas
Copy link
Member

crutkas commented Jul 30, 2021

Just thought it was a little amusing that you're asking for examples when they are in this very repo 😝

This question was proposed before we enabled that. It still is a valid question for prioritization.

@dumblob
Copy link

dumblob commented Aug 4, 2021

It's still a valid question because e.g. LeftShift + RightShift + Alt + h doesn't seem to work 😢.

@TuralAsgar
Copy link

Please add this feature to UI, because it is very important for us

@OliverDudgeon
Copy link

Adding the message given "shortcuts can only have up to 2 modifier keys" to help others find this issue and raise more demand because this is really needed.

@crutkas
Copy link
Member

crutkas commented Nov 23, 2021

this will amplify #8793

@crutkas
Copy link
Member

crutkas commented Nov 24, 2021

Team decided UI work (rightly so) is needed also with this. This work will fix #8793 then.

@jim-taylor-business
Copy link

Please allow more than three, the Hyper (or Office) modifier is the combination of Ctrl-Shift-Alt-Win.

Yes please. I would like to remap the new Emoji Key that is a left Shift-Ctrl-Win-Alt Space combo.

@crutkas
Copy link
Member

crutkas commented Jan 13, 2022

Big issue is this breaks the UX which made a small change into larger.

@crutkas crutkas removed the Status-In progress This issue or work-item is under development label Jan 13, 2022
@stuartleeks
Copy link

What if this could be specified in the config but the UI rendered a readonly text description for >2 modifiers? Would something like that be an option?

@jim-taylor-business
Copy link

lots of UX ways of making room for the new modifiers but not a trivial change.

very keen on this change though. got quite excited when i saw crutkas was working on it 😁.

@crutkas
Copy link
Member

crutkas commented Jan 14, 2022

Code works for enabling now. Issue is the UX. If people are ok with a broken UX, we could push it now. Then just file a issue knowing it won’t render correctly

I thought it would have been a few lines (it was) but the editor UX is pretty fixed sizing and is done in code vs xaml

@Zettrex
Copy link

Zettrex commented Feb 2, 2022

let us set our own keybinds or a really large list of avalible keybinds

@jaimecbernardo jaimecbernardo added the Status-In progress This issue or work-item is under development label May 18, 2022
@jaimecbernardo jaimecbernardo self-assigned this May 18, 2022
@jaimecbernardo jaimecbernardo added Resolution-Fix Committed Fix is checked in, but it might be 3-4 weeks until a release. and removed Status-In progress This issue or work-item is under development labels May 19, 2022
@Arseni-Paharelau
Copy link

Arseni-Paharelau commented Jul 3, 2022

Let me show you another good example of where this feature is useful if any is interested in...

I personally love the numpad to quickly work with the Calculator or type large numbers or phone numbers. But my laptop doesn't have the numpad and doesn't allow switching the right side of the keyboard to numbers (like some other laptops do).

So, for now I end up with the following solution implemented with the power of AutoHotkey:

Whenever I want the right side of my keyboard to switch to numbers and operators, I turn on CAPS Lock, then hold Left Shift and start typing the N M , . J K L U I O / ; P 8 9 keys which start converting to 0 1 2 3 4 5 6 7 8 9 . + - / * accordingly (feels like using the real numpad). Once I'm done, I stop holding Left Shift and turn off CAPS Lock.

The combination of CAPS Lock (turned on) + Left shift + some_key looks strange but it's quite convenient to use and it never overrides existing shortcuts of either Windows or apps environment.

I would be happy to implement this behavior via PowerToys once the feature is released. Thank you!

P.S. Just in case, sharing my AutoHotkey script to better explain what I mean:

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

#Singleinstance force

#If GetKeyState("CapsLock", "T")
<+m::Send,1
<+,::Send,2
<+.::Send,3
<+j::Send,4
<+k::Send,5
<+l::Send,6
<+u::Send,7
<+i::Send,8
<+o::Send,9
<+n::Send,0
<+/::Send,.
<+8::Send,/
<+9::Send,*
<+p::Send,-
<+`;::Send,{+}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Idea-Enhancement New feature or request on an existing product Product-Keyboard Shortcut Manager Issues regarding Keyboard Shortcut Manager Resolution-Fix Committed Fix is checked in, but it might be 3-4 weeks until a release.
Projects
None yet
Development

No branches or pull requests