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

tap-hold-next-release keys send in wrong order in Gnome apps with IBUS enabled #808

Open
Herschenglime opened this issue Feb 2, 2024 · 0 comments

Comments

@Herschenglime
Copy link
Contributor

I use Kmonad to implement autoshift, where holding a key results in its shifted variant (see here for a link to an older version of my keymap).

It's been working great, but I recently ran into an issue with out-of-order keypresses that took me a while to debug.

The issue is as follows:

On NixOS 23.11, with the haskellPackages.kmonad build of kmonad, in Gnome 45, keys pressed quickly one after the other, where the first key is not released before the second key is pressed, will be sent out of order in Gnome applications only if ibus is enabled.

I first noticed the issue in Gnome Console (kgx) after an update, where space would emit before the last letter of commands I was typing, messing up what I was trying to write. This wasn't happening in Firefox, so I did some digging to try to diagnose the issue. I at first thought that it was an issue with dependencies, but after rolling back my packages, the issue persisted. I eventually realized that it was due to me enabling ibus for emoji support. The emoji menu would only appear in GTK apps, and it was those same apps where I saw the out-of-order keypresses. After disabling, it went back to normal.

I have no idea why this issue occurs - perhaps whatever means ibus uses to watch keyboard input interferes with what kmonad does?

I'd be willing to attach some debug information with and without ibus enabled if necessary, but for now I'll just keep the module disabled since I didn't really need it in the first place.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant