-
Notifications
You must be signed in to change notification settings - Fork 162
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
Bug: Win11 Emoji Picker does not accept most kb inputs when kanata is running and the emoji search/filter input is focused #240
Comments
My findings on this issue are that on my Windows 11 machine, the emoji picker does not work at all with kanata (llhook mechanism), while it works fine on Windows 10. I think it may be because of step 8., which seems to happen automatically (search is focused by default). I'd be curious to know if kmonad has the same issue, since both use llhook keyboard injection, and this sounds like an issue at the OS side. |
The issue below exists in PowerToys Keyboard Manager, which also uses SendInput and hook mechanisms to remap keys. Seems like it's a Windows issue. |
Thank you for the feedback. I'm having the same problem with windows 11. Apparently, the problem happens only with the search box. After selecting an emoji with the mouse, I can navigate using arrow keys, but not search for the emoji. |
I just tested, and the problem also happens using kmonad. |
I was reading the related issue in the power toys project, and apparently, in their case, the keyboard still works, but not the configured mappings. Thus, I have an idea. What do you think about trying to detect such cases where kanata can't handle the input because of the OS bug and suppress the program mapping just for those cases? @jtroo Do you think it is feasible? |
I don't know of any easy ways to detect that the key outputs are working properly, so for now we'll say it's infeasible to do automatically. One could do it manually though, by using the live reload prev/next actions to go between your normal config and a minimal one. |
Thank you for the return and insight. Your idea worked. For instance, I will share a minimal configuration that others can use to cycle and use the emoji picker with kanata. (defsrc
caps
)
(deflayer default
lrld-next
) |
🚀⌨️🖱️Typed these emojis with kanata on. I was shocked that it started working randomly. Might have been fixed on the OS side. Keyboard inputs now accepted. Tested on Windows 11 23H2 OS Build 22631.4391. |
...
|
Describe the bug
Using my capslock/hyper-esque config with Kanata via the hook, invoking the Win11 emoji picker by any means (eg
Win
+;
) results in a mouse-accessible picker appearing, but one whose normal keyboard-based operations stop functioning if the focus is in the search input. Anything done to move the focus out of the search input onto any other UI element restores normal behavior until the search is focused again.Said input is the first thing focused upon appearance, and is always refocused when non-editing/navigational shortcuts (arrows, enter, escape, etc) are entered. This can make it appear as tho the kb inputs generally do not work, and not due to focus behavior. I actually realized this as I tried to add an ironic emoji to this bug report ha.
Version
1.0.7
Relevant kanata configs
config
To reproduce
win+;
7. pressing
enter
immediately, which should insert whatever default/recently used emoji is prehighlighted8. using any capslock+vimkey bindings from that config (or equivalent mapping of anything => arrows), try to move around in the picker mouse-lessly
9. pressing
escape
which should quit the picker10. pressing any other alphanumeric-ish keys, which should start searching for those chars
4. focus the search again either arrow key navigating to it, clicking into it, or typing any characters, which will bork things again
5. You get the idea
Expected behavior
It's all there above
Operating system
OS: Windows 11 Pro x86_64
Kernel: 10.0.22621
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: