diff options
author | ProgAndy <code@progandy.de> | 2018-07-22 21:16:19 +0200 |
---|---|---|
committer | ProgAndy <code@progandy.de> | 2018-07-25 17:24:45 +0200 |
commit | 2166dbe2e49fc5eeb345d744424db360ee63f508 (patch) | |
tree | fcb9cd6632e0e6b907ae046f94288617230a3688 /sway/config | |
parent | 6a8d1e5044086a8dce121bd1f405b342e17a1301 (diff) | |
download | sway-2166dbe2e49fc5eeb345d744424db360ee63f508.tar.xz |
Implement setting NumLock and CapsLock status
After setting the keymap, try to enable NumLock and disable CapsLock.
This only works if sway has the xkb master state and controls the keyboard.
Prepare configuration settings for later use as well.
Diffstat (limited to 'sway/config')
-rw-r--r-- | sway/config/input.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sway/config/input.c b/sway/config/input.c index 8d687a6d..9885e85c 100644 --- a/sway/config/input.c +++ b/sway/config/input.c @@ -33,6 +33,8 @@ struct input_config *new_input_config(const char* identifier) { input->left_handed = INT_MIN; input->repeat_delay = INT_MIN; input->repeat_rate = INT_MIN; + input->xkb_numlock = INT_MIN; + input->xkb_capslock = INT_MIN; return input; } @@ -104,6 +106,12 @@ void merge_input_config(struct input_config *dst, struct input_config *src) { free(dst->xkb_variant); dst->xkb_variant = strdup(src->xkb_variant); } + if (src->xkb_numlock != INT_MIN) { + dst->xkb_numlock = src->xkb_numlock; + } + if (src->xkb_capslock != INT_MIN) { + dst->xkb_capslock = src->xkb_capslock; + } if (src->mapped_from_region) { free(dst->mapped_from_region); dst->mapped_from_region = |