summaryrefslogtreecommitdiff
path: root/ext/fg/js
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2017-05-25 20:56:08 -0700
committerAlex Yatskov <alex@foosoft.net>2017-05-25 20:56:08 -0700
commit618a3cb319c247c7196b1b83389d5f43241ab0c6 (patch)
treea617adbb35be0645e20e96c62170e89b73d15d48 /ext/fg/js
parent9aeb807d4b40717f0eef50de9b456ddaa08fbadd (diff)
support variable modifier keys, fixes #5
Diffstat (limited to 'ext/fg/js')
-rw-r--r--ext/fg/js/driver.js17
1 files changed, 12 insertions, 5 deletions
diff --git a/ext/fg/js/driver.js b/ext/fg/js/driver.js
index bdcc01b3..b0cc4613 100644
--- a/ext/fg/js/driver.js
+++ b/ext/fg/js/driver.js
@@ -70,15 +70,22 @@ window.driver = new class {
return;
}
- if (this.options.scanning.requireShift && !e.shiftKey && !(this.mouseDownMiddle && this.options.scanning.middleMouse)) {
+ const mouseScan = this.mouseDownMiddle && this.options.scanning.middleMouse;
+ const keyScan =
+ this.options.scanning.modifier === 'alt' && e.altKey ||
+ this.options.scanning.modifier === 'ctrl' && e.ctrlKey ||
+ this.options.scanning.modifier === 'shift' && e.shiftKey ||
+ this.options.scanning.modifier === 'none';
+
+ if (!keyScan && !mouseScan) {
return;
}
const searchFunc = () => this.searchAt(this.lastMousePos);
- if (this.options.scanning.requireShift) {
- searchFunc();
- } else {
+ if (this.options.scanning.modifier === 'none') {
this.popupTimerSet(searchFunc);
+ } else {
+ searchFunc();
}
}
@@ -232,7 +239,7 @@ window.driver = new class {
handleError(error, textSource) {
if (window.orphaned) {
- if (textSource && this.options.scanning.requireShift) {
+ if (textSource && this.options.scanning.modifier !== 'none') {
this.popup.showOrphaned(textSource.getRect(), this.options);
}
} else {