`cmd+space` on Windows 10 (i.e. Windows-Key+space) triggering `ctrl+win+c`? (inverts screen)
I changed the activation key from ctrl+space to cmd+space (win+space wasn't recognized) and it worked, except for some reason it triggers a Windows hotkey for color filters that inverts the screen:
This is obviously strange considering that pressing the C key shouldn't even be part of the hotkey I set.
If I disable the "Allow shortcut key to toggle filter on or off" option, the color filters doesn't trigger when I press ⊞Win+space. Furthermore, if I have WRitingTools closed or paused, it doesn't trigger the color filters either.
And, again, pressing cmd+space (i.e. ⊞Win+space) does bring up the WritingTools window as expected, it just also triggers color filters if the color filters shortcut option is enabled.
What's going on here?
Hello! Intriguing indeed!
Writing Tools internally presses ctrl+c when you invoke it, so that it can copy the selected text into the clipboard and read it from there (it does some magic so that you don't notice this — your clipboard content is restored immediately after).
This explains why adding the Windows key causes ctrl+win+c.
However, others have set keyboard shortcuts that involve the Windows key with no issue. Could (or did) you follow this discussions post on how to set up the Windows key as the keyboard shortcut, and let me know if that fixes this?
I've planned some changes that may resolve this for you in a future update, but for now, let me know if setting the Windows key by simply calling it cmd_l as discussed in that post works for you :)
Best, Jesai
Hello! Intriguing indeed!
Writing Tools internally presses
ctrl+cwhen you invoke it, so that it can copy the selected text into the clipboard and read it from there (it does some magic so that you don't notice this — your clipboard content is restored immediately after).This explains why adding the Windows key causes
ctrl+win+c.However, others have set keyboard shortcuts that involve the Windows key with no issue. Could (or did) you follow this discussions post on how to set up the Windows key as the keyboard shortcut, and let me know if that fixes this?
I've planned some changes that may resolve this for you in a future update, but for now, let me know if setting the Windows key by simply calling it
cmd_las discussed in that post works for you :)Best, Jesai
Still happens when I set it to cmd_l+space (which no doubt corresponds to Left Windows Key + Space). I imagine using the key as a modifier rather than simply invoking it on its own is the difference.
For now I'm working around the issue by binding #Space to Send "{F18}" in AutoHotkey and then setting the WritingTools keybind to f18.
Actually, it looks like it still happens. Seems to be from not releasing the Windows key fast enough before it presses Ctrl+C
Have you thought about calling WM_COPY or EM_GETSEL instead?
EDIT: Mistakenly put in WM_COPYDATA instead of EM_GETSEL
Ah, bummer.
Thanks for the suggestion — I did initially try that approach when developing Writing Tools.
Sadly, WM_COPY only works with standard Windows controls; many apps use custom text controls (hi electron!) and don't respond to it.
And moreover:
- it would completely rid Writing Tools of its platform agnostic nature (Linux support!) if I went ahead with that
- it makes development much more annoying since the app is written in Python (so we'd have to use ctypes to make things possibly work).
I'm glad you found a workaround to use the Windows key in your shortcut! On many devices with faster CPU clocks it just works out of the box as in that discussion.
Actually, it looks like it still happens. Seems to be from not releasing the Windows key fast enough before it presses Ctrl+C
Have you thought about calling
WM_COPYorEM_GETSELinstead?EDIT: Mistakenly put in
WM_COPYDATAinstead ofEM_GETSEL
I have the same problem. And it might work if I wait for the Win key to come up.
AutoHotkey:
^#w::
{
KeyWait('LWin')
Send "{F18}"
}
Actually, it looks like it still happens. Seems to be from not releasing the Windows key fast enough before it presses Ctrl+C Have you thought about calling
WM_COPYorEM_GETSELinstead?EDIT: Mistakenly put in
WM_COPYDATAinstead ofEM_GETSELI have the same problem. And it might work if I wait for the Win key to come up.
AutoHotkey:
^#w:: { KeyWait('LWin') Send "{F18}" }
Good idea, but it proved to be a bit unreliable. This gives better results:
{
GetKeyState("LWin") && KeyWait("LWin")
GetKeyState("RWin") && KeyWait("RWin")
SendInput("{F18 Down}"), Sleep(30), SendInput("{F18 Up}")
}