diff --git a/assets/kinto-black.ico b/assets/kinto-black.ico new file mode 100644 index 0000000..9d3a1f9 Binary files /dev/null and b/assets/kinto-black.ico differ diff --git a/assets/kinto-color-black.ico b/assets/kinto-color-black.ico new file mode 100644 index 0000000..8d7df56 Binary files /dev/null and b/assets/kinto-color-black.ico differ diff --git a/assets/kinto-color.ico b/assets/kinto-color.ico new file mode 100644 index 0000000..c4f9023 Binary files /dev/null and b/assets/kinto-color.ico differ diff --git a/assets/kinto-white.ico b/assets/kinto-white.ico new file mode 100644 index 0000000..1bf3848 Binary files /dev/null and b/assets/kinto-white.ico differ diff --git a/setup.py b/setup.py index 39027b1..0357728 100755 --- a/setup.py +++ b/setup.py @@ -7,39 +7,46 @@ from prekinto import * homedir = os.path.expanduser("~") def windows_setup(): - keymaps = ["Apple keyboard standard", "Apple keyboard w/ Caps lock as Esc", "Windows keyboard standard", "Windows keyboard w/ Caps lock as Esc","Uninstall"] + keymaps = ["Apple keyboard standard", "Windows keyboard standard","Uninstall"] for index, item in enumerate(keymaps): print(" %i. %s" % (index+1, item.capitalize())) default = 0 while not int(default) in range(1,len(keymaps)+1): default = int(input("\nPlease enter your desired keymap (1 - " + str(len(keymaps)) + ") : ")) print("") + # Short DOS path notation path= cmdline('echo %cd%')[:-1] + print("Copying autohotkey combinations for Terminals & Editors...") + os.system("copy /Y " + path + "\\windows\\kinto.ahk " + path + "\\windows\\kinto-new.ahk") if default == 1: - os.system("regedit " + path + "\\windows\\macbook_winctrl_swap.reg") + os.system('perl -pi -e "s/(; )(.*)(; MacModifiers)/$2$3/g" ./windows/kinto-new.ahk') + # os.system("regedit " + path + "\\windows\\macbook_winctrl_swap.reg") elif default == 2: - os.system("regedit " + path + "\\windows\\macbook_winctrl_capsesc_swap.reg") + os.system('perl -pi -e "s/(; )(.*)(; WinModifiers)/$2$3/g" ./windows/kinto-new.ahk') + # os.system("regedit " + path + "\\windows\\standard_ctrlalt_swap.reg") elif default == 3: - os.system("regedit " + path + "\\windows\\standard_ctrlalt_swap.reg") - elif default == 4: - os.system("regedit " + path + "\\windows\\standard_ctrlalt_capsesc_swap.reg") - elif default == 5: os.system("regedit " + path + "\\windows\\remove_keyswap.reg") stvscode = yn_choice(bcolors.CYELLOW2 + "Would you like to use Sublime Text 3 keymaps in VS Code?\n" + bcolors.ENDC) - if default > 0 and default < 5: + if default > 0 and default < 3: print("Will now install chocolatey and autohotkey with elevated privileges...") print("This install will fail if you are not running with elevated privileges") os.system('powershell -executionpolicy bypass ".\\windows\\autohotkey.ps1"') os.system('refreshenv') print("\nWill now install Ubuntu Terminal Theme as default...") os.system("regedit " + path + "\\windows\\theme_ubuntu.reg") - print("Copying autohotkey combinations for Terminals & Editors...") - os.system("copy /Y " + path + "\\windows\\kinto.ahk " + path + "\\windows\\kinto-new.ahk") if(stvscode): os.system('perl -pi -e "s/(; )(.*)(; ST2CODE)/$2$3/g" ./windows/kinto-new.ahk') - os.system("copy /Y " + path + "\\windows\\kinto-new.ahk \"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\kinto.ahk\"") + os.system('copy /Y ' + path + '\\windows\\kinto-start.vbs "%userprofile%\\.kinto\\kinto-start.vbs"') + os.system('mklink "%userprofile%\\Start Menu\\Programs\\Startup\\kinto-start.vbs" "%userprofile%\\.kinto\\kinto-start.vbs"') + os.system('cp '+ path + '\\windows\\NoShell.vbs "%userprofile%\\.kinto\\NoShell.vbs"') + os.system('cp '+ path + '\\windows\\toggle_kb.bat "%userprofile%\\.kinto\\toggle_kb.bat"') + os.system('cp '+ path + '\\windows\\kinto-new.ahk "%userprofile%\\.kinto\\kinto.ahk"') + os.system('robocopy '+ path + '\\assets "%userprofile%\\.kinto\\assets" /E') os.system("del /f .\\windows\\kinto-new.ahk") - print("\nPlease log off and back on for changes to take full effect.") + os.system("del \"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\kinto.ahk\"") + os.system("%userprofile%\\AppData\\Roaming\\Microsoft\\Windows\\STARTM~1\\Programs\\Startup\\kinto-start.vbs") + + # # print("\nPlease log off and back on for changes to take full effect.") print("If using WSL then please remember to right click on title bar -> Properties -> Edit Options -> Use Ctrl+Shift+C/V as Copy/Paste and enable it.") else: os.system("del \"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\kinto.ahk\"") diff --git a/windows/NoShell.vbs b/windows/NoShell.vbs new file mode 100644 index 0000000..bb05151 --- /dev/null +++ b/windows/NoShell.vbs @@ -0,0 +1,14 @@ +If WScript.Arguments.Count >= 1 Then + ReDim arr(WScript.Arguments.Count-1) + prog = WScript.Arguments(0) + For i = 1 To WScript.Arguments.Count-1 + Arg = WScript.Arguments(i) + If InStr(Arg, " ") > 1 Then Arg = """" & Arg & """" + arr(i) = Arg + Next + + RunCmd = Join(arr) + ' CreateObject("Wscript.Shell").Run RunCmd, 0, True + Set oShell = CreateObject("Shell.Application") + oShell.ShellExecute prog, RunCmd, , "runas", 0 +End If \ No newline at end of file diff --git a/windows/kinto-start.vbs b/windows/kinto-start.vbs new file mode 100644 index 0000000..fbe1078 --- /dev/null +++ b/windows/kinto-start.vbs @@ -0,0 +1,7 @@ +Set oShell = CreateObject("Shell.Application") +Set wShell = WScript.CreateObject("WScript.Shell") +Set fso = CreateObject("Scripting.FileSystemObject") + +path = wShell.ExpandEnvironmentStrings("%userprofile%") +strFolder = fso.BuildPath(path, "\.kinto\kinto.ahk") +oShell.ShellExecute "C:\Program Files\AutoHotkey\AutoHotkey.exe", strFolder, , "runas", 0 \ No newline at end of file diff --git a/windows/kinto.ahk b/windows/kinto.ahk index e3e9ac7..00f4029 100644 --- a/windows/kinto.ahk +++ b/windows/kinto.ahk @@ -1,42 +1,51 @@ -; Cmd Tab For App Switching -; LWin & Tab::AltTab -; RWin & Tab::AltTab +#SingleInstance force +#NoEnv +#Persistent -; New AltTab and CtrlTab fix -*tab:: -{ - if (GetKeyState("LCtrl", "P") AND GetKeyState("LShift", "P") = false) { - Send {LAlt up}{LCtrl down}{tab} - KeyWait, tab - } else if (GetKeyState("LCtrl", "P") AND GetKeyState("LShift", "P")) { - Send {LAlt up}{LShift down}{LCtrl down}{tab} - KeyWait, tab - } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P") = false) { - Send {LAlt down}{tab} - KeyWait, tab - } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P")) { - Send {LShift down}{LAlt down}{tab} - KeyWait, tab - } else { - send {tab} - } - return +I_Icon = %A_ScriptDir%\assets\kinto-white.ico +IfExist, %I_Icon% +Menu, Tray, Icon, %I_Icon% + +; Set Tray menu +; Menu, Tray, Standard +Menu, Tray, NoStandard ; to remove default menu +Menu, Tray, Add, Set Windows Keyboard, winkb +Menu, Tray, Add, Set Apple Keyboard, mackb +Menu, Tray, Add, Suspend Kinto, tray_suspend +Menu, Tray, Add, Returns to Desktop, min +Menu, Tray, Add +Menu, Tray, Add, Close, Exit +Menu, Tray, Click, 1 +Menu, Tray, Tip, Kinto + +winkb(){ + Run, %A_ScriptDir%\NoShell.vbs %A_ScriptDir%\toggle_kb.bat win, %A_ScriptDir% } -; Basic Remap -; -; Primary::LCtrl -; Secondary::LAlt -; Tertiary::LWin +mackb(){ + Run, %A_ScriptDir%\NoShell.vbs %A_ScriptDir%\toggle_kb.bat mac, %A_ScriptDir% +} -$LCtrl::LWin -$LWin::LCtrl -; Hack to disable start menu on winkey -$LCtrl up::Send {Ctrl down}{LWin up}{Ctrl up} +min(){ +; Refocus last active Window +Send {LAlt down}{tab}{LAlt up} +} -; temporary hack to ensure keys don't get stuck -; impacts Alt-Tab fix -$LWin up::Send {LAlt up}{LCtrl up} +tray_suspend(){ + suspend toggle + if (a_isSuspended = 1){ + menu, tray, check , Suspend Kinto + } + else{ + menu, tray, unCheck, Suspend Kinto + } + ; Refocus last active Window + Send {LAlt down}{tab}{LAlt up} +} + +Exit() { + ExitApp +} SetTitleMatchMode, 2 @@ -47,6 +56,7 @@ GroupAdd, terminals, ahk_exe powershell.exe GroupAdd, terminals, ahk_exe WindowsTerminal.exe GroupAdd, terminals, ahk_exe Hyper.exe GroupAdd, terminals, ahk_exe Cmd.exe +GroupAdd, terminals, ahk_exe Terminus.exe GroupAdd, terminals, Fluent Terminal ahk_class ApplicationFrameWindow GroupAdd, posix, ahk_exe ubuntu.exe @@ -54,6 +64,7 @@ GroupAdd, posix, ahk_exe ConEmu.exe GroupAdd, posix, ahk_exe ConEmu64.exe GroupAdd, posix, ahk_exe Hyper.exe GroupAdd, posix, ahk_exe mintty.exe +GroupAdd, terminals, ahk_exe Terminus.exe GroupAdd, posix, Fluent Terminal ahk_class ApplicationFrameWindow GroupAdd, ConEmu, ahk_exe ConEmu.exe @@ -67,7 +78,79 @@ GroupAdd, editors, ahk_exe Code.exe GroupAdd, vscode, ahk_exe VSCodium.exe GroupAdd, vscode, ahk_exe Code.exe -; Close Apps +GroupAdd, vstudio, ahk_exe devenv.exe + +; New AltTab and CtrlTab fix +*tab:: +{ + ; Tertiary + if (GetKeyState("LCtrl", "P") AND GetKeyState("LShift", "P") = false) { + ; Secondary + ; Send {LCtrl down}{Secondary up}{tab} +; Send {LCtrl down}{LWin up}{tab} ; WinModifiers +; Send {LCtrl down}{LAlt up}{tab} ; MacModifiers + KeyWait, tab + ; Tertiary + } else if (GetKeyState("LCtrl", "P") AND GetKeyState("LShift", "P")) { + ; Secondary + ; Send {LCtrl down}{Secondary up}{LShift down}{tab} +; Send {LCtrl down}{LWin up}{LShift down}{tab} ; WinModifiers +; Send {LCtrl down}{LAlt up}{LShift down}{tab} ; MacModifiers + KeyWait, tab + ; Primary +; } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P") = false) { ; WinModifiers +; } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P") = false) { ; MacModifiers + Send {LAlt down}{tab} + KeyWait, tab + ; Primary +; } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P")) { ; WinModifiers +; } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P")) { ; MacModifiers + Send {LAlt down}{LShift down}{tab} + KeyWait, tab + ; Secondary +; } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P")) = false { ; WinModifiers +; } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P") = false) { ; MacModifiers + return + ; Secondary +; } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P")) { ; WinModifiers +; } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P")) { ; MacModifiers + return + } else { + send {Blind}{tab} + } + return +} + +tab::Send {tab} + ++tab::Send {Shift down}{tab}{Shift up} + +; Basic Remap +; +; Primary::LCtrl +; Secondary::LAlt +; Tertiary::LWin + +; $LAlt::LCtrl ; WinModifiers +; $RAlt::RCtrl ; WinModifiers +; $LWin::LAlt ; WinModifiers +; $LCtrl::LWin ; WinModifiers + +; $LWin::LCtrl ; MacModifiers +; $RWin::RCtrl ; MacModifiers +; $LCtrl::LWin ; MacModifiers + +; Hack to disable start menu on winkey +; Static +$LCtrl up::Send {Ctrl down}{LWin up}{Ctrl up} + +; temporary hack to ensure keys don't get stuck +; impacts Alt-Tab fix +; Primary +; $LAlt up::Send {LWin up}{LAlt up}{LCtrl up} ; WinModifiers +; $LWin up::Send {LWin up}{LAlt up}{LCtrl up} ; MacModifiers + +; Close Apps ^q::Send !{F4} ; Emoji Panel @@ -97,134 +180,112 @@ $^+Right::Send +{End} ; Cmd+Space Alternative ^Space::Send ^{Esc} -; ^Space::run AppName - -; ; Ctrl Tab for In-App Tab Switching -; ; https://autohotkey.com/board/topic/72433-controltab/ -; #if GetKeyState("LWin") -; *Tab:: -; if(!GetKeyState("LControl")) -; Send {LControl Down} -; Send {Tab} -; SetTimer, WaitForWinUp, 10 -; ToolTip trigger -; return - -; WaitForWinUp: -; if(!GetKeyState("LWin", "P")) -; { -; Send {LControl Up} -; SetTimer, WaitForWinUp, Off -; } -; return ; ; Sublime Text Remaps for VS Code -; #IfWinActive ahk_group vscode ; ST2CODE -; ; Remap Ctrl+Shift to behave like macOS Sublimetext -; ; Will extend cursor to multiple lines -; #+Up::send ^!{Up} ; ST2CODE -; #+Down::send ^!{Down} ; ST2CODE -; ; Remap Ctrl+Cmd+G to select all matches -; #^g::send ^+{L} ; ST2CODE -; #If ; ST2CODE +#IfWinActive ahk_group vscode ; ST2CODE + ; Remap Ctrl+Shift to behave like macOS Sublimetext + ; Will extend cursor to multiple lines + #+Up::send ^!{Up} ; ST2CODE + #+Down::send ^!{Down} ; ST2CODE + ; Remap Ctrl+Cmd+G to select all matches + #^g::send ^+{L} ; ST2CODE +#If ; ST2CODE #IfWinActive ahk_exe sublime_text.exe - ; Remap Ctrl+Shift to behave like macOS Sublimetext - ; Will extend cursor to multiple lines - #+Up::send {shift up}^!{Up} - #+Down::send {shift up}^!{Down} + ; Remap Ctrl+Shift to behave like macOS Sublimetext + ; Will extend cursor to multiple lines + #+Up::send {shift up}^!{Up} + #+Down::send {shift up}^!{Down} - ; Remap Ctrl+Cmd+G to select all matches - #^g::send !{F3} + ; Remap Ctrl+Cmd+G to select all matches + #^g::send !{F3} #If -; #IfWinActive ahk_group terminals -; ; Copy -; ^c::Send {LCtrl down}{LShift down}c{LCtrl Up}{LShift Up} -; #c::Send {LCtrl down}c{LCtrl Up} -; ; Paste -; $^v:: -; If not WinActive("ahk_group ConEmu") && not WinActive("ahk_exe cmd.exe"){ -; Send {LCtrl down}{LShift down}v{LCtrl Up}{LShift Up} -; } -; else{ -; Send ^v -; } -; return -; #If +#IfWinActive ahk_group terminals + ; Copy + ^c:: + SetKeyDelay -1 + Send {Blind}{LShift down}{c DownTemp} + return -; #IfWinActive ahk_group posix -; ; Open/Close Tab for those that support it -; $^t:: -; If not WinActive("ahk_group ConEmu"){ -; Send {LCtrl down}{LShift down}t{LCtrl Up}{LShift Up} -; } -; else{ -; Send ^t -; } -; return + ^c up:: + SetKeyDelay -1 + Send {Blind}{c Up}{LShift Up} + return -; $^w:: -; If not WinActive("ahk_group ConEmu"){ -; Send {LCtrl down}{LShift down}w{LCtrl Up}{LShift Up} -; } -; else{ -; Send ^w -; } -; return + ; Sigints - interrupt + $#c::Send {Ctrl down}c{Ctrl up} -; ; End of Line -; #e::Send {LCtrl down}e{LCtrl Up} -; ^e::return -; ; Beginning of Line -; #a::Send {LCtrl down}a{LCtrl Up} -; ^a::return -; ;^l::Send clear{Enter} -; ;#l::return -; ; Clear Terminal and Scroll Buffer -; ^k::Send clear && printf '\e[3J'{Enter} -; ; Nano editor shortcuts -; #k::Send {LCtrl down}k{LCtrl Up} -; #x::Send {LCtrl down}x{LCtrl Up} -; #o::Send {LCtrl down}o{LCtrl Up} -; #r::Send {LCtrl down}r{LCtrl Up} -; #w::Send {LCtrl down}w{LCtrl Up} -; #\::Send {LCtrl down}\{LCtrl Up} -; #u::Send {LCtrl down}u{LCtrl Up} -; #j::Send {LCtrl down}j{LCtrl Up} -; #t::Send {LCtrl down}t{LCtrl Up} -; #_::Send {LCtrl down}_{LCtrl Up} -; #z::Send {LCtrl down}z{LCtrl Up} -; #If + ; Paste + ^v:: + If WinActive("ahk_group posix"){ + Send {Blind}{Shift down}v{Shift up} + } + else{ + Send {Blind}v + } + return +#If -; ; #IfWinActive ahk_group ConEmu -; ; ; Paste -; ; $^v::Send {Shift down}{Insert}{Shift Up} -; ; #v::Send {LCtrl down}v{LCtrl Up} -; ; #If +#IfWinActive ahk_group posix + ; Open/Close Tab for those that support it + $^t:: + If not WinActive("ahk_group ConEmu"){ + Send {LCtrl down}{LShift down}t{LCtrl Up}{LShift Up} + } + else{ + Send ^t + } + return -; #IfWinActive ahk_exe mintty.exe -; ; Copy -; $^c::Send {Control down}{Insert}{Control Up} -; #c::Send {LCtrl down}c{LCtrl Up} -; ; Paste -; $^v::Send {Shift down}{Insert}{Shift Up} -; #v::Send {LCtrl down}v{LCtrl Up} -; #If + $^w:: + If not WinActive("ahk_group ConEmu"){ + Send {LCtrl down}{LShift down}w{LCtrl Up}{LShift Up} + } + else{ + Send ^w + } + return -; ;Disable win + l key locking (This line must come before any hotkey assignments in the .ahk file) + ; End of Line + ^e:: + SetKeyDelay -1 + Send {Blind}{e DownTemp} + return -; ; Admin privileges required -; ; Sets Workstation Lock to not occur on Win+L -; ; RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 1 + ^e up:: + SetKeyDelay -1 + Send {Blind}{e Up} + return -; ; Re-enables Workstation lock on Ctrl+Cmd+Q -; ; Need to Remove Quick Assist and reboot -; ; Remove-WindowsCapability -online -name App.Support.QuickAssist~~~~0.0.1.0 -; #^q:: -; ; re-enable locking workstation, then lock it -; ; RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 0 -; ; DllCall("LockWorkStation") -; ; Reload script to relock Workstation Lock -; ; Reload -; ;return \ No newline at end of file + ; Beginning of Line + ^a:: + SetKeyDelay -1 + Send {Blind}{a DownTemp} + return + + ^a up:: + SetKeyDelay -1 + Send {Blind}{a Up} + return + + ^l::Send clear{Enter} + ; #l::return + ; Clear Terminal and Scroll Buffer + ^k::Send clear && printf '\e[3J'{Enter} + ; Nano editor shortcuts + #g::Send {LCtrl down}g{LCtrl Up} + #k::Send {LCtrl down}k{LCtrl Up} + #x::Send {LCtrl down}x{LCtrl Up} + #o::Send {LCtrl down}o{LCtrl Up} + #r::Send {LCtrl down}r{LCtrl Up} + #w::Send {LCtrl down}w{LCtrl Up} + #\::Send {LCtrl down}\{LCtrl Up} + #u::Send {LCtrl down}u{LCtrl Up} + #j::Send {LCtrl down}j{LCtrl Up} + #t::Send {LCtrl down}t{LCtrl Up} + #_::Send {LCtrl down}_{LCtrl Up} + #z::Send {LCtrl down}z{LCtrl Up} + #y::Send {LCtrl down}y{LCtrl Up} + #v::Send {LCtrl down}v{LCtrl Up} +#If \ No newline at end of file diff --git a/windows/mac_kinto.ahk b/windows/mac_kinto.ahk deleted file mode 100644 index 4443889..0000000 --- a/windows/mac_kinto.ahk +++ /dev/null @@ -1,254 +0,0 @@ -SetTitleMatchMode, 2 - -GroupAdd, terminals, ahk_exe ubuntu.exe -GroupAdd, terminals, ahk_exe ConEmu.exe -GroupAdd, terminals, ahk_exe ConEmu64.exe -GroupAdd, terminals, ahk_exe powershell.exe -GroupAdd, terminals, ahk_exe WindowsTerminal.exe -GroupAdd, terminals, ahk_exe Hyper.exe -GroupAdd, terminals, ahk_exe Cmd.exe -GroupAdd, terminals, ahk_exe Terminus.exe -GroupAdd, terminals, Fluent Terminal ahk_class ApplicationFrameWindow - -GroupAdd, posix, ahk_exe ubuntu.exe -GroupAdd, posix, ahk_exe ConEmu.exe -GroupAdd, posix, ahk_exe ConEmu64.exe -GroupAdd, posix, ahk_exe Hyper.exe -GroupAdd, posix, ahk_exe mintty.exe -GroupAdd, posix, ahk_exe Terminus.exe -GroupAdd, posix, Fluent Terminal ahk_class ApplicationFrameWindow - -GroupAdd, ConEmu, ahk_exe ConEmu.exe -GroupAdd, ConEmu, ahk_exe ConEmu64.exe -GroupAdd, ConEmu, ahk_exe WindowsTerminal.exe - -GroupAdd, editors, ahk_exe sublime_text.exe -GroupAdd, editors, ahk_exe VSCodium.exe -GroupAdd, editors, ahk_exe Code.exe - -GroupAdd, vscode, ahk_exe VSCodium.exe -GroupAdd, vscode, ahk_exe Code.exe - -; New AltTab and CtrlTab fix -*tab:: -{ - if (GetKeyState("LCtrl", "P") AND GetKeyState("LShift", "P") = false) { - Send {LCtrl down}{LAlt up}{tab} - KeyWait, tab - } else if (GetKeyState("LCtrl", "P") AND GetKeyState("LShift", "P")) { - Send {LCtrl down}{LAlt up}{LShift down}{tab} - KeyWait, tab - ; } else if (GetKeyState("Primary", "P") AND GetKeyState("LShift", "P") = false) { - } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P") = false) { - Send {LAlt down}{tab} - KeyWait, tab - ; } else if (GetKeyState("Primary", "P") AND GetKeyState("LShift", "P")) { - } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P")) { - Send {LAlt down}{LShift down}{tab} - KeyWait, tab - ; } else if (GetKeyState("Secondary", "P") AND GetKeyState("LShift", "P") = false) { - } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P") = false) { - return - ; ; } else if (GetKeyState("Secondary", "P") AND GetKeyState("LShift", "P")) { - } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P")) { - return - } else { - send {Blind}{tab} - } - return -} - -tab::Send {tab} - -+tab::Send {Shift down}{tab}{Shift up} - -; Basic Remap -; -; Primary::LCtrl -; Secondary::LAlt -; Tertiary::LWin - -$LCtrl::LWin -$LWin::LCtrl - -; Hack to disable start menu on winkey -; $LCtrl up::Send {Ctrl down}{Primary up}{Ctrl up} -$LCtrl up::Send {Ctrl down}{LWin up}{Ctrl up} - -; temporary hack to ensure keys don't get stuck -; impacts Alt-Tab fix -; Primary up::Send {LAlt up}{LCtrl up} -$LWin up::Send {LWin up}{LAlt up}{LCtrl up} - -; Close Apps -^q::Send !{F4} - -; Emoji Panel -#^Space::Send {LWin down};{LWin up} - -; Full Screenshot -^+3::Send {PrintScreen} - -; Region Screenshot -^+4::Send #+{S} - -; wordwise support -$^Left::Send {Home} -$^+Left::Send +{Home} -$^Right::Send {End} -$^+Right::Send +{End} -^Up::Send ^{Home} -^+Up::Send ^+{Home} -^Down::Send ^{End} -^+Down::Send ^+{End} -^Backspace::Send +{Home}{Delete} -!Backspace::Send ^{Backspace} -!Left::Send ^{Left} -!+Left::Send ^+{Left} -!Right::Send ^{Right} -!+Right::Send ^+{Right} - -; Cmd+Space Alternative -^Space::Send ^{Esc} - -; ; Sublime Text Remaps for VS Code -#IfWinActive ahk_group vscode ; ST2CODE - ; Remap Ctrl+Shift to behave like macOS Sublimetext - ; Will extend cursor to multiple lines - #+Up::send ^!{Up} ; ST2CODE - #+Down::send ^!{Down} ; ST2CODE - ; Remap Ctrl+Cmd+G to select all matches - #^g::send ^+{L} ; ST2CODE -#If ; ST2CODE - -#IfWinActive ahk_exe sublime_text.exe - ; Remap Ctrl+Shift to behave like macOS Sublimetext - ; Will extend cursor to multiple lines - #+Up::send {shift up}^!{Up} - #+Down::send {shift up}^!{Down} - - ; Remap Ctrl+Cmd+G to select all matches - #^g::send !{F3} -#If - -#IfWinActive ahk_group terminals - ; Copy - ^c:: - SetKeyDelay -1 - Send {Blind}{LShift down}{c DownTemp} - return - - ^c up:: - SetKeyDelay -1 - Send {Blind}{c Up}{LShift Up} - return - - ; Sigints - interrupt - $#c::Send {Ctrl down}c{Ctrl up} - - ; Paste - ^v:: - If WinActive("ahk_group posix"){ - Send {Blind}{Shift down}v{Shift up} - } - else{ - Send {Blind}v - } - return - -#If - -#IfWinActive ahk_group posix - ; Open/Close Tab for those that support it - $^t:: - If not WinActive("ahk_group ConEmu"){ - Send {LCtrl down}{LShift down}t{LCtrl Up}{LShift Up} - } - else{ - Send ^t - } - return - - $^w:: - If not WinActive("ahk_group ConEmu"){ - Send {LCtrl down}{LShift down}w{LCtrl Up}{LShift Up} - } - else{ - Send ^w - } - return - - ; End of Line - ^e:: - SetKeyDelay -1 - Send {Blind}{e DownTemp} - return - - ^e up:: - SetKeyDelay -1 - Send {Blind}{e Up} - return - - ; Beginning of Line - ^a:: - SetKeyDelay -1 - Send {Blind}{a DownTemp} - return - - ^a up:: - SetKeyDelay -1 - Send {Blind}{a Up} - return - - ^l::Send clear{Enter} - ; #l::return - ; Clear Terminal and Scroll Buffer - ^k::Send clear && printf '\e[3J'{Enter} - ; Nano editor shortcuts - #g::Send {LCtrl down}g{LCtrl Up} - #k::Send {LCtrl down}k{LCtrl Up} - #x::Send {LCtrl down}x{LCtrl Up} - #o::Send {LCtrl down}o{LCtrl Up} - #r::Send {LCtrl down}r{LCtrl Up} - #w::Send {LCtrl down}w{LCtrl Up} - #\::Send {LCtrl down}\{LCtrl Up} - #u::Send {LCtrl down}u{LCtrl Up} - #j::Send {LCtrl down}j{LCtrl Up} - #t::Send {LCtrl down}t{LCtrl Up} - #_::Send {LCtrl down}_{LCtrl Up} - #z::Send {LCtrl down}z{LCtrl Up} - #y::Send {LCtrl down}y{LCtrl Up} - #v::Send {LCtrl down}v{LCtrl Up} -#If - -; #IfWinActive ahk_group ConEmu -; ; Paste -; $^v::Send {Shift down}{Insert}{Shift Up} -; #v::Send {LCtrl down}v{LCtrl Up} -; #If - -; #IfWinActive ahk_exe mintty.exe -; ; Copy -; $^c::Send {Control down}{Insert}{Control Up} -; #c::Send {LCtrl down}c{LCtrl Up} -; ; Paste -; $^v::Send {Shift down}{Insert}{Shift Up} -; #v::Send {LCtrl down}v{LCtrl Up} -; #If - -;Disable win + l key locking (This line must come before any hotkey assignments in the .ahk file) - -; Admin privileges required -; Sets Workstation Lock to not occur on Win+L -; RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 1 - -; Re-enables Workstation lock on Ctrl+Cmd+Q -; Need to Remove Quick Assist and reboot -; Remove-WindowsCapability -online -name App.Support.QuickAssist~~~~0.0.1.0 -; #^q:: -; re-enable locking workstation, then lock it -; RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 0 -; DllCall("LockWorkStation") -; Reload script to relock Workstation Lock -; Reload -;return \ No newline at end of file diff --git a/windows/toggle_kb.bat b/windows/toggle_kb.bat new file mode 100644 index 0000000..8cd118e --- /dev/null +++ b/windows/toggle_kb.bat @@ -0,0 +1,22 @@ +@echo off + +IF "%1"=="mac" goto mac +IF "%1"=="win" goto win + +echo Not found. +goto commonexit + +:win +perl -pi -e "s/(; )(.*)(; WinModifiers)/$2$3/g" "%userprofile%\.kinto\kinto.ahk" +perl -pi -e "s/^(?!;)(.*)(; MacModifiers)/; $1$2/gm" "%userprofile%\.kinto\kinto.ahk" +"C:\Program Files\AutoHotkey\AutoHotkey.exe" "%userprofile%\.kinto\kinto.ahk" +goto commonexit + +:mac +perl -pi -e "s/(; )(.*)(; MacModifiers)/$2$3/g" "%userprofile%\.kinto\kinto.ahk" +perl -pi -e "s/^(?!;)(.*)(; WinModifiers)/; $1$2/gm" "%userprofile%\.kinto\kinto.ahk" +"C:\Program Files\AutoHotkey\AutoHotkey.exe" "%userprofile%\.kinto\kinto.ahk" +goto commonexit + +:commonexit +exit \ No newline at end of file diff --git a/windows/win_kinto.ahk b/windows/win_kinto.ahk deleted file mode 100644 index 8a7ce58..0000000 --- a/windows/win_kinto.ahk +++ /dev/null @@ -1,258 +0,0 @@ -SetTitleMatchMode, 2 - -GroupAdd, terminals, ahk_exe ubuntu.exe -GroupAdd, terminals, ahk_exe ConEmu.exe -GroupAdd, terminals, ahk_exe ConEmu64.exe -GroupAdd, terminals, ahk_exe powershell.exe -GroupAdd, terminals, ahk_exe WindowsTerminal.exe -GroupAdd, terminals, ahk_exe Hyper.exe -GroupAdd, terminals, ahk_exe Cmd.exe -GroupAdd, terminals, Fluent Terminal ahk_class ApplicationFrameWindow - -GroupAdd, posix, ahk_exe ubuntu.exe -GroupAdd, posix, ahk_exe ConEmu.exe -GroupAdd, posix, ahk_exe ConEmu64.exe -GroupAdd, posix, ahk_exe Hyper.exe -GroupAdd, posix, ahk_exe mintty.exe -GroupAdd, posix, Fluent Terminal ahk_class ApplicationFrameWindow - -GroupAdd, ConEmu, ahk_exe ConEmu.exe -GroupAdd, ConEmu, ahk_exe ConEmu64.exe -GroupAdd, ConEmu, ahk_exe WindowsTerminal.exe - -GroupAdd, editors, ahk_exe sublime_text.exe -GroupAdd, editors, ahk_exe VSCodium.exe -GroupAdd, editors, ahk_exe Code.exe - -GroupAdd, vscode, ahk_exe VSCodium.exe -GroupAdd, vscode, ahk_exe Code.exe - -; New AltTab and CtrlTab fix -*tab:: -{ - ; if (GetKeyState("Tertiary", "P") AND GetKeyState("LShift", "P") = false) { - if (GetKeyState("LCtrl", "P") AND GetKeyState("LShift", "P") = false) { - ; Send {LCtrl down}{Secondary up}{tab} - Send {LCtrl down}{LWin up}{tab} - KeyWait, tab - ; } else if (GetKeyState("Tertiary", "P") AND GetKeyState("LShift", "P")) { - } else if (GetKeyState("LCtrl", "P") AND GetKeyState("LShift", "P")) { - ; Send {LCtrl down}{Secondary up}{LShift down}{tab} - Send {LCtrl down}{LWin up}{LShift down}{tab} - KeyWait, tab - ; return - ; } else if (GetKeyState("Primary", "P") AND GetKeyState("LShift", "P") = false) { - } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P") = false) { - Send {LAlt down}{tab} - KeyWait, tab - ; ; } else if (GetKeyState("Primary", "P") AND GetKeyState("LShift", "P")) { - } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P")) { - Send {LAlt down}{LShift down}{tab} - KeyWait, tab - ; } else if (GetKeyState("Secondary", "P") AND GetKeyState("LShift", "P")) { - } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P")) = false { - return - ; } else if (GetKeyState("Secondary", "P") AND GetKeyState("LShift", "P")) { - } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P")) { - return - } else { - send {Blind}{tab} - } - return -} - -tab::Send {tab} - -+tab::Send {Shift down}{tab}{Shift up} - -; Basic Remap -; -; Primary::LCtrl -; Secondary::LAlt -; Tertiary::LWin - -$LAlt::LCtrl -$LWin::LAlt -$LCtrl::LWin - -; Hack to disable start menu on winkey -; $LCtrl up::Send {Ctrl down}{LWin up}{Ctrl up} -$LCtrl up::Send {Ctrl down}{LWin up}{Ctrl up} - -; temporary hack to ensure keys don't get stuck -; impacts Alt-Tab fix -; Primary up::Send {LAlt up}{LCtrl up} -$LAlt up::Send {LWin up}{LAlt up}{LCtrl up} -; $LWin up::Send {LWin down}{LAlt up}{LCtrl up}{LWin up} - -; Close Apps -^q::Send !{F4} - -; Emoji Panel -#^Space::Send {LWin down};{LWin up} - -; Full Screenshot -^+3::Send {PrintScreen} - -; Region Screenshot -^+4::Send #+{S} - -; wordwise support -$^Left::Send {Home} -$^+Left::Send +{Home} -$^Right::Send {End} -$^+Right::Send +{End} -^Up::Send ^{Home} -^+Up::Send ^+{Home} -^Down::Send ^{End} -^+Down::Send ^+{End} -^Backspace::Send +{Home}{Delete} -!Backspace::Send ^{Backspace} -!Left::Send ^{Left} -!+Left::Send ^+{Left} -!Right::Send ^{Right} -!+Right::Send ^+{Right} - -; Cmd+Space Alternative -^Space::Send ^{Esc} - -; ; Sublime Text Remaps for VS Code -#IfWinActive ahk_group vscode ; ST2CODE - ; Remap Ctrl+Shift to behave like macOS Sublimetext - ; Will extend cursor to multiple lines - #+Up::send ^!{Up} ; ST2CODE - #+Down::send ^!{Down} ; ST2CODE - ; Remap Ctrl+Cmd+G to select all matches - #^g::send ^+{L} ; ST2CODE -#If ; ST2CODE - -#IfWinActive ahk_exe sublime_text.exe - ; Remap Ctrl+Shift to behave like macOS Sublimetext - ; Will extend cursor to multiple lines - #+Up::send {shift up}^!{Up} - #+Down::send {shift up}^!{Down} - - ; Remap Ctrl+Cmd+G to select all matches - #^g::send !{F3} -#If - -#IfWinActive ahk_group terminals - ; Copy - ^c:: - SetKeyDelay -1 - Send {Ctrl down}{Shift down}{c DownTemp} - return - - ^c up:: - SetKeyDelay -1 - Send {c Up}{Ctrl up}{Shift up} - return - - ; Sigints - interrupt - $#c::Send {Ctrl down}c{Ctrl up} - - ; Paste - ^v:: - If WinActive("ahk_group posix"){ - Send {Blind}{Shift down}v{Shift up} - } - else{ - Send {Blind}v - } - return -#If - -#IfWinActive ahk_group posix - ; Open/Close Tab for those that support it - $^t:: - If not WinActive("ahk_group ConEmu"){ - Send {LCtrl down}{LShift down}t{LCtrl Up}{LShift Up} - } - else{ - Send ^t - } - return - - $^w:: - If not WinActive("ahk_group ConEmu"){ - Send {LCtrl down}{LShift down}w{LCtrl Up}{LShift Up} - } - else{ - Send ^w - } - return - - ; End of Line - ^e:: - SetKeyDelay -1 - Send {Blind}{e DownTemp} - return - - ^e up:: - SetKeyDelay -1 - Send {Blind}{e Up} - return - - ; Beginning of Line - ^a:: - SetKeyDelay -1 - Send {Blind}{a DownTemp} - return - - ^a up:: - SetKeyDelay -1 - Send {Blind}{a Up} - return - - ^l::Send clear{Enter} - ; #l::return - ; Clear Terminal and Scroll Buffer - ^k::Send clear && printf '\e[3J'{Enter} - ; Nano editor shortcuts - #g::Send {LCtrl down}g{LCtrl Up} - #k::Send {LCtrl down}k{LCtrl Up} - #x::Send {LCtrl down}x{LCtrl Up} - #o::Send {LCtrl down}o{LCtrl Up} - #r::Send {LCtrl down}r{LCtrl Up} - #w::Send {LCtrl down}w{LCtrl Up} - #\::Send {LCtrl down}\{LCtrl Up} - #u::Send {LCtrl down}u{LCtrl Up} - #j::Send {LCtrl down}j{LCtrl Up} - #t::Send {LCtrl down}t{LCtrl Up} - #_::Send {LCtrl down}_{LCtrl Up} - #z::Send {LCtrl down}z{LCtrl Up} - #y::Send {LCtrl down}y{LCtrl Up} - #v::Send {LCtrl down}v{LCtrl Up} -#If - -; #IfWinActive ahk_group ConEmu -; ; Paste -; $^v::Send {Shift down}{Insert}{Shift Up} -; #v::Send {LCtrl down}v{LCtrl Up} -; #If - -; #IfWinActive ahk_exe mintty.exe -; ; Copy -; $^c::Send {Control down}{Insert}{Control Up} -; #c::Send {LCtrl down}c{LCtrl Up} -; ; Paste -; $^v::Send {Shift down}{Insert}{Shift Up} -; #v::Send {LCtrl down}v{LCtrl Up} -; #If - -;Disable win + l key locking (This line must come before any hotkey assignments in the .ahk file) - -; Admin privileges required -; Sets Workstation Lock to not occur on Win+L -; RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 1 - -; Re-enables Workstation lock on Ctrl+Cmd+Q -; Need to Remove Quick Assist and reboot -; Remove-WindowsCapability -online -name App.Support.QuickAssist~~~~0.0.1.0 -; #^q:: -; re-enable locking workstation, then lock it -; RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 0 -; DllCall("LockWorkStation") -; Reload script to relock Workstation Lock -; Reload -;return \ No newline at end of file