aboutsummaryrefslogtreecommitdiff
path: root/unix/sys/keep_guest_awake.sh
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2025-09-24 05:25:39 +0200
committersrdusr <trevorgray@srdusr.com>2025-09-24 05:25:39 +0200
commita1627ac743289e768b138f1a60753a62e0869cc4 (patch)
tree92ab373442943f621bb26b3b284bb1da90e2923a /unix/sys/keep_guest_awake.sh
parentfdb0eb921205c34fb6ff5728727a097767ffae5a (diff)
downloaddotfiles-a1627ac743289e768b138f1a60753a62e0869cc4.tar.gz
dotfiles-a1627ac743289e768b138f1a60753a62e0869cc4.zip
Update/Overhaul
Diffstat (limited to 'unix/sys/keep_guest_awake.sh')
-rwxr-xr-xunix/sys/keep_guest_awake.sh84
1 files changed, 0 insertions, 84 deletions
diff --git a/unix/sys/keep_guest_awake.sh b/unix/sys/keep_guest_awake.sh
deleted file mode 100755
index 13d839b..0000000
--- a/unix/sys/keep_guest_awake.sh
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/bin/bash
-
-# Host-side script to keep QEMU guest display awake without triggering anything
-# and handle Windows key logic (disable it in the guest, map Caps Lock to Windows key).
-
-MONITOR_SOCKET_DIR="$HOME/machines/vm"
-QEMU_CLASS="qemu-system-x86_64"
-SEND_CMD_MONITOR="sendkey f15"
-SEND_CMD_XDO="key --clearmodifiers F15"
-DISABLE_WINDOWS_KEY_CMD="sendkey meta_l NoSymbol" # Using ctrl_l as a placeholder
-CAPS_LOCK_CMD="sendkey meta_l" # Remapped Caps Lock to Super_L (Windows key)
-
-## Function to disable the Windows key and remap Caps Lock to Super_L
-#disable_windows_key_and_remap_caps_lock() {
-# shopt -s nullglob
-# sockets=("$MONITOR_SOCKET_DIR"/*.socket)
-# shopt -u nullglob
-#
-# for socket in "${sockets[@]}"; do
-# # Get VM name from socket file
-# VM_NAME=$(basename "$socket" .socket)
-# VM_NAME=${VM_NAME%-serial}
-#
-# # Send QMP command to disable Windows key (Super_L key press/remap)
-# qmp_command='{"execute": "device_key_press", "arguments": {"dev": "virtio-keyboard-pci", "key": "capslock"}}'
-# echo "$qmp_command" | socat - "UNIX-CONNECT:$socket" >/dev/null
-#
-# # Send QMP command to remap Caps Lock to Super_L (Windows key)
-# qmp_command='{"execute": "guest-execute", "arguments": {"path": "/usr/bin/xmodmap", "arg": ["-e", "keycode 66 = Super_L"]}}'
-# echo "$qmp_command" | socat - "UNIX-CONNECT:$socket" >/dev/null
-#
-# # Optional: Disable Super_L key (Windows key)
-# qmp_command='{"execute": "guest-execute", "arguments": {"path": "/usr/bin/xmodmap", "arg": ["-e", "keycode 133 = NoSymbol"]}}'
-# echo "$qmp_command" | socat - "UNIX-CONNECT:$socket" >/dev/null
-# done
-#}
-
-# Function to keep the guest display awake by sending F15 key press
-keep_guest_display_awake() {
- shopt -s nullglob
- sockets=("$MONITOR_SOCKET_DIR"/*.socket)
- shopt -u nullglob
-
- if [ ${#sockets[@]} -eq 0 ]; then
- sleep 30
- return
- fi
-
- focused_qemu=false
-
- if command -v xdotool >/dev/null 2>&1; then
- active_win_id=$(xdotool getwindowfocus 2>/dev/null)
- if [ "$active_win_id" != "" ]; then
- active_class=$(xdotool getwindowclassname "$active_win_id" 2>/dev/null)
- if [[ "$active_class" == "$QEMU_CLASS" ]]; then
- focused_qemu=true
- fi
- fi
- fi
-
- if "$focused_qemu"; then
- # QEMU is focused → send F15 via xdotool
- #xdotool "$SEND_CMD_XDO"
- echo ""
-
- else
- # QEMU is not focused → send F15 via monitor
- for socket in "${sockets[@]}"; do
- echo "$SEND_CMD_MONITOR" | socat - "UNIX-CONNECT:$socket"
- done
- fi
-}
-
-# Main loop
-while true; do
- # Handle Windows key remapping and Caps Lock disablement
- #disable_windows_key_and_remap_caps_lock
-
- # Keep the guest display awake
- keep_guest_display_awake
-
- # Sleep before next cycle
- sleep 30
-done