From 8fa91ed75d1e69f7566f4e067bd6d3de341e33bb Mon Sep 17 00:00:00 2001 From: Chris Wanstrath Date: Sun, 4 Sep 2011 20:26:23 -0700 Subject: [PATCH] clear all key modifiers on blur --- vendor/keymaster.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/vendor/keymaster.js b/vendor/keymaster.js index 8d4dbd178..f5d7fa325 100644 --- a/vendor/keymaster.js +++ b/vendor/keymaster.js @@ -93,6 +93,12 @@ for(k in _MODIFIERS) if(_MODIFIERS[k] == key) assignKey[k] = false; } }; + // unset modifiers on blur + function clearModifiers(event){ + console.log('clearing all') + for(k in _MODIFIERS) assignKey[k] = false; + for(i in _mods) _mods[i] = false; + } // parse and assign shortcut function assignKey(key, scope, method){ @@ -143,7 +149,7 @@ // set the handlers globally on document addEvent(document, 'keydown', dispatch); addEvent(document, 'keyup', clearModifier); - addEvent(document, 'blur', clearModifier); + addEvent(window, 'blur', clearModifiers, true); // set window.key and window.key.setScope global.key = assignKey;