aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/imv.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/imv.c b/src/imv.c
index a451839..100fac3 100644
--- a/src/imv.c
+++ b/src/imv.c
@@ -415,9 +415,14 @@ static void key_handler(struct imv *imv, const struct imv_event *event)
return;
}
- struct list *cmds = imv_bind_handle_event(imv->binds, event->data.keyboard.description);
- if (cmds) {
- imv_command_exec_list(imv->commands, cmds, imv);
+ /* Keys such as Shift on their own come through as '', we should skip them
+ * since they'll turn up later as 'Shift+W', etc.
+ */
+ if (*event->data.keyboard.description != '\0') {
+ struct list *cmds = imv_bind_handle_event(imv->binds, event->data.keyboard.description);
+ if (cmds) {
+ imv_command_exec_list(imv->commands, cmds, imv);
+ }
}
}