aboutsummaryrefslogtreecommitdiffstats
path: root/sway/config
diff options
context:
space:
mode:
authorLibravatar ProgAndy <code@progandy.de>2018-07-22 21:16:19 +0200
committerLibravatar ProgAndy <code@progandy.de>2018-07-25 17:24:45 +0200
commit2166dbe2e49fc5eeb345d744424db360ee63f508 (patch)
treefcb9cd6632e0e6b907ae046f94288617230a3688 /sway/config
parentMerge pull request #2358 from CedricCabessa/fix-2355-move-workspace-crashes (diff)
downloadsway-2166dbe2e49fc5eeb345d744424db360ee63f508.tar.gz
sway-2166dbe2e49fc5eeb345d744424db360ee63f508.tar.zst
sway-2166dbe2e49fc5eeb345d744424db360ee63f508.zip
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.c8
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) {
33 input->left_handed = INT_MIN; 33 input->left_handed = INT_MIN;
34 input->repeat_delay = INT_MIN; 34 input->repeat_delay = INT_MIN;
35 input->repeat_rate = INT_MIN; 35 input->repeat_rate = INT_MIN;
36 input->xkb_numlock = INT_MIN;
37 input->xkb_capslock = INT_MIN;
36 38
37 return input; 39 return input;
38} 40}
@@ -104,6 +106,12 @@ void merge_input_config(struct input_config *dst, struct input_config *src) {
104 free(dst->xkb_variant); 106 free(dst->xkb_variant);
105 dst->xkb_variant = strdup(src->xkb_variant); 107 dst->xkb_variant = strdup(src->xkb_variant);
106 } 108 }
109 if (src->xkb_numlock != INT_MIN) {
110 dst->xkb_numlock = src->xkb_numlock;
111 }
112 if (src->xkb_capslock != INT_MIN) {
113 dst->xkb_capslock = src->xkb_capslock;
114 }
107 if (src->mapped_from_region) { 115 if (src->mapped_from_region) {
108 free(dst->mapped_from_region); 116 free(dst->mapped_from_region);
109 dst->mapped_from_region = 117 dst->mapped_from_region =