diff --git a/src/html/index.html b/src/html/index.html
index 117ddaa..70be3b2 100644
--- a/src/html/index.html
+++ b/src/html/index.html
@@ -162,6 +162,7 @@
+
diff --git a/src/ts/main.ts b/src/ts/main.ts
index a49ff73..bff7fec 100644
--- a/src/ts/main.ts
+++ b/src/ts/main.ts
@@ -45,6 +45,7 @@ const elements = {
adminInputVMID: document.getElementById("adminInputVMID") as HTMLInputElement,
badPasswordAlert: document.getElementById("badPasswordAlert") as HTMLDivElement,
incorrectPasswordDismissBtn: document.getElementById("incorrectPasswordDismissBtn") as HTMLButtonElement,
+ ctrlAltDelBtn: document.getElementById("ctrlAltDelBtn") as HTMLButtonElement,
// Admin
staffbtns: document.getElementById("staffbtns") as HTMLDivElement,
restoreBtn: document.getElementById("restoreBtn") as HTMLButtonElement,
@@ -633,6 +634,21 @@ elements.screenshotButton.addEventListener('click', () => {
open(URL.createObjectURL(blob!), '_blank');
})
});
+elements.ctrlAltDelBtn.addEventListener('click', () => {
+ if (!VM) return;
+ // Ctrl
+ VM?.key(0xffe3, true);
+ // Alt
+ VM?.key(0xffe9, true);
+ // Del
+ VM?.key(0xffff, true);
+ // Ctrl
+ VM?.key(0xffe3, false);
+ // Alt
+ VM?.key(0xffe9, false);
+ // Del
+ VM?.key(0xffff, false);
+});
elements.voteResetButton.addEventListener('click', () => VM?.vote(true));
elements.voteYesBtn.addEventListener('click', () => VM?.vote(true));
elements.voteNoBtn.addEventListener('click', () => VM?.vote(false));