mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 17:20:30 +08:00
refactoring, reverted mouse scroll mode
This commit is contained in:
parent
987684bc82
commit
cbf0a8b8f2
@ -276,13 +276,6 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="value-number" id="hid-mouse-sens-value"></td>
|
<td class="value-number" id="hid-mouse-sens-value"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td>Mouse Scroll Rate:</td>
|
|
||||||
<td class="value-slider">
|
|
||||||
<input class="slider" type="range" id="hid-mouse-scroll-slider">
|
|
||||||
</td>
|
|
||||||
<td class="value-number" id="hid-mouse-scroll-value"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="feature-disabled" id="hid-mouse-squash">
|
<tr class="feature-disabled" id="hid-mouse-squash">
|
||||||
<td>Squash relative moves:</td>
|
<td>Squash relative moves:</td>
|
||||||
<td align="right">
|
<td align="right">
|
||||||
@ -301,6 +294,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Scroll rate:</td>
|
||||||
|
<td class="value-slider">
|
||||||
|
<input class="slider" type="range" id="hid-mouse-scroll-slider">
|
||||||
|
</td>
|
||||||
|
<td class="value-number" id="hid-mouse-scroll-value"></td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</details>
|
</details>
|
||||||
|
|||||||
@ -80,14 +80,14 @@ li(id="system-dropdown" class="right")
|
|||||||
td Relative sensitivity:
|
td Relative sensitivity:
|
||||||
td(class="value-slider") #[input(disabled type="range" id="hid-mouse-sens-slider" class="slider")]
|
td(class="value-slider") #[input(disabled type="range" id="hid-mouse-sens-slider" class="slider")]
|
||||||
td(id="hid-mouse-sens-value" class="value-number")
|
td(id="hid-mouse-sens-value" class="value-number")
|
||||||
tr
|
|
||||||
td Mouse Scroll Rate:
|
|
||||||
td(class="value-slider") #[input(type="range" id="hid-mouse-scroll-slider" class="slider")]
|
|
||||||
td(id="hid-mouse-scroll-value" class="value-number")
|
|
||||||
tr(id="hid-mouse-squash" class="feature-disabled")
|
tr(id="hid-mouse-squash" class="feature-disabled")
|
||||||
+menu_switch_notable("hid-mouse-squash-switch", "Squash relative moves", true, true)
|
+menu_switch_notable("hid-mouse-squash-switch", "Squash relative moves", true, true)
|
||||||
tr
|
tr
|
||||||
+menu_switch_notable("hid-mouse-reverse-scrolling-switch", "Reverse scrolling", true, false)
|
+menu_switch_notable("hid-mouse-reverse-scrolling-switch", "Reverse scrolling", true, false)
|
||||||
|
tr
|
||||||
|
td Scroll rate:
|
||||||
|
td(class="value-slider") #[input(type="range" id="hid-mouse-scroll-slider" class="slider")]
|
||||||
|
td(id="hid-mouse-scroll-value" class="value-number")
|
||||||
table(class="kv")
|
table(class="kv")
|
||||||
tr(id="hid-connect" class="feature-disabled")
|
tr(id="hid-connect" class="feature-disabled")
|
||||||
+menu_switch_notable("hid-connect-switch", "Connect HID to Server", true, true)
|
+menu_switch_notable("hid-connect-switch", "Connect HID to Server", true, true)
|
||||||
|
|||||||
@ -131,6 +131,7 @@ ul#navbar li div.menu details summary {
|
|||||||
ul#navbar li div.menu details div.spoiler {
|
ul#navbar li div.menu details div.spoiler {
|
||||||
margin-left: 20px !important;
|
margin-left: 20px !important;
|
||||||
border-left: var(--border-default-thin);
|
border-left: var(--border-default-thin);
|
||||||
|
border-bottom: var(--border-default-thin);
|
||||||
}
|
}
|
||||||
ul#navbar li div.menu details summary::marker {
|
ul#navbar li div.menu details summary::marker {
|
||||||
color: var(--cs-marker-fg);
|
color: var(--cs-marker-fg);
|
||||||
|
|||||||
@ -44,8 +44,8 @@ export function Mouse(__getGeometry, __recordWsEvent) {
|
|||||||
var __relative_deltas = [];
|
var __relative_deltas = [];
|
||||||
var __relative_touch_pos = null;
|
var __relative_touch_pos = null;
|
||||||
var __relative_sens = 1.0;
|
var __relative_sens = 1.0;
|
||||||
var __relative_scroll_rate = 5;
|
var __scroll_rate = 5;
|
||||||
var __wheel_delta = {"x": 0, "y": 0};
|
var __scroll_delta = {"x": 0, "y": 0};
|
||||||
|
|
||||||
var __stream_hovered = false;
|
var __stream_hovered = false;
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ export function Mouse(__getGeometry, __recordWsEvent) {
|
|||||||
$("stream-box").onmouseup = (event) => __streamButtonHandler(event, false);
|
$("stream-box").onmouseup = (event) => __streamButtonHandler(event, false);
|
||||||
$("stream-box").oncontextmenu = (event) => event.preventDefault();
|
$("stream-box").oncontextmenu = (event) => event.preventDefault();
|
||||||
$("stream-box").onmousemove = __streamMoveHandler;
|
$("stream-box").onmousemove = __streamMoveHandler;
|
||||||
$("stream-box").onwheel = __streamWheelHandler;
|
$("stream-box").onwheel = __streamScrollHandler;
|
||||||
$("stream-box").ontouchstart = (event) => __streamTouchStartHandler(event);
|
$("stream-box").ontouchstart = (event) => __streamTouchStartHandler(event);
|
||||||
$("stream-box").ontouchmove = (event) => __streamTouchMoveHandler(event);
|
$("stream-box").ontouchmove = (event) => __streamTouchMoveHandler(event);
|
||||||
$("stream-box").ontouchend = (event) => __streamTouchEndHandler(event);
|
$("stream-box").ontouchend = (event) => __streamTouchEndHandler(event);
|
||||||
@ -118,7 +118,7 @@ export function Mouse(__getGeometry, __recordWsEvent) {
|
|||||||
var __updateScrollRate = function(value) {
|
var __updateScrollRate = function(value) {
|
||||||
$("hid-mouse-scroll-value").innerHTML = value + " #";
|
$("hid-mouse-scroll-value").innerHTML = value + " #";
|
||||||
tools.storage.set("hid.mouse.scroll_rate", value);
|
tools.storage.set("hid.mouse.scroll_rate", value);
|
||||||
__relative_scroll_rate = value;
|
__scroll_rate = value;
|
||||||
};
|
};
|
||||||
|
|
||||||
var __updateRelativeSens = function(value) {
|
var __updateRelativeSens = function(value) {
|
||||||
@ -252,21 +252,19 @@ export function Mouse(__getGeometry, __recordWsEvent) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var __streamWheelHandler = function(event) {
|
var __streamScrollHandler = function(event) {
|
||||||
// https://learn.javascript.ru/mousewheel
|
// https://learn.javascript.ru/mousewheel
|
||||||
// https://stackoverflow.com/a/24595588
|
// https://stackoverflow.com/a/24595588
|
||||||
|
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
//set default rate of -5, but allow localStorage hid.mouse.scroll_rate value to be used.
|
let rate = -__scroll_rate;
|
||||||
var rate = -(__relative_scroll_rate);
|
|
||||||
if (!__absolute && !__isRelativeCaptured()) {
|
if (!__absolute && !__isRelativeCaptured()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let delta = {"x": 0, "y": 0};
|
let delta = {"x": 0, "y": 0};
|
||||||
//This is for firefox and chrome, but not on mac. Mac uses 5-lines-per-scroll.
|
if (tools.browser.is_firefox && !tools.browser.is_mac) {
|
||||||
if ((tools.browser.is_firefox || tools.browser.is_chrome) && !tools.browser.is_mac) {
|
|
||||||
if (event.deltaX !== 0) {
|
if (event.deltaX !== 0) {
|
||||||
delta.x = event.deltaX / Math.abs(event.deltaX) * (rate);
|
delta.x = event.deltaX / Math.abs(event.deltaX) * (rate);
|
||||||
}
|
}
|
||||||
@ -276,20 +274,20 @@ export function Mouse(__getGeometry, __recordWsEvent) {
|
|||||||
} else {
|
} else {
|
||||||
let factor = (tools.browser.is_mac ? 5 : 1);
|
let factor = (tools.browser.is_mac ? 5 : 1);
|
||||||
|
|
||||||
__wheel_delta.x += event.deltaX * factor; // Horizontal scrolling
|
__scroll_delta.x += event.deltaX * factor; // Horizontal scrolling
|
||||||
if (Math.abs(__wheel_delta.x) >= 100) {
|
if (Math.abs(__scroll_delta.x) >= 100) {
|
||||||
delta.x = __wheel_delta.x / Math.abs(__wheel_delta.x) * (rate);
|
delta.x = __scroll_delta.x / Math.abs(__scroll_delta.x) * (rate);
|
||||||
__wheel_delta.x = 0;
|
__scroll_delta.x = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
__wheel_delta.y += event.deltaY * factor; // Vertical scrolling
|
__scroll_delta.y += event.deltaY * factor; // Vertical scrolling
|
||||||
if (Math.abs(__wheel_delta.y) >= 100) {
|
if (Math.abs(__scroll_delta.y) >= 100) {
|
||||||
delta.y = __wheel_delta.y / Math.abs(__wheel_delta.y) * (rate);
|
delta.y = __scroll_delta.y / Math.abs(__scroll_delta.y) * (rate);
|
||||||
__wheel_delta.y = 0;
|
__scroll_delta.y = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
__sendWheel(delta);
|
__sendScroll(delta);
|
||||||
};
|
};
|
||||||
|
|
||||||
var __sendOrPlanRelativeMove = function(delta) {
|
var __sendOrPlanRelativeMove = function(delta) {
|
||||||
@ -307,7 +305,7 @@ export function Mouse(__getGeometry, __recordWsEvent) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var __sendWheel = function(delta) {
|
var __sendScroll = function(delta) {
|
||||||
if (delta.x || delta.y) {
|
if (delta.x || delta.y) {
|
||||||
if ($("hid-mouse-reverse-scrolling-switch").checked) {
|
if ($("hid-mouse-reverse-scrolling-switch").checked) {
|
||||||
delta.x *= -1;
|
delta.x *= -1;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user