-
Notifications
You must be signed in to change notification settings - Fork 120
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
wayland v2: don't release pressed keys without user input #954
Comments
Reproduced the issue with Edit: suddenly it no longer reproduces.... |
Such issue still happens under hyprland. I once tried to revert it but was reverted soon. |
Could there be an option to change it? |
@wengxt it would be great to have an option to disable it. Right now fcitx5 has these release events as a workaround for hyprland bugs, but that breaks things on wayfire so now wayfire also has to include a workaround for the workaround that fcitx5 has for hyprland ... |
@ammen99 compositor should be working for whatever bad thing that client does. Another thing is all these protocol doesn't really have a clear thinking about the issues.. And also, in order to support key repetition, certain fake key release must be sent. This is an article that describes such things. But, come to think of it, if certain key does not repeat at all (this can be queried), actually I can make fcitx not release to it. |
I quickly went through your blog post and I'm wondering, why do you have to actually forward backspaces to the client (including repeat), can you not delete the surrounding text with the text-input-v3 protocol with requests from fcitx5, without the client ever knowing that there were backspaces pressed? |
@ammen99 Even if we don't consider that, certain application, specifically, terminal (alacritty, konsole, etc) can't do surrounding text. The concept of surrounding text just does not exists there. Imagine that you're using vim in a terminal and you can't do a long press backspace to delete text, that's not acceptable. |
Also, backspace is just one example, there are many other different keys: Like page down, page up, arrow keys those are not covered by text-input-v3. The keys that produce text can be converted to commit_string, but you know, "commit_string" and key are actually go though different codepath on the application side. Which may cause totally different behavior in application. The application is legit to implement the code as
|
I see, good points, thanks for the explanation. The actual bug we were observing in Wayfire is actually that fcitx5 would send release keys after it is deactivated (for example user pressed alt-tab and then fcitx5 sends alt release which stops the switcher in wayfire). But I guess this also can't be avoided since deactivation could also happen for some other random reason ... This is indeed a huge mess :( I'll see what's the best we can do on Wayfire's side. |
@ammen99 can you also check the discussion here applies to wayfire? |
I went through it but I'm not sure I really understood what the discussion was all about. Anyway with the modifiers, yes, if you press |
This may help resolve some compositor issue when they are not intended to use vk's key to update compositor internal state, especifically, modifiers keys.
Describe the bug
6f92a0c introduced the idea to record and release pressed keys on ungrab. This caused a lot of issues when I was trying to workaround and ignore them (see e.g. WayfireWM/wayfire#2111).
This doesn't seem to happen anymore.
To Reproduce
Expected behavior
No superfluous key release event, so it's simpler to reason about and deal with. E.g. the issues mentioned here lilydjwg/wayfire@f036d01 just disappear by itself.
Desktop (please complete the following information):
Additional context
The text was updated successfully, but these errors were encountered: