From 168c57b57f2fb4440943d4e672dee4ca34f060b8 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 15 Apr 2019 16:17:54 +0200 Subject: xkb: add xkb_init() to kbd.c --- kbd.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'kbd.c') diff --git a/kbd.c b/kbd.c index 7290d46..9398b8f 100644 --- a/kbd.c +++ b/kbd.c @@ -54,6 +54,24 @@ void xkb_configure(void) fclose(fp); } +void xkb_init(void) +{ + xkb_ctx = xkb_context_new(XKB_CONTEXT_NO_FLAGS); + xkb_map = xkb_keymap_new_from_names(xkb_ctx, &xkb_layout, + XKB_KEYMAP_COMPILE_NO_FLAGS); + if (!xkb_map) { + xkb_layout.variant = NULL; + xkb_map = xkb_keymap_new_from_names(xkb_ctx, &xkb_layout, + XKB_KEYMAP_COMPILE_NO_FLAGS); + if (!xkb_map) { + xkb_layout.layout = "us"; + xkb_map = xkb_keymap_new_from_names(xkb_ctx, &xkb_layout, + XKB_KEYMAP_COMPILE_NO_FLAGS); + } + } + xkb_state = xkb_state_new(xkb_map); +} + /* ---------------------------------------------------------------------- */ struct termctrl { -- cgit