sway: xwayland: applications at some point receive neverending stream of characters
Description
Sometimes (i.e. it suddenly happens, so far it is completely non-obvious to me how it is triggered) xwayland-clients start to receive an endless stream of keys upon gaining focus, as if a key was continuously pressed all the time.
So far I have observed this with number keys, most prominently I have observed it with 2, but I think I have seen 7 in the past as well.
Steps to reproduce:
- Do the so far unknown black magic that triggers the event
- let a xwayland-application gain focus
- if not included in 2. already, select any text field or prompt
- see characters streaming in endlessly
Ways to stop the behavior:
- press Esc (works until the client looses focus and gains it next time, then everything starts anew)
- completely restart sway (as in exit and start anew, reloading doesn’t do), then the issue is gone for that moment. Only reliable way I have found, restarting the applications in question doesn’t do the trick and it happens, if it starts, for all xwayland-applications that are opened or will be opened after the issue starts
Sway Version: 1.5.1
Debug Log:
At time of noticing the issue, the log is filled with the following lines (the frequency of the entries seems to roughly match the frequency with which characters are streaming in):
Mar 13 12:33:21 <hostname> sway[2192]: 09:51:33.691 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:35.755 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:35.755 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:36.356 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:36.356 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:36.395 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:36.395 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:36.435 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:36.435 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:36.475 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:36.475 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:36.515 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:23 <hostname> sway[2192]: 09:51:36.515 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.555 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.555 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.595 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.595 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.635 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.635 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.675 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.675 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.715 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.715 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.755 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.756 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.795 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.795 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.835 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:36.835 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:37.259 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
Mar 13 12:33:24 <hostname> sway[2192]: 09:51:37.259 [sway/input/text_input.c:122] Inactive text input tried to commit an update
Mar 13 12:33:25 <hostname> sway[2192]: 09:51:37.892 [DEBUG] [types/wlr_text_input_v3.c:181] Text input commit received without focus
- Configuration File: As it is very unclear how this is triggered, it only happens rarely and I haven’t found a way to manually trigger this, thinning down the configuration proves to be difficult and lengthy. WIP.
About this issue
- Original URL
- State: open
- Created 3 years ago
- Comments: 18 (12 by maintainers)
Commits related to this issue
- virtual_keyboard: Emulate key release events on destroy According to libinput, release events are generated when device is unplugged, and libinput copies this behavior for device removal. Let's do th... — committed to yuja/wlroots by yuja 3 years ago
- virtual_keyboard: Emulate key release events on destroy According to libinput, release events are generated when device is unplugged, and libinput copies this behavior for device removal. Let's do th... — committed to swaywm/wlroots by yuja 3 years ago
now happened with a different number key again, but so far it’s always been number keys. I can, as I have just confirmed, stop said stream also by typing any character, not just backspace, Esc and such.
fcitx5 since 5.0.17 and 5.1.0 has a workaround for this issue, and when it is removed, the problem still occurs.