mirror of
https://github.com/labwc/labwc.git
synced 2025-11-04 13:30:07 -05:00
keyboard: do not set numlock by default
Only force on|off if users specifically requests it in the config file. Related-to: #2463
This commit is contained in:
parent
6457cbccda
commit
a5973c3b48
5 changed files with 20 additions and 7 deletions
|
|
@ -24,6 +24,7 @@
|
|||
#include "common/parse-bool.h"
|
||||
#include "common/parse-double.h"
|
||||
#include "common/string-helpers.h"
|
||||
#include "common/three-state.h"
|
||||
#include "config/default-bindings.h"
|
||||
#include "config/keybind.h"
|
||||
#include "config/libinput.h"
|
||||
|
|
@ -1150,7 +1151,10 @@ entry(xmlNode *node, char *nodename, char *content)
|
|||
} else if (!strcasecmp(nodename, "repeatDelay.keyboard")) {
|
||||
rc.repeat_delay = atoi(content);
|
||||
} else if (!strcasecmp(nodename, "numlock.keyboard")) {
|
||||
set_bool(content, &rc.kb_numlock_enable);
|
||||
bool value;
|
||||
set_bool(content, &value);
|
||||
rc.kb_numlock_enable = value ? LAB_STATE_ENABLED
|
||||
: LAB_STATE_DISABLED;
|
||||
} else if (!strcasecmp(nodename, "layoutScope.keyboard")) {
|
||||
/*
|
||||
* This can be changed to an enum later on
|
||||
|
|
@ -1497,7 +1501,7 @@ rcxml_init(void)
|
|||
|
||||
rc.repeat_rate = 25;
|
||||
rc.repeat_delay = 600;
|
||||
rc.kb_numlock_enable = false;
|
||||
rc.kb_numlock_enable = LAB_STATE_UNSPECIFIED;
|
||||
rc.kb_layout_per_window = false;
|
||||
rc.screen_edge_strength = 20;
|
||||
rc.window_edge_strength = 20;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include <wlr/backend/session.h>
|
||||
#include <wlr/interfaces/wlr_keyboard.h>
|
||||
#include "action.h"
|
||||
#include "common/three-state.h"
|
||||
#include "idle.h"
|
||||
#include "input/ime.h"
|
||||
#include "input/keyboard.h"
|
||||
|
|
@ -672,6 +673,10 @@ keyboard_key_notify(struct wl_listener *listener, void *data)
|
|||
void
|
||||
keyboard_set_numlock(struct wlr_keyboard *keyboard)
|
||||
{
|
||||
if (rc.kb_numlock_enable == LAB_STATE_UNSPECIFIED) {
|
||||
return;
|
||||
}
|
||||
|
||||
xkb_mod_index_t num_idx =
|
||||
xkb_map_mod_get_index(keyboard->keymap, XKB_MOD_NAME_NUM);
|
||||
if (num_idx == XKB_MOD_INVALID) {
|
||||
|
|
@ -680,9 +685,9 @@ keyboard_set_numlock(struct wlr_keyboard *keyboard)
|
|||
}
|
||||
|
||||
xkb_mod_mask_t locked = keyboard->modifiers.locked;
|
||||
if (rc.kb_numlock_enable) {
|
||||
if (rc.kb_numlock_enable == LAB_STATE_ENABLED) {
|
||||
locked |= (xkb_mod_mask_t)1 << num_idx;
|
||||
} else {
|
||||
} else if (rc.kb_numlock_enable == LAB_STATE_DISABLED) {
|
||||
locked &= ~((xkb_mod_mask_t)1 << num_idx);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue