From 7ee15dee3eb9b8d0fc49206b9fd9a56e84bd0a1a Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Wed, 11 Jan 2017 10:26:57 +0100 Subject: Multi-key keybindings --- manager.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'manager.cpp') 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 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; } -- cgit v1.2.3-54-g00ecf