diff options
author | tomsmeding <tom.smeding@gmail.com> | 2017-01-11 10:26:57 +0100 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2017-01-11 10:26:57 +0100 |
commit | 7ee15dee3eb9b8d0fc49206b9fd9a56e84bd0a1a (patch) | |
tree | 471956f76f34a2ed98720efe312c9ac0e6ae86ac /manager.cpp | |
parent | 6d6f45c1e266ffb3206498301a7a6a1b1b22ec3c (diff) |
Multi-key keybindings
Diffstat (limited to 'manager.cpp')
-rw-r--r-- | manager.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/manager.cpp b/manager.cpp index 7f9fa89..951d84b 100644 --- a/manager.cpp +++ b/manager.cpp @@ -137,11 +137,14 @@ int Manager::io(){ int key=tgetkey(); - auto it=global_keybindings.find(key); - if(it!=global_keybindings.end()){ - receive(it->second); + Either<bool,Command> ret=global_keyinput.input(key); + if(ret.isLeft()){ + if(!ret.fromLeft()){ + bel(); + receive({"error","Unbound key sequence"}); + } } else { - receive({"error","Unbound key: "+to_string(key)}); + receive(ret.fromRight()); } if(should_quit)break; } |