add cache and rename some files

This commit is contained in:
2026-01-15 15:41:19 +01:00
parent 7879f15726
commit b64815d9ab
4753 changed files with 931902 additions and 1 deletions

View File

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
<polygon fill="#FFF" points="7.2 7.5 7.2 -1.3 8.7 -1.3 8.6 9.1 2.7 8.7 2.7 7.2" transform="rotate(37 5.718 3.896)" />
</svg>

After

Width:  |  Height:  |  Size: 210 B

View File

@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="en">
<head>
<script>
let update = () => {};
function connectElgatoStreamDeckSocket(inPort, inPropertyInspectorUUID, inRegisterEvent, inInfo, inActionInfo) {
inActionInfo = JSON.parse(inActionInfo);
if (inActionInfo.payload.controller == "Encoder") {
document.documentElement.innerHTML = "";
return;
}
const websocket = new WebSocket("ws://localhost:" + inPort);
websocket.onopen = () => {
websocket.send(JSON.stringify({
event: inRegisterEvent,
uuid: inPropertyInspectorUUID,
}));
};
const action = document.getElementById("action");
action.value = inActionInfo.payload.settings.action ?? "set";
const value = document.getElementById("value");
value.value = (inActionInfo.payload.settings.value ?? 50).toString();
const valueDisplay = document.getElementById("value-display");
valueDisplay.innerText = value.value;
update = () => {
valueDisplay.innerText = value.value;
websocket.send(JSON.stringify({
event: "setSettings",
context: inActionInfo.context,
payload: {
action: action.value,
value: parseInt(value.value),
},
}));
};
}
</script>
<link rel="stylesheet" href="sdpi.css" />
</head>
<body>
<div class="sdpi-item">
<div class="sdpi-item-label">Action</div>
<select id="action" onchange="update();" class="sdpi-item-value select">
<option value="set">Set</option>
<option value="increase">Increase</option>
<option value="decrease">Decrease</option>
</select>
</div>
<div class="sdpi-item">
<div class="sdpi-item-label">Value (<span id="value-display"></span>%)</div>
<input id="value" oninput="update();" class="sdpi-item-value" type="range" min="0" max="100" />
</div>
</body>
</html>

View File

