1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-21 18:27:57 +01:00

Fix some key feeding issues.

This commit is contained in:
Kris Maglione
2011-02-02 13:01:52 -05:00
parent bbe245a7bd
commit 475a3244c5
2 changed files with 13 additions and 3 deletions

View File

@@ -38,6 +38,7 @@ var ProcessorStack = Class("ProcessorStack", {
}, },
execute: function execute(result, force) { execute: function execute(result, force) {
function dbg() {}
if (force && this.actions.length) if (force && this.actions.length)
this.processors.length = 0; this.processors.length = 0;
@@ -70,10 +71,15 @@ var ProcessorStack = Class("ProcessorStack", {
else if (result === undefined) else if (result === undefined)
result = Events.PASS; result = Events.PASS;
dbg("RESULT: " + (result === Events.KILL ? "KILL" :
result === Events.PASS ? "PASS" :
result === Events.ABORT ? "ABORT" : result));
if (result !== Events.PASS) if (result !== Events.PASS)
Events.kill(this.events[this.events.length - 1]); Events.kill(this.events[this.events.length - 1]);
if (result === Events.PASS || result === Events.ABORT) if (result === Events.PASS || result === Events.ABORT) {
dbg("REREED: " + this.events.filter(function (e) e.getPreventDefault()).map(events.closure.toString).join(""));
this.events.filter(function (e) e.getPreventDefault()) this.events.filter(function (e) e.getPreventDefault())
.forEach(function (event, i) { .forEach(function (event, i) {
let elem = event.originalTarget; let elem = event.originalTarget;
@@ -85,6 +91,7 @@ var ProcessorStack = Class("ProcessorStack", {
else if (i > 0) else if (i > 0)
events.events.keypress.call(events, event); events.events.keypress.call(events, event);
}); });
}
if (force && this.processors.length === 0) if (force && this.processors.length === 0)
events.processor = null; events.processor = null;
@@ -321,6 +328,8 @@ var Events = Module("events", {
names = this._keyTable[k]; names = this._keyTable[k];
this._code_key[v] = names[0]; this._code_key[v] = names[0];
for (let [, name] in Iterator(names)) { for (let [, name] in Iterator(names)) {
if (name.length == 1)
name = name.toLowerCase();
this._key_key[name.toLowerCase()] = name; this._key_key[name.toLowerCase()] = name;
this._key_code[name.toLowerCase()] = v; this._key_code[name.toLowerCase()] = v;
} }
@@ -533,7 +542,7 @@ var Events = Module("events", {
let event = events.create(document.commandDispatcher.focusedWindow.document, type, evt); let event = events.create(document.commandDispatcher.focusedWindow.document, type, evt);
if (!evt_obj.dactylString && !evt_obj.dactylShift && !mode) if (!evt_obj.dactylString && !evt_obj.dactylShift && !mode)
events.dispatch(dactyl.focusedElement || buffer.focusedFrame, event, evt); events.dispatch(dactyl.focusedElement || buffer.focusedFrame, event, evt);
else else if (type === "keypress")
events.events.keypress.call(events, event); events.events.keypress.call(events, event);
} }
@@ -1112,6 +1121,7 @@ var Events = Module("events", {
let processor = this.processor; let processor = this.processor;
this.processor = null; this.processor = null;
if (!processor.process(event)) if (!processor.process(event))
this.processor = processor; this.processor = processor;

View File

@@ -372,7 +372,7 @@ var tests = {
normal: { normal: {
noOutput: ["<Nop>"], noOutput: ["<Nop>"],
singleOutput: ["<C-g>"], singleOutput: ["<C-g>"],
multiOutput: ["g<C-g>"] // FIXME: broken feature multiOutput: ["g<C-g>"]
}, },
open: { open: {
noOutput: ["about:blank | about:home"], noOutput: ["about:blank | about:home"],