From 5b30391383be7e31ae1b213f2a6095bd7a95defc Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 18 Apr 2018 23:19:23 +1000 Subject: Make key repeat configurable This creates two input commands for configuring the repeat delay and rate. Example config: input "myidentifier" { repeat_delay 250 repeat_rate 25 } --- sway/input/keyboard.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'sway/input') diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c index dbb0c359..dbf2ce01 100644 --- a/sway/input/keyboard.c +++ b/sway/input/keyboard.c @@ -1,4 +1,5 @@ #include +#include #include #include #include "sway/input/seat.h" @@ -479,7 +480,13 @@ void sway_keyboard_configure(struct sway_keyboard *keyboard) { keyboard->keymap = keymap; wlr_keyboard_set_keymap(wlr_device->keyboard, keyboard->keymap); - wlr_keyboard_set_repeat_info(wlr_device->keyboard, 25, 600); + if (input_config && input_config->repeat_delay != INT_MIN + && input_config->repeat_rate != INT_MIN) { + wlr_keyboard_set_repeat_info(wlr_device->keyboard, + input_config->repeat_rate, input_config->repeat_delay); + } else { + wlr_keyboard_set_repeat_info(wlr_device->keyboard, 25, 600); + } xkb_context_unref(context); struct wlr_seat *seat = keyboard->seat_device->sway_seat->wlr_seat; wlr_seat_set_keyboard(seat, wlr_device); -- cgit v1.2.3