1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-03 22:05:47 +01:00

Fix key feeding issues with some sites. Fix bug in dactyl.generateHelp.

This commit is contained in:
Kris Maglione
2011-03-11 06:48:42 -05:00
parent ed00ac2584
commit 5e6b47009c
2 changed files with 13 additions and 5 deletions

View File

@@ -886,7 +886,7 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
data.push(" ");
data.push(name);
data.push('="');
data.push(<>{value}</>.toXMLString());
data.push(<>{value}</>.toXMLString().replace(/"/g, "&quot;"));
data.push('"');
}
if (node.localName in empty)

View File

@@ -642,8 +642,10 @@ var Events = Module("events", {
for (let [, evt_obj] in Iterator(events.fromString(keys))) {
let now = Date.now();
for (let type in values(["keydown", "keyup", "keypress"])) {
for (let type in values(["keydown", "keypress", "keyup"])) {
let evt = update({}, evt_obj, { type: type });
if (type !== "keypress" && !evt.keyCode)
evt.keyCode = evt._keyCode || 0;
if (isObject(noremap))
update(evt, noremap);
@@ -654,9 +656,12 @@ var Events = Module("events", {
evt.dactylSavedEvents = savedEvents;
this.feedingEvent = evt;
let event = events.create(document.commandDispatcher.focusedWindow.document, type, evt);
let doc = document.commandDispatcher.focusedWindow.document;
let event = events.create(doc, type, evt);
if (!evt_obj.dactylString && !evt_obj.dactylShift && !mode)
events.dispatch(dactyl.focusedElement || buffer.focusedFrame, event, evt);
events.dispatch(dactyl.focusedElement || doc.documentElement || doc.defaultView,
event, evt);
else if (type === "keypress")
events.events.keypress.call(events, event);
}
@@ -855,6 +860,7 @@ var Events = Module("events", {
}
evt_obj.charCode = keyname.charCodeAt(0);
evt_obj._keyCode = this._key_code[keyname];
}
else if (set.has(this._pseudoKeys, keyname)) {
evt_obj.dactylString = "<" + this._key_key[keyname] + ">";
@@ -875,8 +881,10 @@ var Events = Module("events", {
continue;
}
}
else // a simple key (no <...>)
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)