pikvm/pikvm#1094: web: separate switch for reversed scrolling and panning

This commit is contained in:
Maxim Devaev 2023-08-24 13:16:00 +03:00
parent e78d3e03ec
commit 81d67c6ed7
3 changed files with 33 additions and 9 deletions

View File

@ -287,12 +287,27 @@
</tr>
<tr>
<td>Reverse scrolling:</td>
<td>
<table>
<tr>
<td>Y:</td>
<td align="right">
<div class="switch-box">
<input type="checkbox" id="hid-mouse-reverse-scrolling-switch">
<label for="hid-mouse-reverse-scrolling-switch"><span class="switch-inner"></span><span class="switch"></span></label>
</div>
</td>
<td>&nbsp;&nbsp;</td>
<td>X:</td>
<td align="right">
<div class="switch-box">
<input type="checkbox" id="hid-mouse-reverse-panning-switch">
<label for="hid-mouse-reverse-panning-switch"><span class="switch-inner"></span><span class="switch"></span></label>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>Cumulative scrolling:</td>

View File

@ -83,7 +83,13 @@ li(id="system-dropdown" class="right")
tr(id="hid-mouse-squash" class="feature-disabled")
+menu_switch_notable("hid-mouse-squash-switch", "Squash relative moves", true, true)
tr
+menu_switch_notable("hid-mouse-reverse-scrolling-switch", "Reverse scrolling", true, false)
td Reverse scrolling:
td
table
tr
+menu_switch_notable("hid-mouse-reverse-scrolling-switch", "Y", true, false)
td &nbsp;&nbsp;
+menu_switch_notable("hid-mouse-reverse-panning-switch", "X", true, false)
tr
+menu_switch_notable("hid-mouse-cumulative-scrolling-switch", "Cumulative scrolling", true, false)
tr

View File

@ -72,6 +72,7 @@ export function Mouse(__getGeometry, __recordWsEvent) {
tools.slider.setParams($("hid-mouse-rate-slider"), 10, 100, 10, tools.storage.get("hid.mouse.rate", 100), __updateRate); // set __timer
tools.storage.bindSimpleSwitch($("hid-mouse-reverse-scrolling-switch"), "hid.mouse.reverse_scrolling", false);
tools.storage.bindSimpleSwitch($("hid-mouse-reverse-panning-switch"), "hid.mouse.reverse_panning", false);
let cumulative_scrolling = !(tools.browser.is_firefox && !tools.browser.is_mac);
tools.storage.bindSimpleSwitch($("hid-mouse-cumulative-scrolling-switch"), "hid.mouse.cumulative_scrolling", cumulative_scrolling);
tools.slider.setParams($("hid-mouse-scroll-slider"), 1, 25, 1, tools.storage.get("hid.mouse.scroll_rate", 5), __updateScrollRate);
@ -310,9 +311,11 @@ export function Mouse(__getGeometry, __recordWsEvent) {
var __sendScroll = function(delta) {
if (delta.x || delta.y) {
if ($("hid-mouse-reverse-scrolling-switch").checked) {
delta.x *= -1;
delta.y *= -1;
}
if ($("hid-mouse-reverse-panning-switch").checked) {
delta.x *= -1;
}
tools.debug("Mouse: scrolled:", delta);
__sendEvent("mouse_wheel", {"delta": delta});
}