@@ -0,0 +1,77 @@
<!DOCTYPE html>
<html lang="en">
<head>
<script>
let update = () => {};
function connectElgatoStreamDeckSocket(inPort, inPropertyInspectorUUID, inRegisterEvent, inInfo, inActionInfo) {
const websocket = new WebSocket("ws://localhost:" + inPort);
inActionInfo = JSON.parse(inActionInfo);
websocket.onopen = () => {
websocket.send(JSON.stringify({
event: inRegisterEvent,
uuid: inPropertyInspectorUUID,
}));
};
const down = document.getElementById("down");
down.value = inActionInfo.payload.settings.down ?? "";
const up = document.getElementById("up");
up.value = inActionInfo.payload.settings.up ?? "";
update = () => {
websocket.send(JSON.stringify({
event: "setSettings",
context: inActionInfo.context,
payload: {
down: down.value,
up: up.value,
},
}));
};
}
</script>
<link rel="stylesheet" href="sdpi.css" />
</head>
<body>
<div type="textarea" class="sdpi-item">
<div class="sdpi-item-label">Key down</div>
<span class="sdpi-item-value textarea">
<textarea oninput="update();" id="down" style="font-family: monospace" placeholder="Input to be executed on key down"></textarea>
</span>
</div>
<div type="textarea" class="sdpi-item">
<div class="sdpi-item-label">Key up</div>
<span class="sdpi-item-value textarea">
<textarea oninput="update();" id="up" style="font-family: monospace" placeholder="Input to be executed on key up"></textarea>
</span>
</div>
<details open>
<summary style="margin-bottom: 0.25rem; font-size: 1.25rem">Details</summary>
<code style="word-break: break-all">[t("hello world!"),m(10,10,r),s(5),b(l),k(ctrl,p),k(uni('a')),k(ctrl,r)]</code>
<p>The example above becomes something like this:</p>
<!-- deno-fmt-ignore -->
<code style="white-space: pre;">[
Text("hello world!"),
MoveMouse(10, 10, Relative),
Scroll(5, Vertical),
Button(Left, Click),
Key(Control, Press),
Key(Unicode('a'), Click),
Key(Control, Release),
]</code>
<p>
As you can see, <code>Vertical</code> is the default for the <code>Scroll</code> action if an axis is not specified,
<code>Click</code> (press followed by release) is the default for the <code>Button</code> and <code>Key</code> actions if a direction is not specified, and so on.
</p>
<!-- deno-fmt-ignore -->
<p>
You can find a list of all of the keycodes
<span style="color: dodgerblue; cursor: pointer;" onclick="window.open('https://github.com/enigo-rs/enigo/blob/v0.5.0/src/keycodes.rs', '_blank');">here</span>.
Please note that not all keycodes are available on all operating systems, as is marked on each such keycode on the line above it.
You can find the possible buttons, directions, axis and coordinate types
<span style="color: dodgerblue; cursor: pointer;" onclick="window.open('https://github.com/enigo-rs/enigo/blob/v0.5.0/src/lib.rs', '_blank');">here</span>.
</p>
</details>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html lang="en">
<head>
<script>
let update = () => {};
function connectElgatoStreamDeckSocket(inPort, inPropertyInspectorUUID, inRegisterEvent, inInfo, inActionInfo) {
const websocket = new WebSocket("ws://localhost:" + inPort);
inActionInfo = JSON.parse(inActionInfo);
websocket.onopen = () => {
websocket.send(JSON.stringify({
event: inRegisterEvent,
uuid: inPropertyInspectorUUID,
}));
};
if (inActionInfo.payload.controller == "Encoder") {
document.getElementById("encoder").style.display = "block";
document.getElementById("down-label").innerText = "Dial down";
document.getElementById("up-label").innerText = "Dial up";
}
const down = document.getElementById("down");
down.value = inActionInfo.payload.settings.down ?? "";
const up = document.getElementById("up");
up.value = inActionInfo.payload.settings.up ?? "";
const rotate = document.getElementById("rotate");
rotate.value = inActionInfo.payload.settings.rotate ?? "";
const file = document.getElementById("file");
file.value = inActionInfo.payload.settings.file ?? "";
const show = document.getElementById("show");
show.checked = inActionInfo.payload.settings.show ?? false;
update = () => {
websocket.send(JSON.stringify({
event: "setSettings",
context: inActionInfo.context,
payload: {
down: down.value,
up: up.value,
rotate: rotate.value,
file: file.value,
show: show.checked,
},
}));
};
}
</script>
<link rel="stylesheet" href="sdpi.css" />
</head>
<body>
<div class="sdpi-item">
<div class="sdpi-item-label" id="down-label">Key down</div>
<input id="down" oninput="update();" class="sdpi-item-value" />
</div>
<div class="sdpi-item">
<div class="sdpi-item-label" id="up-label">Key up</div>
<input id="up" oninput="update();" class="sdpi-item-value" />
</div>
<div id="encoder" style="display: none">
<div class="sdpi-item">
<div class="sdpi-item-label">Dial rotate</div>
<input id="rotate" oninput="update();" class="sdpi-item-value" />
</div>
<p style="padding-left: 0.75rem; padding-right: 0.75rem">
Usages of <code>%d</code> will be substituted with the number of ticks turned, where negative values signify counterclockwise rotation and positive values signify clockwise rotation.
</p>
</div>
<br />
<div class="sdpi-item">
<div class="sdpi-item-label">Write to path</div>
<input id="file" oninput="update();" class="sdpi-item-value" />
</div>
<div class="sdpi-item">
<div class="sdpi-item-label">Show on key</div>
<input id="show" type="checkbox" oninput="update();" class="sdpi-item-value" />
<label for="show"><span></span></label>
</div>
</body>
</html>

View File

@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html lang="en">
<head>
<script>
let update = () => {};
function connectElgatoStreamDeckSocket(inPort, inPropertyInspectorUUID, inRegisterEvent, inInfo, inActionInfo) {
const websocket = new WebSocket("ws://localhost:" + inPort);
inActionInfo = JSON.parse(inActionInfo);
websocket.onopen = () => {
websocket.send(JSON.stringify({
event: inRegisterEvent,
uuid: inPropertyInspectorUUID,
}));
};
const device = document.getElementById("device");
device.value = inActionInfo.payload.settings.device ?? inActionInfo.device;
const profile = document.getElementById("profile");
profile.value = inActionInfo.payload.settings.profile ?? "Default";
update = () => {
websocket.send(JSON.stringify({
event: "setSettings",
context: inActionInfo.context,
payload: {
device: device.value ?? inActionInfo.device,
profile: profile.value,
},
}));
};
}
</script>
<link rel="stylesheet" href="sdpi.css" />
</head>
<body>
<div class="sdpi-item">
<div class="sdpi-item-label">Device ID</div>
<input id="device" oninput="update();" class="sdpi-item-value" />
</div>
<div class="sdpi-item">
<div class="sdpi-item-label">Profile</div>
<input id="profile" oninput="update();" class="sdpi-item-value" />
</div>
</body>
</html>