clear all key modifiers on blur

This commit is contained in:
Chris Wanstrath 2011-09-04 20:26:23 -07:00
parent ad9028e803
commit 8fa91ed75d

8
vendor/keymaster.js vendored
View File

@ -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;