mirror of
				https://git.proxmox.com/git/mirror_xterm.js
				synced 2025-11-04 05:54:24 +00:00 
			
		
		
		
	Keyboard events are not being cancelled by default now.
This commit is contained in:
		
							parent
							
								
									7a6fb27a53
								
							
						
					
					
						commit
						06403fd6c8
					
				
							
								
								
									
										47
									
								
								src/xterm.js
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								src/xterm.js
									
									
									
									
									
								
							@ -137,6 +137,8 @@ function Terminal(options) {
 | 
			
		||||
  if (!(this instanceof Terminal)) {
 | 
			
		||||
    return new Terminal(arguments[0], arguments[1], arguments[2]);
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  self.cancel = Terminal.cancel;
 | 
			
		||||
 | 
			
		||||
  EventEmitter.call(this);
 | 
			
		||||
 | 
			
		||||
@ -395,7 +397,8 @@ Terminal.defaults = {
 | 
			
		||||
  scrollback: 1000,
 | 
			
		||||
  screenKeys: false,
 | 
			
		||||
  debug: false,
 | 
			
		||||
  useStyle: false
 | 
			
		||||
  useStyle: false,
 | 
			
		||||
  cancelEvents: false
 | 
			
		||||
  // programFeatures: false,
 | 
			
		||||
  // focusKeys: false,
 | 
			
		||||
};
 | 
			
		||||
@ -498,7 +501,7 @@ Terminal.bindPaste = function(document) {
 | 
			
		||||
    }
 | 
			
		||||
    // Not necessary. Do it anyway for good measure.
 | 
			
		||||
    term.element.contentEditable = 'inherit';
 | 
			
		||||
    return cancel(ev);
 | 
			
		||||
    return term.cancel(ev);
 | 
			
		||||
  });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -1079,7 +1082,7 @@ Terminal.prototype.bindMouse = function() {
 | 
			
		||||
    //if (self.vt200Mouse && !self.normalMouse) {
 | 
			
		||||
    if (self.vt200Mouse) {
 | 
			
		||||
      sendButton({ __proto__: ev, type: 'mouseup' });
 | 
			
		||||
      return cancel(ev);
 | 
			
		||||
      return self.cancel(ev);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // bind events
 | 
			
		||||
@ -1091,11 +1094,11 @@ Terminal.prototype.bindMouse = function() {
 | 
			
		||||
        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) {
 | 
			
		||||
@ -1108,7 +1111,7 @@ Terminal.prototype.bindMouse = function() {
 | 
			
		||||
        || self.vt300Mouse
 | 
			
		||||
        || self.decLocator) return;
 | 
			
		||||
    sendButton(ev);
 | 
			
		||||
    return cancel(ev);
 | 
			
		||||
    return self.cancel(ev);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  // allow mousewheel scrolling in
 | 
			
		||||
@ -1121,7 +1124,7 @@ Terminal.prototype.bindMouse = function() {
 | 
			
		||||
    } else {
 | 
			
		||||
      self.scrollDisp(ev.wheelDeltaY > 0 ? -5 : 5);
 | 
			
		||||
    }
 | 
			
		||||
    return cancel(ev);
 | 
			
		||||
    return self.cancel(ev);
 | 
			
		||||
  });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -2446,7 +2449,7 @@ Terminal.prototype.keyDown = function(ev) {
 | 
			
		||||
      }
 | 
			
		||||
      if (ev.ctrlKey) {
 | 
			
		||||
        this.scrollDisp(-1);
 | 
			
		||||
        return cancel(ev);
 | 
			
		||||
        return this.cancel(ev);
 | 
			
		||||
      } else {
 | 
			
		||||
        key = '\x1b[A';
 | 
			
		||||
      }
 | 
			
		||||
@ -2459,7 +2462,7 @@ Terminal.prototype.keyDown = function(ev) {
 | 
			
		||||
      }
 | 
			
		||||
      if (ev.ctrlKey) {
 | 
			
		||||
        this.scrollDisp(1);
 | 
			
		||||
        return cancel(ev);
 | 
			
		||||
        return this.cancel(ev);
 | 
			
		||||
      } else {
 | 
			
		||||
        key = '\x1b[B';
 | 
			
		||||
      }
 | 
			
		||||
@ -2492,7 +2495,7 @@ Terminal.prototype.keyDown = function(ev) {
 | 
			
		||||
    case 33:
 | 
			
		||||
      if (ev.shiftKey) {
 | 
			
		||||
        this.scrollDisp(-(this.rows - 1));
 | 
			
		||||
        return cancel(ev);
 | 
			
		||||
        return this.cancel(ev);
 | 
			
		||||
      } else {
 | 
			
		||||
        key = '\x1b[5~';
 | 
			
		||||
      }
 | 
			
		||||
@ -2501,7 +2504,7 @@ Terminal.prototype.keyDown = function(ev) {
 | 
			
		||||
    case 34:
 | 
			
		||||
      if (ev.shiftKey) {
 | 
			
		||||
        this.scrollDisp(this.rows - 1);
 | 
			
		||||
        return cancel(ev);
 | 
			
		||||
        return this.cancel(ev);
 | 
			
		||||
      } else {
 | 
			
		||||
        key = '\x1b[6~';
 | 
			
		||||
      }
 | 
			
		||||
@ -2562,7 +2565,7 @@ Terminal.prototype.keyDown = function(ev) {
 | 
			
		||||
          if (this.screenKeys) {
 | 
			
		||||
            if (!this.prefixMode && !this.selectMode && ev.keyCode === 65) {
 | 
			
		||||
              this.enterPrefix();
 | 
			
		||||
              return cancel(ev);
 | 
			
		||||
              return this.cancel(ev);
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          // Ctrl-V
 | 
			
		||||
@ -2612,12 +2615,12 @@ Terminal.prototype.keyDown = function(ev) {
 | 
			
		||||
 | 
			
		||||
  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);
 | 
			
		||||
@ -2626,7 +2629,7 @@ Terminal.prototype.keyDown = function(ev) {
 | 
			
		||||
  this.showCursor();
 | 
			
		||||
  this.handler(key);
 | 
			
		||||
 | 
			
		||||
  return cancel(ev);
 | 
			
		||||
  return this.cancel(ev);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
Terminal.prototype.setgLevel = function(g) {
 | 
			
		||||
@ -2644,7 +2647,7 @@ Terminal.prototype.setgCharset = function(g, charset) {
 | 
			
		||||
Terminal.prototype.keyPress = function(ev) {
 | 
			
		||||
  var key;
 | 
			
		||||
 | 
			
		||||
  cancel(ev);
 | 
			
		||||
  this.cancel(ev);
 | 
			
		||||
 | 
			
		||||
  if (ev.charCode) {
 | 
			
		||||
    key = ev.charCode;
 | 
			
		||||
@ -5616,9 +5619,15 @@ function off(el, type, handler, capture) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user