From 9df893f78e716a134d2e0aaf57f8caa41aa83f25 Mon Sep 17 00:00:00 2001 From: Benjamin Chausse Date: Sun, 28 Jul 2024 18:25:48 -0400 Subject: revert togglekblayoutandoptions --- config.def.h | 16 ++++++---------- config.h | 19 ++++++------------- dwl.c | 23 +---------------------- 3 files changed, 13 insertions(+), 45 deletions(-) diff --git a/config.def.h b/config.def.h index 4d91aa5..cbad373 100644 --- a/config.def.h +++ b/config.def.h @@ -74,15 +74,12 @@ static const MonitorRule monrules[] = { }; /* keyboard */ -static const struct xkb_rule_names xkb_rules[] = { - { - .layout = "us" - }, - /*{ - .layout = "us", - .variant = "dvp", - .options = "compose:102,numpad:shift3,kpdl:semi,keypad:atm,caps:super" - }*/ +static const struct xkb_rule_names xkb_rules = { + /* can specify fields: rules, model, layout, variant, options */ + /* example: + .options = "ctrl:nocaps", + */ + .options = NULL, }; static const int repeat_rate = 25; @@ -192,7 +189,6 @@ static const Key keys[] = { { MODKEY, XKB_KEY_period, focusmon, {.i = WLR_DIRECTION_RIGHT} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_less, tagmon, {.i = WLR_DIRECTION_LEFT} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_greater, tagmon, {.i = WLR_DIRECTION_RIGHT} }, - { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_A, incxkbrules, {.i = +1} }, TAGKEYS( XKB_KEY_1, XKB_KEY_exclam, 0), TAGKEYS( XKB_KEY_2, XKB_KEY_at, 1), TAGKEYS( XKB_KEY_3, XKB_KEY_numbersign, 2), diff --git a/config.h b/config.h index 69f28a7..e18b402 100644 --- a/config.h +++ b/config.h @@ -84,18 +84,12 @@ static const MonitorRule monrules[] = { }; /* keyboard */ -static const struct xkb_rule_names xkb_rules[] = { - { - .layout = "us" - }, - { - .layout = "ca" - }, - /*{ - .layout = "us", - .variant = "dvp", - .options = "compose:102,numpad:shift3,kpdl:semi,keypad:atm,caps:super" - }*/ +static const struct xkb_rule_names xkb_rules = { + /* can specify fields: rules, model, layout, variant, options */ + /* example: + .options = "ctrl:nocaps", + */ + .options = NULL, }; static const int repeat_rate = 50; @@ -205,7 +199,6 @@ static const Key keys[] = { { MODKEY, XKB_KEY_period, focusmon, {.i = WLR_DIRECTION_RIGHT} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_less, tagmon, {.i = WLR_DIRECTION_LEFT} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_greater, tagmon, {.i = WLR_DIRECTION_RIGHT} }, - { WLR_MODIFIER_ALT, XKB_KEY_Return, incxkbrules, {.i = +1} }, TAGKEYS( XKB_KEY_1, XKB_KEY_exclam, 0), TAGKEYS( XKB_KEY_2, XKB_KEY_at, 1), TAGKEYS( XKB_KEY_3, XKB_KEY_numbersign, 2), diff --git a/dwl.c b/dwl.c index 3732508..912a6ef 100644 --- a/dwl.c +++ b/dwl.c @@ -377,7 +377,6 @@ static void setsel(struct wl_listener *listener, void *data); static void setup(void); static void spawn(const Arg *arg); static void startdrag(struct wl_listener *listener, void *data); -static void incxkbrules(const Arg *arg); static int status_in(int fd, unsigned int mask, void *data); static void tag(const Arg *arg); static void tagmon(const Arg *arg); @@ -451,7 +450,6 @@ static struct wl_listener lock_listener = {.notify = locksession}; static struct wlr_seat *seat; static KeyboardGroup *kb_group; -static unsigned int kblayout = 0; static unsigned int cursor_mode; static Client *grabc; static Client initial_grabc; @@ -1067,7 +1065,7 @@ createkeyboardgroup(void) /* Prepare an XKB keymap and assign it to the keyboard group. */ context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); - if (!(keymap = xkb_keymap_new_from_names(context, &xkb_rules[kblayout], + if (!(keymap = xkb_keymap_new_from_names(context, &xkb_rules, XKB_KEYMAP_COMPILE_NO_FLAGS))) die("failed to compile keymap"); @@ -3123,25 +3121,6 @@ status_in(int fd, unsigned int mask, void *data) return 0; } -void -incxkbrules(const Arg *arg) -{ - KeyboardGroup *group; - struct wlr_keyboard_group *wlr_group; - const struct xkb_rule_names newrule = xkb_rules[(kblayout + 1) % LENGTH(xkb_rules)]; - - wl_list_for_each(group, &kb_group->link, link) { - wl_list_for_each(wlr_group, &group->wlr_group->keys, keys) { - struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); - struct xkb_keymap *keymap = xkb_map_new_from_names(context, &newrule, - XKB_KEYMAP_COMPILE_NO_FLAGS); - wlr_keyboard_set_keymap(&wlr_group->keyboard, keymap); - xkb_keymap_unref(keymap); - xkb_context_unref(context); - } - } -} - void tag(const Arg *arg) { -- cgit v1.2.3