Spaces:
Runtime error
Runtime error
da03
commited on
Commit
·
9d14994
1
Parent(s):
9147f8e
- static/index.html +6 -27
static/index.html
CHANGED
|
@@ -322,9 +322,6 @@
|
|
| 322 |
let timeoutCountdown = 10;
|
| 323 |
let timeoutWarningActive = false;
|
| 324 |
|
| 325 |
-
// Track currently pressed keys
|
| 326 |
-
const pressedKeys = new Set();
|
| 327 |
-
|
| 328 |
function startAutoInput() {
|
| 329 |
if (autoInputInterval) {
|
| 330 |
clearInterval(autoInputInterval);
|
|
@@ -479,17 +476,17 @@
|
|
| 479 |
stopTimeoutCountdown();
|
| 480 |
}
|
| 481 |
|
| 482 |
-
function sendInputState(x, y, isLeftClick = false, isRightClick = false) {
|
| 483 |
const currentTime = Date.now();
|
| 484 |
-
if (isConnected && socket.readyState === WebSocket.OPEN && (isLeftClick || isRightClick || !lastSentPosition || currentTime - lastSentTime >= SEND_INTERVAL)) {
|
| 485 |
try {
|
| 486 |
socket.send(JSON.stringify({
|
| 487 |
"x": x,
|
| 488 |
"y": y,
|
| 489 |
"is_left_click": isLeftClick,
|
| 490 |
"is_right_click": isRightClick,
|
| 491 |
-
"keys_down":
|
| 492 |
-
"keys_up":
|
| 493 |
}));
|
| 494 |
lastSentPosition = { x, y };
|
| 495 |
lastSentTime = currentTime;
|
|
@@ -580,42 +577,24 @@
|
|
| 580 |
document.addEventListener("keydown", function (event) {
|
| 581 |
if (!isConnected || isProcessing) return;
|
| 582 |
|
| 583 |
-
// Add the key to our set of pressed keys
|
| 584 |
-
pressedKeys.add(event.key);
|
| 585 |
-
|
| 586 |
// Get the current mouse position
|
| 587 |
let rect = canvas.getBoundingClientRect();
|
| 588 |
let x = lastSentPosition ? lastSentPosition.x : canvas.width / 2;
|
| 589 |
let y = lastSentPosition ? lastSentPosition.y : canvas.height / 2;
|
| 590 |
|
| 591 |
-
sendInputState(x, y);
|
| 592 |
});
|
| 593 |
|
| 594 |
document.addEventListener("keyup", function (event) {
|
| 595 |
if (!isConnected || socket.readyState !== WebSocket.OPEN) return;
|
| 596 |
|
| 597 |
-
// Remove the key from our set of pressed keys
|
| 598 |
-
pressedKeys.delete(event.key);
|
| 599 |
-
|
| 600 |
// Get the current mouse position
|
| 601 |
let rect = canvas.getBoundingClientRect();
|
| 602 |
let x = lastSentPosition ? lastSentPosition.x : canvas.width / 2;
|
| 603 |
let y = lastSentPosition ? lastSentPosition.y : canvas.height / 2;
|
| 604 |
|
| 605 |
// For key up events, we send the key in the keys_up array
|
| 606 |
-
|
| 607 |
-
socket.send(JSON.stringify({
|
| 608 |
-
"x": x,
|
| 609 |
-
"y": y,
|
| 610 |
-
"is_left_click": false,
|
| 611 |
-
"is_right_click": false,
|
| 612 |
-
"keys_down": Array.from(pressedKeys),
|
| 613 |
-
"keys_up": [event.key],
|
| 614 |
-
}));
|
| 615 |
-
updateLastUserInputTime(); // Update for auto-input mechanism
|
| 616 |
-
} catch (error) {
|
| 617 |
-
console.error("Error sending key up event:", error);
|
| 618 |
-
}
|
| 619 |
});
|
| 620 |
|
| 621 |
// Graceful disconnection
|
|
|
|
| 322 |
let timeoutCountdown = 10;
|
| 323 |
let timeoutWarningActive = false;
|
| 324 |
|
|
|
|
|
|
|
|
|
|
| 325 |
function startAutoInput() {
|
| 326 |
if (autoInputInterval) {
|
| 327 |
clearInterval(autoInputInterval);
|
|
|
|
| 476 |
stopTimeoutCountdown();
|
| 477 |
}
|
| 478 |
|
| 479 |
+
function sendInputState(x, y, isLeftClick = false, isRightClick = false, keysDownArr = [], keysUpArr = []) {
|
| 480 |
const currentTime = Date.now();
|
| 481 |
+
if (isConnected && socket.readyState === WebSocket.OPEN && (isLeftClick || isRightClick || keysDownArr.length > 0 || keysUpArr.length > 0 || !lastSentPosition || currentTime - lastSentTime >= SEND_INTERVAL)) {
|
| 482 |
try {
|
| 483 |
socket.send(JSON.stringify({
|
| 484 |
"x": x,
|
| 485 |
"y": y,
|
| 486 |
"is_left_click": isLeftClick,
|
| 487 |
"is_right_click": isRightClick,
|
| 488 |
+
"keys_down": keysDownArr,
|
| 489 |
+
"keys_up": keysUpArr,
|
| 490 |
}));
|
| 491 |
lastSentPosition = { x, y };
|
| 492 |
lastSentTime = currentTime;
|
|
|
|
| 577 |
document.addEventListener("keydown", function (event) {
|
| 578 |
if (!isConnected || isProcessing) return;
|
| 579 |
|
|
|
|
|
|
|
|
|
|
| 580 |
// Get the current mouse position
|
| 581 |
let rect = canvas.getBoundingClientRect();
|
| 582 |
let x = lastSentPosition ? lastSentPosition.x : canvas.width / 2;
|
| 583 |
let y = lastSentPosition ? lastSentPosition.y : canvas.height / 2;
|
| 584 |
|
| 585 |
+
sendInputState(x, y, false, false, [event.key], []);
|
| 586 |
});
|
| 587 |
|
| 588 |
document.addEventListener("keyup", function (event) {
|
| 589 |
if (!isConnected || socket.readyState !== WebSocket.OPEN) return;
|
| 590 |
|
|
|
|
|
|
|
|
|
|
| 591 |
// Get the current mouse position
|
| 592 |
let rect = canvas.getBoundingClientRect();
|
| 593 |
let x = lastSentPosition ? lastSentPosition.x : canvas.width / 2;
|
| 594 |
let y = lastSentPosition ? lastSentPosition.y : canvas.height / 2;
|
| 595 |
|
| 596 |
// For key up events, we send the key in the keys_up array
|
| 597 |
+
sendInputState(x, y, false, false, [], [event.key]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 598 |
});
|
| 599 |
|
| 600 |
// Graceful disconnection
|