From 681468ea7f56624ca869e7ba859f4457a8412cc3 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 8 May 2025 23:01:45 +0200 Subject: added kinesis360 keyboard hotkeys --- AutoHotkey/staggered_hotkeys.ahk | 265 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 AutoHotkey/staggered_hotkeys.ahk (limited to 'AutoHotkey/staggered_hotkeys.ahk') diff --git a/AutoHotkey/staggered_hotkeys.ahk b/AutoHotkey/staggered_hotkeys.ahk new file mode 100644 index 0000000..2f349d6 --- /dev/null +++ b/AutoHotkey/staggered_hotkeys.ahk @@ -0,0 +1,265 @@ +#SingleInstance Force +global NavMode := false +UserPath := EnvGet("USERPROFILE") +syncPath := EnvGet("SYNC") +DetectHiddenWindows true +CapsLock & l::Send "^{Space}" +CapsLock & u::Send "^u" +CapsLock & i::Send "{Tab}" +CapsLock & q::Send "!{F4}" +CapsLock & e::Send "^{Tab}" +CapsLock & d::Send "^d" +CapsLock & p::Send "^p" +CapsLock & n::Send "^n" +CapsLock & c::Send "^c" +CapsLock & Space::Send "^!l" + +#SuspendExempt +^!o::Suspend ; Ctrl+Alt+o +#SuspendExempt False +;Windows Terminal +CapsLock & j:: +{ + ; Check if Windows Terminal is running + if WinExist("ahk_exe WindowsTerminal.exe" ) + { + ; If Windows Terminal is already in the foreground, minimize it + if WinActive("ahk_exe WindowsTerminal.exe" ) + { + WinMinimize("ahk_exe WindowsTerminal.exe") + } + else + { + ; If Windows Terminal is running but not in the foreground, bring it to the foreground + WinActivate("ahk_exe WindowsTerminal.exe") + } + } + else + { + ; If Windows Terminal is not running, launch it + Run(UserPath . "\scoop\apps\windows-terminal\current\WindowsTerminal.exe") + } +} + +;Emacs +CapsLock & k:: +{ + + ; Check if Emacs is running + if WinExist("ahk_class Emacs ahk_exe emacs.exe") + { + ; If Emacs is already in the foreground, minimize it + if WinActive("ahk_class Emacs ahk_exe emacs.exe") + { + WinMinimize("ahk_class Emacs ahk_exe emacs.exe") + } + else + { + ; If Emacs is running but not in the foreground, bring it to the foreground + WinActivate("ahk_class Emacs ahk_exe emacs.exe" ) + } + } + else + { + ; If Emacs is not running, launch it + Run(UserPath . "\scoop\apps\emacs\current\bin\emacsclientw.exe -c") + } +} +;Obsidian +CapsLock & g:: +{ + + ; Check if Obsidian is running + if WinExist("ahk_class Chrome_WidgetWin_1 ahk_exe Obsidian.exe") + { + ; If Obsidian is already in the foreground, minimize it + if WinActive("ahk_class Chrome_WidgetWin_1 ahk_exe Obsidian.exe") + { + WinMinimize("ahk_class Chrome_WidgetWin_1 ahk_exe Obsidian.exe") + } + else + { + ; If Obsidian is running but not in the foreground, bring it to the foreground + WinActivate("ahk_class Chrome_WidgetWin_1 ahk_exe Obsidian.exe" ) + } + } + else + { + ; If Obsidian is not running, launch it + Run(UserPath . "\scoop\apps\obsidian\current\Obsidian.exe") + } +} +;Zotero +CapsLock & o:: +{ + + ; Check if Zotero is running + if WinExist("ahk_class MozillaWindowClass ahk_exe zotero.exe") + { + ; If Zotero is already in the foreground, minimize it + if WinActive("ahk_class MozillaWindowClass ahk_exe zotero.exe") + { + WinMinimize("ahk_class MozillaWindowClass ahk_exe zotero.exe") + } + else + { + ; If Zotero is running but not in the foreground, bring it to the foreground + WinActivate("ahk_class MozillaWindowClass ahk_exe zotero.exe" ) + } + } + else + { + ; If Zotero is not running, launch it + Run(UserPath . "\scoop\apps\zotero\current\zotero.exe") + } +} +;Telegram +CapsLock & t:: +{ + + ; Check if Telegram is running + if WinExist("ahk_exe Telegram.exe") + { + ; If Telegram is already in the foreground, minimize it + if WinActive("ahk_exe Telegram.exe") + { + WinMinimize("ahk_exe Telegram.exe") + } + else + { + ; If Telegram is running but not in the foreground, bring it to the foreground + WinActivate("Telegram" ) + } + } +} + +;Browser +CapsLock & r:: +{ + + ; Check if Browser is running + if WinExist("ahk_class MozillaWindowClass ahk_exe librewolf.exe") + { + ; If Browser is already in the foreground, minimize it + if WinActive("ahk_class MozillaWindowClass ahk_exe librewolf.exe") + { + WinMinimize("ahk_class MozillaWindowClass ahk_exe librewolf.exe") + } + else + { + ; If Browser is running but not in the foreground, bring it to the foreground + WinActivate("ahk_class MozillaWindowClass ahk_exe librewolf.exe" ) + } + } + else + { + ; If Browser is not running, launch it + Run(UserPath . "\scoop\apps\librewolf\current\LibreWolf-Portable.exe") + } +} +;Audacious +CapsLock & m:: +{ + + ; Check if Audacious is running + if WinExist("ahk_class Qt672QWindowIcon ahk_exe audacious.exe") + { + ; If Audacious is already in the foreground, minimize it + if WinActive("ahk_class Qt672QWindowIcon ahk_exe audacious.exe") + { + WinMinimize("ahk_class Qt672QWindowIcon ahk_exe audacious.exe") + } + else + { + ; If Audacious is running but not in the foreground, bring it to the foreground + WinActivate("ahk_class Qt672QWindowIcon ahk_exe audacious.exe" ) + } + } + else + { + ; If Audacious is not running, launch it + Run(UserPath . "\scoop\apps\audacious\current\bin\audacious.exe") + } +} +;Bookmark Finder +CapsLock & f:: +{ + ; Run the batch file + Run(syncPath . "\Repos\Windows\Batch_tools\bookmarkfinder\bookmarkfinder.bat") +} + +;AI +CapsLock & h:: +{ + + ; Check if AI is running + if WinExist("Claude") + { + ; If AI is already in the foreground, minimize it + if WinActive("Claude") + { + WinMinimize("Claude") + } + else + { + ; If AI is running but not in the foreground, bring it to the foreground + WinActivate("Claude") + } + } + else + { + ; If AI is not running, launch it + Run("Claude.exe") + } +} +;Task Switcher +CapsLock & w::{ +global NavMode := true +Send "^!{Tab}" +} +#HotIf NavMode +Capslock & q:: +{ + global NavMode := false + Send "{Esc}" + return +} + +Enter:: +{ + global NavMode := false + Send "{Enter}" ; Confirm selection + return +} + +; Navigate up/down (between windows) +j:: +{ + Send "{Down}" + return +} + +q:: +{ + Send "^w" + return +} +k:: +{ + Send "{Up}" + return +} + +; Navigate left/right (between windows) +h:: +{ + Send "{Left}" + return +} + +l:: +{ + Send "{Right}" + return +} +#HotIf -- cgit v1.2.3