diff --git a/src/ace/lib/core.js b/src/ace/lib/core.js index 92436573..c58e1b98 100644 --- a/src/ace/lib/core.js +++ b/src/ace/lib/core.js @@ -3,6 +3,12 @@ if (!window.ace) (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) { var parts = namespace.split("."); var obj = window; diff --git a/src/ace/lib/event.js b/src/ace/lib/event.js index 6fcfc3fa..a8cac740 100644 --- a/src/ace/lib/event.js +++ b/src/ace/lib/event.js @@ -3,7 +3,7 @@ var self = this; this.isIE = ! + "\v1"; - + this.addListener = function(elem, type, callback) { if (elem.addEventListener) { return elem.addEventListener(type, callback, false); @@ -129,14 +129,14 @@ clicks = 0; }, 600); } - + if (clicks == 3) { clicks = 0; callback(e); } return self.preventDefault(e); }; - + self.addListener(el, "mousedown", listener); this.isIE && self.addListener(el, "dblclick", listener); }; @@ -149,13 +149,15 @@ return callback(e); }); - self.addListener(el, "keypress", function(e) { - var keyId = e.keyIdentifier || e.keyCode; - if (lastDown !== keyId) { - return callback(e); - } else { - lastDown = null; - } - }); + if (ace.isMac) { + self.addListener(el, "keypress", function(e) { + var keyId = e.keyIdentifier || e.keyCode; + if (lastDown !== keyId) { + return callback(e); + } else { + lastDown = null; + } + }); + } }; }).call(ace); \ No newline at end of file