microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
109.78k stars 6.47k forks source link

keyboard manager on off hotkey #20272

Closed pacovsky closed 1 year ago

pacovsky commented 2 years ago

Description of the new feature / enhancement

I really miss an option to enable remaping by pressing a hotkey.

Scenario when this would be used?

I remap some keys to allow better workflow, but in other contexts it does not make sence. So I would like to disable it.

Other is switching physical keyboards.

Supporting information

No response

oryandunn commented 2 years ago

I would also like this feature, to have a shortcut to enable/disable the keyboard manager. The common scenario is using my laptop, then plugging into a dock and using a keyboard there. My physical keyboard is an HHKB with the control in the correct location, but on the laptop, I have to remap caps lock to be control.

Another nice enhancement would be to have keyboard manager profiles, that could be swapped with a hotkey/shortcut.

edgartaor commented 1 year ago

I have the same scenario. Using some applications the remap is really useful but with others is not. An automatic switch per app would be ideal, but a shortcut to turn on/off the remap is enough.

edgartaor commented 1 year ago

Ok, I found a workaround. https://github.com/microsoft/PowerToys/issues/1881#issuecomment-1130235627

You can prepare your json profiles, for example mac.json and win.json in the C:\Users\AppData\Local\Microsoft\PowerToys\Keyboard Manager

Then make a powershell script, for example to switch to the win profile:

$ErrorActionPreference = 'SilentlyContinue'
cd $HOME
cd '.\AppData\Local\Microsoft\PowerToys\Keyboard Manager'
cp win.json default.json
taskkill /F /IM PowerToys.KeyboardManagerEngine.exe
& 'C:\Program Files\PowerToys\modules\KeyboardManager\KeyboardManagerEngine\PowerToys.KeyboardManagerEngine.exe'

So I made an empty profile, disabled.json: { "remapKeys": { "inProcess": [ ] }, "remapShortcuts": { "global": [], "appSpecific": [] } }

and enabled.json with my custom remaps and one script to enable and one for disable. And then create shortcuts in my desktop to run those scripts.

crutkas commented 1 year ago

/dup #4879

ghost commented 1 year ago

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!