From 1f6c944488e4b3612955c23b7e29ab205d3df5d6 Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Wed, 16 Mar 2011 18:02:16 -0400 Subject: [PATCH] Fix bug in events.toString. --- common/content/events.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/common/content/events.js b/common/content/events.js index 3730b4e2..119cbe9f 100644 --- a/common/content/events.js +++ b/common/content/events.js @@ -849,7 +849,12 @@ var Events = Module("events", { let evt_obj = { ctrlKey: false, shiftKey: false, altKey: false, metaKey: false, keyCode: 0, charCode: 0, type: "keypress" }; - if (evt_str.length > 1) { // <.*?> + if (evt_str.length == 1) { + evt_obj.charCode = evt_str.charCodeAt(0); + evt_obj._keyCode = this._key_code[evt_str[0]]; + evt_obj.shiftKey = evt_str !== evt_str.toLowerCase(); + } + else { let [match, modifier, keyname] = evt_str.match(/^<((?:[*12CASM]-)*)(.+?)>$/i) || [false, '', '']; modifier = set(modifier.toUpperCase()); keyname = keyname.toLowerCase(); @@ -892,10 +897,6 @@ var Events = Module("events", { continue; } } - else {// a simple key (no <...>) - evt_obj.charCode = evt_str.charCodeAt(0); - evt_obj._keyCode = this._key_code[evt_str[0]]; - } // TODO: make a list of characters that need keyCode and charCode somewhere if (evt_obj.keyCode == 32 || evt_obj.charCode == 32)