diff options
| author | Alex Yatskov <alex@foosoft.net> | 2017-02-26 12:06:37 -0800 | 
|---|---|---|
| committer | Alex Yatskov <alex@foosoft.net> | 2017-02-26 12:06:37 -0800 | 
| commit | da124f6c2789ec0aa4f8a0ae917af30de9bd3653 (patch) | |
| tree | 80ba315d7574d6f39ae953d0f2929e8a6309303c /ext/fg/js | |
| parent | ec0aded9bb39c6ff148d842d1a72b3b4ff4d904c (diff) | |
fix wonky scanning logic
Diffstat (limited to 'ext/fg/js')
| -rw-r--r-- | ext/fg/js/driver.js | 17 | 
1 files changed, 11 insertions, 6 deletions
| diff --git a/ext/fg/js/driver.js b/ext/fg/js/driver.js index 515bb463..6ea7fbaf 100644 --- a/ext/fg/js/driver.js +++ b/ext/fg/js/driver.js @@ -22,7 +22,8 @@ class Driver {          this.popup = new Popup();          this.popupTimer = null;          this.lastMousePos = null; -        this.leftMouseDown = false; +        this.mouseDownLeft = false; +        this.mouseDownMiddle = false;          this.lastTextSource = null;          this.pendingLookup = false;          this.options = null; @@ -64,16 +65,16 @@ class Driver {              return;          } -        if (this.leftMouseDown) { +        if (this.mouseDownLeft) {              return;          } -        if (this.options.scanning.requireShift && !e.shiftKey) { +        if (this.options.scanning.requireShift && !e.shiftKey && !this.mouseDownMiddle) {              return;          }          const searcher = () => this.searchAt(this.lastMousePos); -        if (!this.popup.isVisible() || e.shiftKey || e.which === 2 /* mmb */) { +        if (this.popup.isVisible()) {              searcher();          } else {              this.popupTimerSet(searcher); @@ -86,13 +87,17 @@ class Driver {          this.searchClear();          if (e.which === 1) { -            this.leftMouseDown = true; +            this.mouseDownLeft = true; +        } else if (e.which === 2) { +            this.mouseDownMiddle = true;          }      }      onMouseUp(e) {          if (e.which === 1) { -            this.leftMouseDown = false; +            this.mouseDownLeft = false; +        } else if (e.which === 2) { +            this.mouseDownMiddle = false;          }      } |