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.

Reply via email to