mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-13 01:30:31 +08:00
separate keyboard and mouse output handling
This commit is contained in:
parent
189ff59379
commit
11bf43de92
@ -175,16 +175,16 @@
|
|||||||
<div class="feature-disabled" id="hid-outputs">
|
<div class="feature-disabled" id="hid-outputs">
|
||||||
<hr>
|
<hr>
|
||||||
<table class="kv">
|
<table class="kv">
|
||||||
<tr>
|
<tr class="feature-disabled" id="hid-outputs-keyboard">
|
||||||
<td>Keyboard mode:</td>
|
<td>Keyboard mode:</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="radio-box" id="hid-outputs-keyboard"></div>
|
<div class="radio-box" id="hid-outputs-keyboard-box"></div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr class="feature-disabled" id="hid-outputs-mouse">
|
||||||
<td>Mouse <a target="_blank" href="https://github.com/pikvm/pikvm/blob/master/pages/mouse.md">mode</a>:</td>
|
<td>Mouse <a target="_blank" href="https://github.com/pikvm/pikvm/blob/master/pages/mouse.md">mode</a>:</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="radio-box" id="hid-outputs-mouse"></div>
|
<div class="radio-box" id="hid-outputs-mouse-box"></div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@ -48,12 +48,12 @@ li(class="right")
|
|||||||
div(id="hid-outputs" class="feature-disabled")
|
div(id="hid-outputs" class="feature-disabled")
|
||||||
hr
|
hr
|
||||||
table(class="kv")
|
table(class="kv")
|
||||||
tr
|
tr(id="hid-outputs-keyboard", class="feature-disabled")
|
||||||
td Keyboard mode:
|
td Keyboard mode:
|
||||||
td #[div(id="hid-outputs-keyboard" class="radio-box")]
|
td #[div(id="hid-outputs-keyboard-box" class="radio-box")]
|
||||||
tr
|
tr(id="hid-outputs-mouse", class="feature-disabled")
|
||||||
td Mouse #[a(target="_blank" href="https://github.com/pikvm/pikvm/blob/master/pages/mouse.md") mode]:
|
td Mouse #[a(target="_blank" href="https://github.com/pikvm/pikvm/blob/master/pages/mouse.md") mode]:
|
||||||
td #[div(id="hid-outputs-mouse" class="radio-box")]
|
td #[div(id="hid-outputs-mouse-box" class="radio-box")]
|
||||||
table(class="kv")
|
table(class="kv")
|
||||||
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 mouse moves", true, true)
|
+menu_switch_notable("hid-mouse-squash-switch", "Squash relative mouse moves", true, true)
|
||||||
|
|||||||
@ -112,10 +112,8 @@ export function Hid(__getResolution) {
|
|||||||
if (state && state.online) {
|
if (state && state.online) {
|
||||||
let keyboard_outputs = state.keyboard.outputs.available;
|
let keyboard_outputs = state.keyboard.outputs.available;
|
||||||
let mouse_outputs = state.mouse.outputs.available;
|
let mouse_outputs = state.mouse.outputs.available;
|
||||||
let has_outputs = (keyboard_outputs.length || mouse_outputs.length);
|
if (keyboard_outputs.length) {
|
||||||
let has_relative = false;
|
if ($("hid-outputs-keyboard-box").outputs !== keyboard_outputs) {
|
||||||
if (has_outputs) {
|
|
||||||
if ($("hid-outputs-keyboard").outputs !== keyboard_outputs) {
|
|
||||||
let html = "";
|
let html = "";
|
||||||
for (let args of [
|
for (let args of [
|
||||||
["USB", "usb"],
|
["USB", "usb"],
|
||||||
@ -126,11 +124,15 @@ export function Hid(__getResolution) {
|
|||||||
html += tools.radioMakeItem("hid-outputs-keyboard-radio", args[0], args[1]);
|
html += tools.radioMakeItem("hid-outputs-keyboard-radio", args[0], args[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$("hid-outputs-keyboard").innerHTML = html;
|
$("hid-outputs-keyboard-box").innerHTML = html;
|
||||||
$("hid-outputs-keyboard").outputs = keyboard_outputs;
|
$("hid-outputs-keyboard-box").outputs = keyboard_outputs;
|
||||||
tools.radioSetOnClick("hid-outputs-keyboard-radio", () => __clickOutputsRadio("keyboard"));
|
tools.radioSetOnClick("hid-outputs-keyboard-radio", () => __clickOutputsRadio("keyboard"));
|
||||||
}
|
}
|
||||||
if ($("hid-outputs-mouse").outputs !== mouse_outputs) {
|
tools.radioSetValue("hid-outputs-keyboard-radio", state.keyboard.outputs.active);
|
||||||
|
}
|
||||||
|
let has_relative = false;
|
||||||
|
if (mouse_outputs.length) {
|
||||||
|
if ($("hid-outputs-mouse-box").outputs !== mouse_outputs) {
|
||||||
let html = "";
|
let html = "";
|
||||||
for (let args of [
|
for (let args of [
|
||||||
["USB", "usb", false],
|
["USB", "usb", false],
|
||||||
@ -143,18 +145,19 @@ export function Hid(__getResolution) {
|
|||||||
has_relative = (has_relative || args[2]);
|
has_relative = (has_relative || args[2]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$("hid-outputs-mouse").innerHTML = html;
|
$("hid-outputs-mouse-box").innerHTML = html;
|
||||||
$("hid-outputs-mouse").outputs = mouse_outputs;
|
$("hid-outputs-mouse-box").outputs = mouse_outputs;
|
||||||
tools.radioSetOnClick("hid-outputs-mouse-radio", () => __clickOutputsRadio("mouse"));
|
tools.radioSetOnClick("hid-outputs-mouse-radio", () => __clickOutputsRadio("mouse"));
|
||||||
}
|
}
|
||||||
tools.radioSetValue("hid-outputs-keyboard-radio", state.keyboard.outputs.active);
|
|
||||||
tools.radioSetValue("hid-outputs-mouse-radio", state.mouse.outputs.active);
|
tools.radioSetValue("hid-outputs-mouse-radio", state.mouse.outputs.active);
|
||||||
has_relative_squash = ["usb_rel", "ps2"].includes(state.mouse.outputs.active);
|
has_relative_squash = ["usb_rel", "ps2"].includes(state.mouse.outputs.active);
|
||||||
} else {
|
} else {
|
||||||
has_relative = !state.mouse.absolute;
|
has_relative = !state.mouse.absolute;
|
||||||
has_relative_squash = has_relative;
|
has_relative_squash = has_relative;
|
||||||
}
|
}
|
||||||
tools.featureSetEnabled($("hid-outputs"), has_outputs);
|
tools.featureSetEnabled($("hid-outputs"), (keyboard_outputs.length || mouse_outputs.length));
|
||||||
|
tools.featureSetEnabled($("hid-outputs-keyboard"), keyboard_outputs.length);
|
||||||
|
tools.featureSetEnabled($("hid-outputs-mouse"), mouse_outputs.length);
|
||||||
tools.featureSetEnabled($("hid-mouse-squash"), has_relative);
|
tools.featureSetEnabled($("hid-mouse-squash"), has_relative);
|
||||||
tools.featureSetEnabled($("hid-connect"), (state.connected !== null));
|
tools.featureSetEnabled($("hid-connect"), (state.connected !== null));
|
||||||
$("hid-connect-switch").checked = !!state.connected;
|
$("hid-connect-switch").checked = !!state.connected;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user