From a05bb5023043b08f0d4508a634f1527e6e653d7f Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Sun, 15 Jan 2017 21:41:42 -0800 Subject: [PATCH] Don't drop selection on modifier keyup Fixes #348 --- src/xterm.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/xterm.js b/src/xterm.js index 6649a0333f..ed415b319d 100644 --- a/src/xterm.js +++ b/src/xterm.js @@ -525,7 +525,11 @@ Terminal.bindKeys = function(term) { term.keyPress(ev); }, true); - on(term.element, 'keyup', term.focus.bind(term)); + on(term.element, 'keyup', function(ev) { + if (!wasMondifierKeyOnlyEvent(ev)) { + term.focus(term); + } + }, true); on(term.textarea, 'keydown', function(ev) { term.keyDown(ev); @@ -4984,6 +4988,12 @@ Terminal.prototype.deleteColumns = function() { this.maxRange(); }; +function wasMondifierKeyOnlyEvent(ev) { + return ev.keyCode === 16 || // Shift + ev.keyCode === 17 || // Ctrl + ev.keyCode === 18; // Alt +} + /** * Character Sets */