summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu-Jie Lin <livibetter@gmail.com>2011-07-31 23:02:22 +0800
committerYu-Jie Lin <livibetter@gmail.com>2011-07-31 23:02:22 +0800
commit1388cdeaa585468440a5110fe80b7139da366a4d (patch)
tree22a165a4ecf83a91b74f4303b6f6b4dab1159391
parent94c0b6e4b62107ac59121a6a04e893923837408b (diff)
allow multiple modifier
Signed-off-by: Yu-Jie Lin <livibetter@gmail.com>
-rw-r--r--src/keyevents.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/keyevents.c b/src/keyevents.c
index 7c5e313..12e9f73 100644
--- a/src/keyevents.c
+++ b/src/keyevents.c
@@ -50,22 +50,22 @@ static void feh_set_parse_kb_partial(fehkey *key, int index, char *ks) {
return;
}
- if (ks[1] == '-') {
- switch (ks[0]) {
+ while (cur[1] == '-') {
+ switch (cur[0]) {
case 'C':
- mod = ControlMask;
+ mod |= ControlMask;
break;
case '1':
- mod = Mod1Mask;
+ mod |= Mod1Mask;
break;
case '4':
- mod = Mod4Mask;
+ mod |= Mod4Mask;
break;
default:
- weprintf("keys: invalid modifier %c in %s", ks[0], ks);
+ weprintf("keys: invalid modifier %c in %s", cur[0], ks);
break;
}
- cur = ks + 2;
+ cur += 2;
}
key->keysyms[index] = XStringToKeysym(cur);