if (!(this instanceof Terminal)) {
return new Terminal(arguments[0], arguments[1], arguments[2]);
}
+
+ self.cancel = Terminal.cancel;
EventEmitter.call(this);
scrollback: 1000,
screenKeys: false,
debug: false,
- useStyle: false
+ useStyle: false,
+ cancelEvents: false
// programFeatures: false,
// focusKeys: false,
};
}
// Not necessary. Do it anyway for good measure.
term.element.contentEditable = 'inherit';
- return cancel(ev);
+ return term.cancel(ev);
});
};
//if (self.vt200Mouse && !self.normalMouse) {
if (self.vt200Mouse) {
sendButton({ __proto__: ev, type: 'mouseup' });
- return cancel(ev);
+ return self.cancel(ev);
}
// bind events
sendButton(ev);
if (self.normalMouse) off(self.document, 'mousemove', sendMove);
off(self.document, 'mouseup', up);
- return cancel(ev);
+ return self.cancel(ev);
});
}
- return cancel(ev);
+ return self.cancel(ev);
});
//if (self.normalMouse) {
|| self.vt300Mouse
|| self.decLocator) return;
sendButton(ev);
- return cancel(ev);
+ return self.cancel(ev);
});
// allow mousewheel scrolling in
} else {
self.scrollDisp(ev.wheelDeltaY > 0 ? -5 : 5);
}
- return cancel(ev);
+ return self.cancel(ev);
});
};
}
if (ev.ctrlKey) {
this.scrollDisp(-1);
- return cancel(ev);
+ return this.cancel(ev);
} else {
key = '\x1b[A';
}
}
if (ev.ctrlKey) {
this.scrollDisp(1);
- return cancel(ev);
+ return this.cancel(ev);
} else {
key = '\x1b[B';
}
case 33:
if (ev.shiftKey) {
this.scrollDisp(-(this.rows - 1));
- return cancel(ev);
+ return this.cancel(ev);
} else {
key = '\x1b[5~';
}
case 34:
if (ev.shiftKey) {
this.scrollDisp(this.rows - 1);
- return cancel(ev);
+ return this.cancel(ev);
} else {
key = '\x1b[6~';
}
if (this.screenKeys) {
if (!this.prefixMode && !this.selectMode && ev.keyCode === 65) {
this.enterPrefix();
- return cancel(ev);
+ return this.cancel(ev);
}
}
// Ctrl-V
if (this.prefixMode) {
this.leavePrefix();
- return cancel(ev);
+ return this.cancel(ev);
}
if (this.selectMode) {
this.keySelect(ev, key);
- return cancel(ev);
+ return this.cancel(ev);
}
this.emit('keydown', ev);
this.showCursor();
this.handler(key);
- return cancel(ev);
+ return this.cancel(ev);
};
Terminal.prototype.setgLevel = function(g) {
Terminal.prototype.keyPress = function(ev) {
var key;
- cancel(ev);
+ this.cancel(ev);
if (ev.charCode) {
key = ev.charCode;
}
function cancel(ev) {
- if (ev.preventDefault) ev.preventDefault();
- ev.returnValue = false;
- if (ev.stopPropagation) ev.stopPropagation();
+ if (!this.cancelEvents) {
+ return;
+ }
+ if (ev.preventDefault) {
+ ev.preventDefault();
+ }
+ if (ev.stopPropagation) {
+ ev.stopPropagation();
+ }
ev.cancelBubble = true;
return false;
}