]> git.mdlowis.com Git - proto/labwc.git/commitdiff
seat: set repeat information for virtual keyboards
authorConsolatis <35009135+Consolatis@users.noreply.github.com>
Fri, 10 Jan 2025 10:55:45 +0000 (11:55 +0100)
committerHiroaki Yamamoto <hrak1529@gmail.com>
Sun, 12 Jan 2025 21:28:37 +0000 (06:28 +0900)
Fixes: #2513
src/seat.c

index a1924f424ccc94ae26c939c4f92fadacfd068235..ebf2c77027a1d127e7c57912e60328d89c770b5c 100644 (file)
@@ -305,14 +305,14 @@ new_pointer(struct seat *seat, struct wlr_input_device *dev)
 }
 
 static struct input *
-new_keyboard(struct seat *seat, struct wlr_input_device *device, bool virtual)
+new_keyboard(struct seat *seat, struct wlr_input_device *device, bool is_virtual)
 {
        struct wlr_keyboard *kb = wlr_keyboard_from_input_device(device);
 
        struct keyboard *keyboard = znew(*keyboard);
        keyboard->base.wlr_input_device = device;
        keyboard->wlr_keyboard = kb;
-       keyboard->is_virtual = virtual;
+       keyboard->is_virtual = is_virtual;
 
        if (!seat->keyboard_group->keyboard.keymap) {
                wlr_log(WLR_ERROR, "cannot set keymap");
@@ -329,7 +329,10 @@ new_keyboard(struct seat *seat, struct wlr_input_device *device, bool virtual)
         */
        keyboard_set_numlock(kb);
 
-       if (!virtual) {
+       if (is_virtual) {
+               /* key repeat information is usually synchronized via the keyboard group */
+               wlr_keyboard_set_repeat_info(kb, rc.repeat_rate, rc.repeat_delay);
+       } else {
                wlr_keyboard_group_add_keyboard(seat->keyboard_group, kb);
        }