https://bugs.kde.org/show_bug.cgi?id=520990
--- Comment #6 from David Edmundson <[email protected]> --- I made a test case, and kwin seems to be fine. send_keysym(&state, XKB_KEY_a, KEY_PRESSED, "a down"); send_keysym(&state, XKB_KEY_a, KEY_RELEASED, "a up"); send_keysym(&state, XKB_KEY_Shift_L, KEY_PRESSED, "shift down"); send_keysym(&state, XKB_KEY_b, KEY_PRESSED, "b down"); send_keysym(&state, XKB_KEY_b, KEY_RELEASED, "b up"); send_keysym(&state, XKB_KEY_Shift_L, KEY_RELEASED, "shift up"); send_keysym(&state, XKB_KEY_c, KEY_PRESSED, "c down"); send_keysym(&state, XKB_KEY_c, KEY_RELEASED, "c up"); Kwin seems to be sending everything right, but plasma-keyboard is going loco [ 639344.783] {Default Queue} wl_keyboard#60.key(22, 257461366, 30, 1) [ 639344.884] {Default Queue} -> zwp_input_method_context_v1#4278190081.commit_string(5, "a") [ 639344.899] {Default Queue} wl_keyboard#60.key(24, 257461366, 30, 0) [ 639344.917] {Default Queue} wl_keyboard#60.key(26, 257461366, 42, 1) [ 639344.927] {Default Queue} -> zwp_input_method_context_v1#4278190081.key(26, 257461366, 42, 1) [ 639344.933] {Default Queue} wl_keyboard#60.modifiers(27, 1, 0, 0, 0) [ 639344.938] {Default Queue} -> zwp_input_method_context_v1#4278190081.modifiers(27, 1, 0, 0, 0) [ 639344.942] {Default Queue} wl_keyboard#60.key(29, 257461366, 48, 1) [ 639344.945] {Default Queue} -> zwp_input_method_context_v1#4278190081.key(29, 257461366, 48, 1) [ 639344.952] {Default Queue} wl_keyboard#60.key(31, 257461366, 48, 0) [ 639344.956] {Default Queue} -> zwp_input_method_context_v1#4278190081.key(31, 257461366, 48, 0) [ 639344.959] {Default Queue} wl_keyboard#60.key(33, 257461366, 42, 0) [ 639344.961] {Default Queue} -> zwp_input_method_context_v1#4278190081.key(33, 257461366, 42, 0) [ 639344.964] {Default Queue} wl_keyboard#60.modifiers(34, 0, 0, 0, 0) [ 639344.966] {Default Queue} -> zwp_input_method_context_v1#4278190081.modifiers(34, 0, 0, 0, 0) [ 639344.970] {Default Queue} wl_keyboard#60.key(36, 257461366, 46, 1) [ 639344.973] {Default Queue} -> zwp_input_method_context_v1#4278190081.commit_string(5, "c") [ 639344.976] {Default Queue} wl_keyboard#60.key(38, 257461366, 46, 0) [ 639344.979] {Default Queue} wl_seat#10.capabilities(3) [ 639344.982] {Default Queue} -> wl_touch#61.release() [ 639349.528] {Display Queue} wl_display#1.delete_id(61) [ 639349.569] {Default Queue} zwp_input_method_context_v1#4278190081.surrounding_text("a", 1, 1) [ 639349.596] {Default Queue} zwp_input_method_context_v1#4278190081.surrounding_text("ac", 2, 2) [ 639349.650] {Default Queue} zwp_input_method_context_v1#4278190081.surrounding_text("acB", 3, 3) It's returning "a" as a commit string which is definitely wrong, then it does B differently (presumably because of the modifier), by forwarding the key as unhandled, then it submits c as a commit string. Then the client ends up doing something out of order somehow? -- You are receiving this mail because: You are watching all bug changes.
