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

MWB hardcoded hotkey breaks KeepassXC auto-type (Ctrl+Shift+Alt+K) #26454

Open
dtmdl opened this issue May 29, 2023 · 0 comments
Open

MWB hardcoded hotkey breaks KeepassXC auto-type (Ctrl+Shift+Alt+K) #26454

dtmdl opened this issue May 29, 2023 · 0 comments
Labels
Issue-Bug Something isn't working Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams

Comments

@dtmdl
Copy link

dtmdl commented May 29, 2023

Microsoft PowerToys version

0.70.0

Installation method

WinGet

Running as admin

Yes

Area(s) with issue?

Mouse Without Borders

Steps to reproduce

  1. Run KeepassXC with global auto-type enabled and the default (I think) hotkey of Ctrl+Shift+Alt+K.
  2. Press Ctrl+Shift+Alt+K to show the auto-type popup. (Esc to close.)
  3. Run PowerToys and enable Mouse Without Borders.
  4. Press Ctrl+Shift+Alt+K to attempt to show the auto-type popup again.

✔️ Expected Behavior

As no shortcut for Mouse Without Borders has been configured for Ctrl+Shift+Alt+K, I expect the KeepassXC hotkey to be triggered as normal, whether MWB is running or not.

❌ Actual Behavior

Whenever Mouse Without Borders is enabled, KeepassXC's auto-type hotkey, bound to Ctrl+Shift+Alt+K, is non-functional.

Investigating the source shows a hardcoded hotkey Ctrl+Shift+Alt+K:

    if (CtrlDown && altDown)
        if (...)

else if (shiftDown && Setting.Values.VKMap != null && vkCode == (Setting.Values.VKMap.ContainsKey(0) ? (int)Setting.Values.VKMap[0] : 'K'))
{
if (Common.DesMachineID == Common.MachineID || Common.DesMachineID == ID.ALL)
{
Setting.Values.UseVKMap = !Setting.Values.UseVKMap;
return Common.DesMachineID == ID.ALL;
}
}

It seems Ctrl+Shift+Alt+K toggles the 'Use Key Mappings' option, visible on the old MWB Settings page (or UseVKMap in settings.json).

I'm not sure what this setting is supposed to do. The tooltip refers to http://aka.ms/mm, but I can't see anything relevant there.

The implementation also looks rather suspect -- a property with a getter that returns a new Hashtable on every access? (The above ContainsKey(0) check presumably always fails as a result.)

internal Hashtable VKMap
{
get
{
return new Hashtable();
}
}

Other Software

KeepassXC 2.7.5

@dtmdl dtmdl added Issue-Bug Something isn't working Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams labels May 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Bug Something isn't working Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams
Projects
None yet
Development

No branches or pull requests

1 participant