diff --git a/ui/keybindings.js b/ui/keybindings.js index d9f43e0d..d3f52b05 100755 --- a/ui/keybindings.js +++ b/ui/keybindings.js @@ -162,6 +162,7 @@ var KEYBOARD_CONFIG = { // ribbon mode only... // + // XXX this breaks getKeyHandlers(...) when modes argument is given... '.viewer:not(.overlay):not(.single-image-mode)': { title: 'Ribbon mode', diff --git a/ui/lib/keyboard.js b/ui/lib/keyboard.js index 0ecb6521..014903b1 100755 --- a/ui/lib/keyboard.js +++ b/ui/lib/keyboard.js @@ -179,6 +179,8 @@ function getKeyHandlers(key, modifiers, keybindings, modes, shifted_keys){ for(var mode in keybindings){ + //console.log('>>>', mode) + // test for mode compatibility... // XXX this fails for explicitly given mode... if(modes != 'all' @@ -223,7 +225,7 @@ function getKeyHandlers(key, modifiers, keybindings, modes, shifted_keys){ handler = handler['default'] } else { break - } + } } // simple handlers... @@ -255,6 +257,8 @@ function getKeyHandlers(key, modifiers, keybindings, modes, shifted_keys){ continue } + //console.log('<<<', mode, did_handling) + // complex handler... if(typeof(handler) == typeof({}) && handler.constructor.name == 'Object'){ // build modifier list... @@ -289,7 +293,8 @@ function getKeyHandlers(key, modifiers, keybindings, modes, shifted_keys){ continue } - if(did_handling){ + if(modes != 'all' && did_handling){ + //console.log('!!!!', mode) break } }