Files
ArteKaffee/ArteKaffee.ahk
T

97 lines
1.8 KiB
AutoHotkey
Raw Normal View History

2026-07-23 15:09:02 +02:00
#Requires AutoHotkey v2.0
#SingleInstance Force
Persistent
CorrectPassword := "Kaffeebohne"
result := InputBox(
"Bitte Passwort eingeben:",
"Authentifizierung",
"Password w200 h90"
)
if (result.Result != "OK") {
ExitApp()
}
if (result.Value != CorrectPassword) {
MsgBox("Falsches Passwort!", "Fehler", "Iconx")
ExitApp()
}
global IdleTime := 240 ; seconds
global Enabled := true
global LastX := 0
global LastY := 0
global LastMoveTime := A_TickCount
MouseGetPos &LastX, &LastY
; Create tray menu
A_TrayMenu.Delete()
A_TrayMenu.Add("Enabled", ToggleEnabled)
A_TrayMenu.Add()
A_TrayMenu.Add("Set idle time...", SetIdleTime)
A_TrayMenu.Add()
A_TrayMenu.Add("Exit", (*) => ExitApp())
UpdateTray()
; Check mouse every second
SetTimer(CheckMouse, 20000)
; ----------------------
CheckMouse() {
global Enabled, IdleTime, LastX, LastY, LastMoveTime
if !Enabled
return
MouseGetPos &x, &y
if (x != LastX || y != LastY) {
LastX := x
LastY := y
LastMoveTime := A_TickCount
return
}
if (A_TickCount - LastMoveTime >= IdleTime * 1000) {
MouseMove x + 1, y, 0
MouseMove x, y, 0
LastMoveTime := A_TickCount
}
}
ToggleEnabled(*) {
global Enabled
Enabled := !Enabled
UpdateTray()
}
SetIdleTime(*) {
global IdleTime
result := InputBox("Enter idle time in seconds:", "Mouse mover settings", "w200 h90", IdleTime)
if result.Result = "OK" && IsNumber(result.Value) {
IdleTime := Integer(result.Value)
}
}
UpdateTray() {
global Enabled
if Enabled {
A_TrayMenu.Check("Enabled")
A_IconTip := "Mouse Mover - Active"
} else {
A_TrayMenu.Uncheck("Enabled")
A_IconTip := "Mouse Mover - Disabled"
}
}