add support for meta key modifier on windows
This commit is contained in:
parent
4eff803f31
commit
912b379848
1 changed files with 13 additions and 0 deletions
|
|
@ -244,6 +244,9 @@ function normalizeCommandKeys(callback, e, keyCode) {
|
|||
keyCode = 0;
|
||||
}
|
||||
|
||||
if (!useragent.isMac && pressedKeys[91] || pressedKeys[92])
|
||||
hashId |= 8;
|
||||
|
||||
if (hashId & 8 && (keyCode == 91 || keyCode == 93)) {
|
||||
keyCode = 0;
|
||||
}
|
||||
|
|
@ -257,6 +260,7 @@ function normalizeCommandKeys(callback, e, keyCode) {
|
|||
return callback(e, hashId, keyCode);
|
||||
}
|
||||
|
||||
var pressedKeys = Object.create(null);
|
||||
exports.addCommandKeyListener = function(el, callback) {
|
||||
var addListener = exports.addListener;
|
||||
if (useragent.isOldGecko || (useragent.isOpera && !("KeyboardEvent" in window))) {
|
||||
|
|
@ -277,6 +281,7 @@ exports.addCommandKeyListener = function(el, callback) {
|
|||
var lastDefaultPrevented = null;
|
||||
|
||||
addListener(el, "keydown", function(e) {
|
||||
pressedKeys[e.keyCode] = true;
|
||||
var result = normalizeCommandKeys(callback, e, e.keyCode);
|
||||
lastDefaultPrevented = e.defaultPrevented;
|
||||
return result;
|
||||
|
|
@ -288,6 +293,14 @@ exports.addCommandKeyListener = function(el, callback) {
|
|||
lastDefaultPrevented = null;
|
||||
}
|
||||
});
|
||||
|
||||
addListener(el, "keyup", function(e) {
|
||||
pressedKeys[e.keyCode] = null;
|
||||
});
|
||||
|
||||
addListener(el, "focus", function(e) {
|
||||
pressedKeys = Object.create(null);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue