Add a new API to set key repeat
authorJengHyun Kang <jhyuni.kang@samsung.com>
Mon, 25 Apr 2016 09:05:46 +0000 (18:05 +0900)
committerduna.oh <duna.oh@samsung.com>
Mon, 20 Feb 2023 11:10:02 +0000 (20:10 +0900)
Change-Id: If1644c4c6575b4eb7cadb8c1e11147651013d8ef

include/xkbcommon/xkbcommon.h
src/keymap.c

index a7148f3..5106371 100644 (file)
@@ -1286,6 +1286,10 @@ xkb_keymap_key_get_syms_by_level(struct xkb_keymap *keymap,
 int
 xkb_keymap_key_repeats(struct xkb_keymap *keymap, xkb_keycode_t key);
 
+int
+xkb_keymap_key_set_repeats(struct xkb_keymap *keymap, xkb_keycode_t kc, int enable);
+
+
 /** @} */
 
 /**
index d2baf94..6245ba6 100644 (file)
@@ -579,3 +579,17 @@ xkb_keymap_key_repeats(struct xkb_keymap *keymap, xkb_keycode_t kc)
 
     return key->repeats;
 }
+
+XKB_EXPORT int
+xkb_keymap_key_set_repeats(struct xkb_keymap *keymap, xkb_keycode_t kc, int enable)
+{
+    struct xkb_key *key = XkbKey(keymap, kc);
+
+    if (!key)
+        return 0;
+
+    key->repeats = !!enable;
+    key->explicit |= EXPLICIT_REPEAT;
+
+    return 1;
+}