From facd55545ad1bdbb7233fc90042707595dc8eba2 Mon Sep 17 00:00:00 2001 From: Marat Fayzullin Date: Sun, 29 Jan 2023 18:02:11 -0500 Subject: [PATCH] Now using 2nd/3rd mouse button to switch bandpass shift/expand. --- htdocs/lib/Demodulator.js | 6 +++--- htdocs/openwebrx.js | 9 ++++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/htdocs/lib/Demodulator.js b/htdocs/lib/Demodulator.js index 1ec6aea0..4b17e244 100644 --- a/htdocs/lib/Demodulator.js +++ b/htdocs/lib/Demodulator.js @@ -188,10 +188,10 @@ Envelope.prototype.wheel = function(x, dir, modifier){ var range = this.where_clicked(x, this.drag_ranges, {}); if (range === Demodulator.draggable_ranges.none) return false; - // When modifier is TRUE, shift bandpass up / down - // When modifier is FALSE, make bandpadd wider / narrower + // When modifier is FALSE, shift bandpass up / down + // When modifier is TRUE, make bandpadd wider / narrower var high_delta = dir? -50 : 50; - var low_delta = modifier? high_delta : -high_delta; + var low_delta = modifier? -high_delta : high_delta; this.demodulator.moveBandpass( this.demodulator.low_cut + low_delta, this.demodulator.high_cut + high_delta diff --git a/htdocs/openwebrx.js b/htdocs/openwebrx.js index 9ba7d289..45126b78 100644 --- a/htdocs/openwebrx.js +++ b/htdocs/openwebrx.js @@ -291,6 +291,7 @@ function scale_setup() { var scale_canvas_drag_params = { mouse_down: false, + mouse2_down: false, drag: false, start_x: 0, key_modifiers: {shiftKey: false, altKey: false, ctrlKey: false} @@ -305,7 +306,11 @@ function scale_canvas_mousedown(evt) { scale_canvas_drag_params.key_modifiers.shiftKey = evt.shiftKey; scale_canvas_drag_params.key_modifiers.altKey = evt.altKey; scale_canvas_drag_params.key_modifiers.ctrlKey = evt.ctrlKey; + } else { + // Other buttons + scale_canvas_drag_params.mouse2_down = true; } + evt.preventDefault(); } @@ -354,13 +359,15 @@ function scale_canvas_end_drag(x) { function scale_canvas_mouseup(evt) { if (evt.button == 0) scale_canvas_end_drag(evt.pageX); + else + scale_canvas_drag_params.mouse2_down = false; } function scale_canvas_mousewheel(evt) { var dir = (evt.deltaY / Math.abs(evt.deltaY)) > 0; var demodulators = getDemodulators(); var event_handled = false; - for (var i = 0; i < demodulators.length; i++) event_handled |= demodulators[i].envelope.wheel(evt.pageX, dir, evt.shiftKey); + for (var i = 0; i < demodulators.length; i++) event_handled |= demodulators[i].envelope.wheel(evt.pageX, dir, scale_canvas_drag_params.mouse2_down); // If not handled by demodulators, default to tuning if (!event_handled) tuneBySteps(dir? -1:1); }