fix key input for windows
This commit is contained in:
parent
869e37119a
commit
7fa11b08d1
2 changed files with 19 additions and 11 deletions
|
|
@ -3,6 +3,12 @@ if (!window.ace)
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
||||||
|
var os = (navigator.platform.match(/mac|win|linux/i) || ["other"])[0].toLowerCase();
|
||||||
|
|
||||||
|
this.isWin = (os == "win");
|
||||||
|
this.isMac = (os == "mac");
|
||||||
|
this.isLinux = (os == "linux");
|
||||||
|
|
||||||
this.provide = function(namespace) {
|
this.provide = function(namespace) {
|
||||||
var parts = namespace.split(".");
|
var parts = namespace.split(".");
|
||||||
var obj = window;
|
var obj = window;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.isIE = ! + "\v1";
|
this.isIE = ! + "\v1";
|
||||||
|
|
||||||
this.addListener = function(elem, type, callback) {
|
this.addListener = function(elem, type, callback) {
|
||||||
if (elem.addEventListener) {
|
if (elem.addEventListener) {
|
||||||
return elem.addEventListener(type, callback, false);
|
return elem.addEventListener(type, callback, false);
|
||||||
|
|
@ -129,14 +129,14 @@
|
||||||
clicks = 0;
|
clicks = 0;
|
||||||
}, 600);
|
}, 600);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clicks == 3) {
|
if (clicks == 3) {
|
||||||
clicks = 0;
|
clicks = 0;
|
||||||
callback(e);
|
callback(e);
|
||||||
}
|
}
|
||||||
return self.preventDefault(e);
|
return self.preventDefault(e);
|
||||||
};
|
};
|
||||||
|
|
||||||
self.addListener(el, "mousedown", listener);
|
self.addListener(el, "mousedown", listener);
|
||||||
this.isIE && self.addListener(el, "dblclick", listener);
|
this.isIE && self.addListener(el, "dblclick", listener);
|
||||||
};
|
};
|
||||||
|
|
@ -149,13 +149,15 @@
|
||||||
return callback(e);
|
return callback(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
self.addListener(el, "keypress", function(e) {
|
if (ace.isMac) {
|
||||||
var keyId = e.keyIdentifier || e.keyCode;
|
self.addListener(el, "keypress", function(e) {
|
||||||
if (lastDown !== keyId) {
|
var keyId = e.keyIdentifier || e.keyCode;
|
||||||
return callback(e);
|
if (lastDown !== keyId) {
|
||||||
} else {
|
return callback(e);
|
||||||
lastDown = null;
|
} else {
|
||||||
}
|
lastDown = null;
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}).call(ace);
|
}).call(ace);
|
||||||
Loading…
Add table
Add a link
Reference in a new issue