mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
Remove the option to bind a key by keycode with brackets; it never
worked (and no one complained!). While it's fairly easy to fix, users should be using keysym names and not keycodes. Discussed at length months ago with todd@, matthieu@ and Owain.
This commit is contained in:
17
conf.c
17
conf.c
@@ -479,17 +479,8 @@ conf_bind_kbd(struct conf *c, char *name, char *binding)
|
||||
substring = conf_bind_getmask(name, &mask);
|
||||
current_binding->modmask |= mask;
|
||||
|
||||
if (substring[0] == '[' &&
|
||||
substring[strlen(substring)-1] == ']') {
|
||||
sscanf(substring, "[%d]", ¤t_binding->keycode);
|
||||
current_binding->keysym = NoSymbol;
|
||||
} else {
|
||||
current_binding->keycode = 0;
|
||||
current_binding->keysym = XStringToKeysym(substring);
|
||||
}
|
||||
|
||||
if (current_binding->keysym == NoSymbol &&
|
||||
current_binding->keycode == 0) {
|
||||
current_binding->keysym = XStringToKeysym(substring);
|
||||
if (current_binding->keysym == NoSymbol) {
|
||||
free(current_binding);
|
||||
return;
|
||||
}
|
||||
@@ -530,9 +521,7 @@ conf_unbind_kbd(struct conf *c, struct keybinding *unbind)
|
||||
if (key->modmask != unbind->modmask)
|
||||
continue;
|
||||
|
||||
if ((key->keycode != 0 && key->keysym == NoSymbol &&
|
||||
key->keycode == unbind->keycode) ||
|
||||
key->keysym == unbind->keysym) {
|
||||
if (key->keysym == unbind->keysym) {
|
||||
TAILQ_REMOVE(&c->keybindingq, key, entry);
|
||||
if (key->argtype & ARG_CHAR)
|
||||
free(key->argument.c);
|
||||
|
||||
Reference in New Issue
Block a user