summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx
index 115f9765c..c8bbcefb0 100644
--- a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx
+++ b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx
@@ -770,6 +770,9 @@ static void wl_keyboard_key(void *data, struct wl_keyboard *wl_keyboard,
}
} else {
remove_int_vector(key_vector, for_key_vector);
+ // Under KDE, the time value received doesn't change at each keystroke as it should,
+ // so we remove any key repeat timer at each FL_KEYUP event.
+ Fl::remove_timeout((Fl_Timeout_Handler)key_repeat_timer_cb);
}
Fl::e_text = buf;
Fl::e_length = (int)strlen(buf);