From 7fa11b08d1394a01f2f2dcaaabbc5712856bd2eb Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Thu, 13 May 2010 16:58:33 +0200 Subject: [PATCH] fix key input for windows --- src/ace/lib/core.js | 6 ++++++ src/ace/lib/event.js | 24 +++++++++++++----------- 2 files changed, 19 insertions(+), 11 deletions(-) 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