Compare commits

...

42 Commits

Author SHA1 Message Date
Ben Reaves
139cff181f Merge pull request #280 from rbreaves/hotfix
- Fixes copy/paste for cmd/mintty in Win10
2020-09-29 04:09:28 -05:00
Ben Reaves
d642966ba8 - Fixes copy/paste for cmd/mintty in Win10 2020-09-29 04:06:28 -05:00
Ben Reaves
7fe35cdec3 Merge pull request #270 from rbreaves/hotfix
- Added virtualbox fix
2020-08-25 04:35:25 -05:00
Ben Reaves
e702e461ac Merge pull request #269 from rbreaves/hotfix
- Added VS Code Quick File List traversing. #264
2020-08-25 04:22:44 -05:00
Ben Reaves
45e637a2a6 - Added virtualbox fix 2020-08-25 04:15:07 -05:00
Ben Reaves
a4dca21c22 - Added VS Code Quick File List traversing 2020-08-25 04:10:07 -05:00
Ben Reaves
efe01c94d4 Merge pull request #268 from rbreaves/hotfix
- Additional fixes for Windows 10 user profile spaces
2020-08-24 14:31:40 -05:00
Ben Reaves
0a5c526941 - Additional fixes for Windows 10 user profile spaces 2020-08-24 14:30:50 -05:00
Ben Reaves
0c7ca8586b Merge pull request #267 from rbreaves/hotfix
- Adds Windows 10 Support for spaces in user profile, code completion fix.
2020-08-24 03:59:11 -05:00
Ben Reaves
b1c361080a - Prevents physical Ctrl+Space from remapping into Ctrl+Esc, aka start menu. #264 2020-08-24 03:57:22 -05:00
Ben Reaves
b1d5aa68f3 - Added support for user profiles with spaces under Windows 10. Closes #266 2020-08-24 03:50:16 -05:00
Ben Reaves
4dd1c26563 Merge pull request #265 from rbreaves/hotfix
- Added manual code completion for vscode and sublimetext. Closes #264
2020-08-24 01:51:11 -05:00
Ben Reaves
c38cccdb44 - Added manual code completion for vscode and sublimetext. Closes #264 2020-08-24 01:49:30 -05:00
Ben Reaves
558e86dd78 Merge pull request #258 from matteron/FixAltBackspaces
Fixing Alt + Backspace on Windows
2020-08-12 14:20:54 -05:00
Schiano, Mattia
463730fe1b Making autohotkey hotkey for ctrl + backspace only read raw keyboard input to prevent alt + backspace from triggering ctrl + backspace 2020-08-11 15:51:50 -04:00
Ben Reaves
be0f2e67bb Merge branch 'dev' 2020-08-03 15:43:50 -05:00
Ben Reaves
2270ea5d0d - Enabled left clicks on Kinto system tray in Windows 2020-08-03 03:10:51 -05:00
Ben Reaves
7e69d6c03f Merge pull request #251 from rbreaves/dev
- Added missing intellij grouping for Windows 10
2020-07-30 02:54:20 -05:00
Ben Reaves
6f83fafc66 Merge branch 'master' into dev 2020-07-30 02:53:21 -05:00
Ben Reaves
eab147bd88 - Added missing intellij grouping for Windows 10 2020-07-30 02:52:54 -05:00
Ben Reaves
c4dcd3febc Update README.md 2020-07-24 01:43:30 -05:00
Ben Reaves
7c289b7d0c Update README.md 2020-07-24 01:22:21 -05:00
Ben Reaves
48ef1c596a Merge pull request #246 from rbreaves/dev
- Corrected Minimize all but current window
2020-07-22 23:09:44 -05:00
Ben Reaves
8c677e8ef0 - Corrected Minimize all but current window 2020-07-22 23:08:23 -05:00
Ben Reaves
bd8ea9c4e1 Merge pull request #245 from rbreaves/dev
- IntelliJ corrections, Minimize & Hide Additions for Windows 10
2020-07-22 22:48:16 -05:00
Ben Reaves
9df95e8b8d - Added 3 variations of hide combos for Windows 10 2020-07-22 22:46:42 -05:00
Ben Reaves
e654929d1e - Added show desktop, minimize windows and fixed syntax issues (Windows only) 2020-07-22 20:03:25 -05:00
Ben Reaves
f1b37a8cbd Merge pull request #244 from rbreaves/dev
- Adds budgie message and windows terminal hotkeys
2020-07-21 17:59:42 -05:00
Ben Reaves
f922caff78 - Added Beginning and End of line for terminals on Windows 10 more generically 2020-07-21 17:42:42 -05:00
Ben Reaves
68173fb5b6 Merge branch 'master' into dev 2020-07-21 17:39:59 -05:00
Ben Reaves
53f320e0b9 Update README.md 2020-07-16 13:03:54 -05:00
Ben Reaves
dfec4f7eb1 Update README.md 2020-07-16 11:19:29 -05:00
Ben Reaves
1fb5bf2a4b - Added budgie message for user to reset cmd-tab 2020-07-12 21:10:10 -05:00
Ben Reaves
656e2fafc9 Merge pull request #241 from rbreaves/dev
- Added proper shortcut re-apply fix for mate and budgie
2020-07-12 00:47:12 -05:00
Ben Reaves
3af5eb286d - Added proper shortcut re-apply fix for mate and budgie 2020-07-12 00:45:24 -05:00
Ben Reaves
3945d5c29e Merge pull request #240 from rbreaves/dev
- Corrected kinto.py syntax and url for budgie-daemon
2020-07-12 00:19:40 -05:00
Ben Reaves
afefc5b0f1 - Corrected kinto.py syntax and url for budgie-daemon 2020-07-12 00:12:43 -05:00
Ben Reaves
b66f2c591a Merge pull request #239 from rbreaves/dev
- Added IntelliJ remaps, minor eOS fix, alias busting on which, fixed uninstaller, improved budgie support
2020-07-11 17:36:56 -05:00
Ben Reaves
e12c51f98f - Added IntelliJ remaps to Linux 2020-07-11 17:32:24 -05:00
Ben Reaves
8690436629 - Updated which to avoid alias overrides, Ubuntu Budgie Tab Switching support improvements, Uninstaller updated. 2020-07-11 15:46:50 -05:00
Ben Reaves
0eadd9b3a4 - Skip xkb modifications if install type is xkeysnail. Closes #238 2020-07-08 18:17:22 -05:00
Ben Reaves
1d6d367c39 - Added sigint Ctrl-C for VS Code & IntelliJ keymaps for Windows 2020-07-08 17:44:48 -05:00
9 changed files with 569 additions and 299 deletions

View File

@@ -61,7 +61,7 @@ Kinto works for standard Windows, Apple and Chromebook keyboards. The following
## What's different? ## What's different?
Compared to most other remappers ***this is a complete system-wide remap of your base level modifier keys*** , this saves time. You're not going to die a death of thousand papercuts from trying to support every shortcut key under the sun. Compared to most other remappers ***this is a complete system-wide remap of your base level modifier keys***, this saves time. You're not going to die a death of a thousand papercuts from trying to support every shortcut key under the sun.
It also retains some of the most commonly used system level shortcut keys, such as Cmd-C/V, Cmd-Tab, and Ctrl-Tab among others. You will keep seamless copy & paste between all apps, ability to switch Windows while still using the physical Cmd/Alt key position; switch tabs in your favorite terminals, code editors, or web browsers. Depending on your OS and/or Desktop Environment you may also be able to switch Virtual Desktop environments the same way as well and other basic system level shortcuts. It also retains some of the most commonly used system level shortcut keys, such as Cmd-C/V, Cmd-Tab, and Ctrl-Tab among others. You will keep seamless copy & paste between all apps, ability to switch Windows while still using the physical Cmd/Alt key position; switch tabs in your favorite terminals, code editors, or web browsers. Depending on your OS and/or Desktop Environment you may also be able to switch Virtual Desktop environments the same way as well and other basic system level shortcuts.
@@ -79,9 +79,11 @@ Additionally, if you are using a cross-platform app and if it happens to have a
- Fedora/RHEL (may not work w/ xkeysnail, but original xkb version does) - Fedora/RHEL (may not work w/ xkeysnail, but original xkb version does)
- xkeysnail (Recommended, but optional) - xkeysnail (Recommended, but optional)
Note: Budgie DE's, so Ubuntu Budgie, appears to have a bug where keybinds may not save across reboots. Please reset the Cmd+Tab keymap before rebooting to ensure it remembers that setting. I will remove this once the issue is resolved.
*IBus is needed to support wordwise during browser app usage as the keymap will need to change slightly depending if the cursor/caret is on screen waiting for input. Setup.py will set it but you can manually set it as well or check your current Input Method. *IBus is needed to support wordwise during browser app usage as the keymap will need to change slightly depending if the cursor/caret is on screen waiting for input. Setup.py will set it but you can manually set it as well or check your current Input Method.
On most distros you can confirm navigate to your "Language Support" and set "Keyboard input method system:" to IBus for full word-wise support with web browsers. On most distros you can confirm Input Methods by navigating to "Language Support" and set "Keyboard input method system:" to IBus for full word-wise support with web browsers.
Wayland support is planned, but not ready yet. Wayland support is planned, but not ready yet.

View File

@@ -5,6 +5,7 @@ from subprocess import PIPE, Popen
from prekinto import * from prekinto import *
homedir = os.path.expanduser("~") homedir = os.path.expanduser("~")
kintotype = 0
def windows_setup(): def windows_setup():
keymaps = ["Apple keyboard standard", "Windows keyboard standard","Uninstall"] keymaps = ["Apple keyboard standard", "Windows keyboard standard","Uninstall"]
@@ -15,13 +16,13 @@ def windows_setup():
default = int(input("\nPlease enter your desired keymap (1 - " + str(len(keymaps)) + ") : ")) default = int(input("\nPlease enter your desired keymap (1 - " + str(len(keymaps)) + ") : "))
print("") print("")
# Short DOS path notation # Short DOS path notation
path= cmdline('echo %cd%')[:-1] path= cmdline('echo ''%cd%''')[:-1]
if default > 0 and default < 3: if default > 0 and default < 3:
print("Will now install chocolatey and autohotkey with elevated privileges...") print("Will now install chocolatey and autohotkey with elevated privileges...")
print("This install will fail if you are not running 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('powershell -executionpolicy bypass ".\\windows\\autohotkey.ps1"')
print("Copying autohotkey combinations for Terminals & Editors...") print("Copying autohotkey combinations for Terminals & Editors...")
os.system("copy /Y " + path + "\\windows\\kinto.ahk " + path + "\\windows\\kinto-new.ahk") os.system('copy /Y "' + path + '\\windows\\kinto.ahk" "' + path + '\\windows\\kinto-new.ahk"')
if default == 1: if default == 1:
os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; MacModifiers)/$2$3/g" .\\windows\\kinto-new.ahk') os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; MacModifiers)/$2$3/g" .\\windows\\kinto-new.ahk')
elif default == 2: elif default == 2:
@@ -35,27 +36,28 @@ def windows_setup():
print("Ending any running Kinto tasks...") print("Ending any running Kinto tasks...")
os.system("(taskkill /IM autohotkey.exe) 2> nul") os.system("(taskkill /IM autohotkey.exe) 2> nul")
print("Removing Kinto from users profile directory...") print("Removing Kinto from users profile directory...")
os.system('(rd /s /q %userprofile%\\.kinto) 2> nul') os.system('(rd /s /q "%userprofile%\\.kinto") 2> nul')
print("") print("")
print("Uninstall of Kinto is Complete.") print("Uninstall of Kinto is Complete.")
if default > 0 and default < 3: if default > 0 and default < 3:
stvscode = yn_choice(bcolors.CYELLOW2 + "Would you like to use Sublime Text 3 keymaps in VS Code?\n" + bcolors.ENDC) stvscode = yn_choice(bcolors.CYELLOW2 + "Would you like to use Sublime Text 3 keymaps in VS Code?\n" + bcolors.ENDC)
print("\nWill now install Ubuntu Termimnal Theme as default...") print("\nWill now install Ubuntu Termimnal Theme as default...")
os.system("regedit " + path + "\\windows\\theme_ubuntu.reg") os.system('regedit "' + path + '\\windows\\theme_ubuntu.reg"')
os.system('robocopy '+ path + '\\assets "%userprofile%\\.kinto\\assets" /E') os.system('robocopy "'+ path + '\\assets" "%userprofile%\\.kinto\\assets" /E')
if(stvscode): if(stvscode):
os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; ST2CODE)/$2$3/g" .\\windows\\kinto-new.ahk') os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; ST2CODE)/$2$3/g" .\\windows\\kinto-new.ahk')
os.system('copy /Y ' + path + '\\windows\\kinto-start.vbs "%userprofile%\\.kinto\\kinto-start.vbs') os.system('copy /Y "' + path + '\\windows\\kinto-start.vbs" "%userprofile%\\.kinto\\kinto-start.vbs"')
os.system('copy /Y ' + path + '\\windows\\usb.vbs "%userprofile%\\.kinto\\usb.vbs"') os.system('copy /Y "' + path + '\\windows\\usb.vbs" "%userprofile%\\.kinto\\usb.vbs"')
os.system('copy /Y ' + path + '\\windows\\detectUSB.ahk "%userprofile%\\.kinto\\detectUSB.ahk"') os.system('copy /Y "' + path + '\\windows\\detectUSB.ahk" "%userprofile%\\.kinto\\detectUSB.ahk"')
os.system('mklink "%userprofile%\\Start Menu\\Programs\\Startup\\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('copy /Y '+ path + '\\windows\\NoShell.vbs "%userprofile%\\.kinto\\NoShell.vbs"') os.system('copy /Y "'+ path + '\\windows\\NoShell.vbs" "%userprofile%\\.kinto\\NoShell.vbs"')
os.system('copy /Y '+ path + '\\windows\\toggle_kb.bat "%userprofile%\\.kinto\\toggle_kb.bat"') os.system('copy /Y "'+ path + '\\windows\\toggle_kb.bat" "%userprofile%\\.kinto\\toggle_kb.bat"')
os.system('copy /Y '+ path + '\\windows\\kinto-new.ahk "%userprofile%\\.kinto\\kinto.ahk"') os.system('copy /Y "'+ path + '\\windows\\kinto-new.ahk" "%userprofile%\\.kinto\\kinto.ahk"')
os.system("del /f .\\windows\\kinto-new.ahk") os.system("del /f .\\windows\\kinto-new.ahk")
os.system("del \"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\kinto.ahk\" 2> nul") os.system("del \"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\kinto.ahk\" 2> nul")
os.system("%userprofile%\\AppData\\Roaming\\Microsoft\\Windows\\STARTM~1\\Programs\\Startup\\kinto-start.vbs") userpath = cmdline('cmd /c for %A in ("%userprofile%") do @echo %~sA')[:-1]
print('Starting... "' + userpath + '\\AppData\\Roaming\\Microsoft\\Windows\\STARTM~1\\Programs\\Startup\\kinto-start.vbs"')
os.system('"' + userpath + '\\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("\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.") 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: else:
@@ -183,10 +185,11 @@ def setShortcuts():
cmdline("gsettings set org.gnome.desktop.wm.keybindings panel-main-menu \"['<Control><Shift>Space','<Super>Space']\"") cmdline("gsettings set org.gnome.desktop.wm.keybindings panel-main-menu \"['<Control><Shift>Space','<Super>Space']\"")
cmdline("gsettings set org.gnome.desktop.wm.keybindings minimize \"['<Super>h','<Alt>F9']\"") cmdline("gsettings set org.gnome.desktop.wm.keybindings minimize \"['<Super>h','<Alt>F9']\"")
cmdline("gsettings set org.gnome.desktop.wm.keybindings panel-main-menu \"['<Super>Space','<Primary>Space']\"") cmdline("gsettings set org.gnome.desktop.wm.keybindings panel-main-menu \"['<Super>Space','<Primary>Space']\"")
cmdline('perl -pi -e "s/(\/\/ )(.*)(\/\/ Elementary cmdtab)/\$2\$3/g" ~/.xkb/symbols/mac_term') if(kintotype == 2):
cmdline('perl -pi -e "s/(\w.*)(\/\/ Default cmdtab)/\/\/ \$1\$2/g" ~/.xkb/symbols/mac_term') cmdline('perl -pi -e "s/(\/\/ )(.*)(\/\/ Elementary cmdtab)/\$2\$3/g" ~/.xkb/symbols/mac_term')
cmdline('perl -pi -e "s/(\/\/ )(.*)(\/\/ Elementary cmdtab)/\$2\$3/g" ~/.xkb/symbols/mac_gui') cmdline('perl -pi -e "s/(\w.*)(\/\/ Default cmdtab)/\/\/ \$1\$2/g" ~/.xkb/symbols/mac_term')
cmdline('perl -pi -e "s/(\w.*)(\/\/ Default cmdtab)/\/\/ \$1\$2/g" ~/.xkb/symbols/mac_gui') cmdline('perl -pi -e "s/(\/\/ )(.*)(\/\/ Elementary cmdtab)/\$2\$3/g" ~/.xkb/symbols/mac_gui')
cmdline('perl -pi -e "s/(\w.*)(\/\/ Default cmdtab)/\/\/ \$1\$2/g" ~/.xkb/symbols/mac_gui')
# elif distro == "budgie" and dename == "gnome": # elif distro == "budgie" and dename == "gnome":
# print("Apply budgie shortcuts here") # print("Apply budgie shortcuts here")
elif (dename == "xfce"): elif (dename == "xfce"):
@@ -256,13 +259,15 @@ def setShortcuts():
print('distro: ' + distro + ' de: ' + dename) print('distro: ' + distro + ' de: ' + dename)
print(bcolors.CRED2 + "A supported OS and DE was not found, you may not have full system level shortcuts installed." + bcolors.ENDC) print(bcolors.CRED2 + "A supported OS and DE was not found, you may not have full system level shortcuts installed." + bcolors.ENDC)
print(bcolors.CRED2 + "You may want to find your DE or Window Manager settings and manually set Alt-Tab & other OS related shortcuts." + bcolors.ENDC) print(bcolors.CRED2 + "You may want to find your DE or Window Manager settings and manually set Alt-Tab & other OS related shortcuts." + bcolors.ENDC)
if dename == "gnome": if dename == "gnome" or dename == "mate" or dename == "budgie":
# Apply dconf update to make updates survive reboots # Apply dconf update to make updates survive reboots
cmdline('dconf dump /org/gnome/desktop/wm/keybindings/ > tempkb.conf') cmdline('dconf dump /org/gnome/desktop/wm/keybindings/ > tempkb.conf')
cmdline('dconf dump /org/gnome/mutter/keybindings/ > tempmt.conf') cmdline('dconf dump /org/gnome/mutter/keybindings/ > tempmt.conf')
cmdline('dconf load /org/gnome/desktop/wm/keybindings/ < tempkb.conf') cmdline('dconf load /org/gnome/desktop/wm/keybindings/ < tempkb.conf')
cmdline('dconf load /org/gnome/mutter/keybindings/ < tempmt.conf') cmdline('dconf load /org/gnome/mutter/keybindings/ < tempmt.conf')
cmdline('sleep 1 && rm -f ./tempkb.conf;rm -f ./tempmt.conf') cmdline('sleep 1 && rm -f ./tempkb.conf;rm -f ./tempmt.conf')
if dename == "budgie":
print('** Make sure to open Keyboard settings & reset "switch applications" to cmd+tab **')
# cmdline('dconf update') # cmdline('dconf update')
def Uninstall(): def Uninstall():
@@ -327,14 +332,14 @@ def Uninstall():
def kintoImpOne(): def kintoImpOne():
check_xbind = cmdline("which xbindkeys 2>/dev/null").strip() check_xbind = cmdline("\\which xbindkeys 2>/dev/null").strip()
check_xdotool = cmdline("which xdotool 2>/dev/null").strip() check_xdotool = cmdline("\\which xdotool 2>/dev/null").strip()
check_ibus = cmdline("which ibus-setup 2>/dev/null").strip() check_ibus = cmdline("\\which ibus-setup 2>/dev/null").strip()
pkgm = cmdline("which apt-get 2>/dev/null").strip() pkgm = cmdline("\\which apt-get 2>/dev/null").strip()
if len(pkgm) == 0: if len(pkgm) == 0:
pkgm = cmdline("which dnf 2>/dev/null").strip() pkgm = cmdline("\\which dnf 2>/dev/null").strip()
if len(pkgm) > 0: if len(pkgm) > 0:
pkgm += " check-update;sudo dnf install -y " pkgm += " check-update;sudo dnf install -y "
else: else:
@@ -342,7 +347,7 @@ def kintoImpOne():
pkgm += " update; sudo apt-get install -y " pkgm += " update; sudo apt-get install -y "
if len(pkgm) == 0: if len(pkgm) == 0:
pkgm = cmdline("which pacman 2>/dev/null").strip() pkgm = cmdline("\\which pacman 2>/dev/null").strip()
if len(pkgm) > 0: if len(pkgm) > 0:
pkgm += " -Syy; sudo pacman -S " pkgm += " -Syy; sudo pacman -S "

View File

@@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
# Undo Apple keyboard cmd & alt swap # Undo Apple keyboard cmd & alt swap
if test -f "/sys/module/hid_apple/parameters/swap_opt_cmd" && [ `cat /sys/module/hid_apple/parameters/swap_opt_cmd` == "1" ]; then if test -f "/sys/module/hid_apple/parameters/swap_opt_cmd" && [ `cat /sys/module/hid_apple/parameters/swap_opt_cmd` == "1" ]; then
echo '0' | sudo tee -a /sys/module/hid_apple/parameters/swap_opt_cmd echo '0' | sudo tee /sys/module/hid_apple/parameters/swap_opt_cmd
echo 'options hid_apple swap_opt_cmd=0' | sudo tee -a /etc/modprobe.d/hid_apple.conf echo 'options hid_apple swap_opt_cmd=0' | sudo tee /etc/modprobe.d/hid_apple.conf
sudo update-initramfs -u -k all sudo update-initramfs -u -k all
fi fi
systemctl --user stop keyswap 2>/dev/null systemctl --user stop keyswap 2>/dev/null

View File

@@ -11,13 +11,12 @@ WinHide % "ahk_id " DllCall("GetConsoleWindow", "ptr")
notify_change(wParam, lParam, msg, hwnd) notify_change(wParam, lParam, msg, hwnd)
{ {
global lastkb global lastkb
; kbtype = % ComObjCreate("WScript.Shell").Exec("cscript /nologo usb.vbs").StdOut.ReadAll()
DetectHiddenWindows On DetectHiddenWindows On
Run %ComSpec%,, Hide, pid Run %ComSpec%,, Hide, pid
WinWait ahk_pid %pid% WinWait ahk_pid %pid%
DllCall("AttachConsole", "UInt", pid) DllCall("AttachConsole", "UInt", pid)
WshShell := ComObjCreate("Wscript.Shell") WshShell := ComObjCreate("Wscript.Shell")
exec := WshShell.Exec("cscript /nologo usb.vbs") exec := WshShell.Exec("cscript /nologo ""%userprofile%\.kinto\usb.vbs""")
kbtype := exec.StdOut.ReadAll() kbtype := exec.StdOut.ReadAll()
DllCall("FreeConsole") DllCall("FreeConsole")
Process Close, %pid% Process Close, %pid%
@@ -27,11 +26,11 @@ notify_change(wParam, lParam, msg, hwnd)
if InStr(kbtype, "Apple") if InStr(kbtype, "Apple")
{ {
; MsgBox, Apple ; MsgBox, Apple
Run, %A_ScriptDir%\NoShell.vbs %A_ScriptDir%\toggle_kb.bat mac, %A_ScriptDir% Run, "%A_ScriptDir%\NoShell.vbs" "%A_ScriptDir%\toggle_kb.bat" mac, "%A_ScriptDir%"
} }
else{ else{
; MsgBox, Windows ; MsgBox, Windows
Run, %A_ScriptDir%\NoShell.vbs %A_ScriptDir%\toggle_kb.bat win, %A_ScriptDir% Run, "%A_ScriptDir%\NoShell.vbs" "%A_ScriptDir%\toggle_kb.bat" win, "%A_ScriptDir%"
} }
; MsgBox % kbtype ; MsgBox % kbtype
} }

View File

@@ -2,6 +2,6 @@ Set oShell = CreateObject("Shell.Application")
Set wShell = WScript.CreateObject("WScript.Shell") Set wShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject") Set fso = CreateObject("Scripting.FileSystemObject")
path = wShell.ExpandEnvironmentStrings("%userprofile%") path = wShell.ExpandEnvironmentStrings("""%userprofile%")
strFolder = fso.BuildPath(path, "\.kinto\kinto.ahk") strFolder = fso.BuildPath( path, "\.kinto\kinto.ahk""")
oShell.ShellExecute "C:\Program Files\AutoHotkey\AutoHotkey.exe", strFolder, , "runas", 0 oShell.ShellExecute "C:\Program Files\AutoHotkey\AutoHotkey.exe", strFolder, , "runas", 0

View File

@@ -5,6 +5,25 @@
DetectHiddenWindows, On DetectHiddenWindows, On
Run, %A_ScriptDir%\detectUSB.ahk Run, %A_ScriptDir%\detectUSB.ahk
; Enable Left clicks on Kinto Icon
; https://www.autohotkey.com/boards/viewtopic.php?t=9501
OnMessage(0x404, "AHK_NOTIFYICON")
AHK_NOTIFYICON(wParam, lParam)
{
if (lParam = 0x202) { ; user left-clicked tray icon
;ADD ANY SUBROUTINE OR FUNCTION HERE
Menu, Tray, Show
return
}
else if (lParam = 0x203) { ; user double left-clicked tray icon
;ADD ANY SUBROUTINE OR FUNCTION HERE
Menu, Tray, Show
return
}
}
; End Enable Left clicks
; I_Icon = %A_ScriptDir%\assets\kinto-white.ico ; MacModifiers ; I_Icon = %A_ScriptDir%\assets\kinto-white.ico ; MacModifiers
; IfExist, %I_Icon% ; MacModifiers ; IfExist, %I_Icon% ; MacModifiers
; Menu, Tray, Icon, %I_Icon%,, 1 ; MacModifiers ; Menu, Tray, Icon, %I_Icon%,, 1 ; MacModifiers
@@ -27,11 +46,11 @@ Menu, Tray, Add, Close, Exit
Menu, Tray, Click, 1 Menu, Tray, Click, 1
winkb(){ winkb(){
Run, %A_ScriptDir%\NoShell.vbs %A_ScriptDir%\toggle_kb.bat win, %A_ScriptDir% Run, "%A_ScriptDir%\NoShell.vbs" "%A_ScriptDir%\toggle_kb.bat" win, "%A_ScriptDir%"
} }
mackb(){ mackb(){
Run, %A_ScriptDir%\NoShell.vbs %A_ScriptDir%\toggle_kb.bat mac, %A_ScriptDir% Run, "%A_ScriptDir%\NoShell.vbs" "%A_ScriptDir%\toggle_kb.bat" mac, "%A_ScriptDir%"
} }
min(){ min(){
@@ -92,6 +111,9 @@ GroupAdd, ConEmu, ahk_exe ConEmu.exe
GroupAdd, ConEmu, ahk_exe ConEmu64.exe GroupAdd, ConEmu, ahk_exe ConEmu64.exe
GroupAdd, ConEmu, ahk_exe WindowsTerminal.exe GroupAdd, ConEmu, ahk_exe WindowsTerminal.exe
GroupAdd, ExcPaste, ahk_exe Cmd.exe
GroupAdd, ExcPaste, ahk_exe mintty.exe
GroupAdd, editors, ahk_exe sublime_text.exe GroupAdd, editors, ahk_exe sublime_text.exe
GroupAdd, editors, ahk_exe VSCodium.exe GroupAdd, editors, ahk_exe VSCodium.exe
GroupAdd, editors, ahk_exe Code.exe GroupAdd, editors, ahk_exe Code.exe
@@ -99,6 +121,10 @@ GroupAdd, editors, ahk_exe Code.exe
GroupAdd, browsers, ahk_exe chrome.exe GroupAdd, browsers, ahk_exe chrome.exe
GroupAdd, browsers, ahk_exe opera.exe GroupAdd, browsers, ahk_exe opera.exe
GroupAdd, browsers, ahk_exe firefox.exe GroupAdd, browsers, ahk_exe firefox.exe
; Disable Key Remapping for Virtual Machines
; Disable for Remote desktop solutions too
GroupAdd, virtm, ahk_exe VirtualBoxVM.exe
; Disabled Edge for now - no ability to close all instances ; Disabled Edge for now - no ability to close all instances
; GroupAdd, browsers, Microsoft Edge ahk_class ApplicationFrameWindow ; GroupAdd, browsers, Microsoft Edge ahk_class ApplicationFrameWindow
@@ -107,268 +133,411 @@ GroupAdd, vscode, ahk_exe Code.exe
GroupAdd, vstudio, ahk_exe devenv.exe GroupAdd, vstudio, ahk_exe devenv.exe
; New AltTab and CtrlTab fix GroupAdd, intellij, ahk_exe idea.exe
*tab:: GroupAdd, intellij, ahk_exe idea64.exe
{
; Tertiary ; SetCapsLockState, AlwaysOff ; CB/IBM
if (GetKeyState("LCtrl", "P") AND GetKeyState("LShift", "P") = false) {
#IfWinNotActive ahk_group virtm
; 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 ; Secondary
; Send {LCtrl down}{Secondary up}{tab} ; } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P")) = false { ; WinModifiers
; Send {LCtrl down}{LWin up}{tab} ; WinModifiers ; } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P") = false) { ; MacModifiers
; Send {LCtrl down}{LAlt up}{tab} ; MacModifiers return
KeyWait, tab
; Tertiary
} else if (GetKeyState("LCtrl", "P") AND GetKeyState("LShift", "P")) {
; Secondary ; Secondary
; Send {LCtrl down}{Secondary up}{LShift down}{tab} ; } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P")) { ; WinModifiers
; Send {LCtrl down}{LWin up}{LShift down}{tab} ; WinModifiers ; } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P")) { ; MacModifiers
; Send {LCtrl down}{LAlt up}{LShift down}{tab} ; MacModifiers return
KeyWait, tab } else {
; Primary send {Blind}{tab}
; } 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 return
; Secondary }
; } else if (GetKeyState("LWin", "P") AND GetKeyState("LShift", "P")) { ; WinModifiers
; } else if (GetKeyState("LAlt", "P") AND GetKeyState("LShift", "P")) { ; MacModifiers 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}
; Minimize specific Window
^m::WinMinimize, A
; Minimize all but Active Window
!^m::
WinGet, winid ,, A
WinMinimizeAll
WinActivate ahk_id %winid%
return
; hide all instances of active Program
^h::
WinGetClass, class, A
WinGet, AllWindows, List
loop %AllWindows% {
WinGetClass, WinClass, % "ahk_id " AllWindows%A_Index%
if(InStr(WinClass,class)){
WinMinimize, % "ahk_id " AllWindows%A_Index%
}
}
return
; hide all but active program
!^h::
WinGetClass, class, A
WinMinimizeAll
WinGet, AllWindows, List
loop %AllWindows% {
WinGetClass, WinClass, % "ahk_id " AllWindows%A_Index%
if(InStr(WinClass,class)){
WinRestore, % "ahk_id " AllWindows%A_Index%
}
}
return
; Show Desktop
^F3::Send #d
; 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}
#IfWinActive ahk_group intellij
; General
^0::Send !{0} ;Open corresponding tool window
^1::Send !{1} ;Open corresponding tool window
^2::Send !{2} ;Open corresponding tool window
^3::Send !{3} ;Open corresponding tool window
^4::Send !{4} ;Open corresponding tool window
^5::Send !{5} ;Open corresponding tool window
^6::Send !{6} ;Open corresponding tool window
^7::Send !{7} ;Open corresponding tool window
^8::Send !{8} ;Open corresponding tool window
^9::Send !{9} ;Open corresponding tool window
#`::Send ^` ;Quick switch current scheme
^,::Send ^!s ;Open Settings dialog
^;::Send ^!+s ;Open Project Structure dialog
; Debugging
^!r::Send {F9} ;Resume program
; Search/Replace
^g::Send {F3} ;Find next
^+F3::Send +{F3} ;Find previous
#g::Send !j ;Select next occurrence
^#g::Send ^!+j ;Select all occurrences
#+g::Send !+j ;Unselect occurrence
; Editing
#Space::Send ^{Space} ;Basic code completion
#+Space::Send ^+{Space} ;Smart code completion
#j::Send ^q ;Quick documentation lookup
^n::Send !{Insert} ;Generate code...
#o::Send ^o ;Override methods
#i::Send ^i ;Implement methods
!Up::Send ^w ;Extend selection
!Down::Send ^+w ;Shrink selection
#+q::Send !q ;Context info
#!o::Send ^!o ;Optimize imports
#!i::Send ^!i ;Auto-indent line(s)
$^Backspace::Send ^y ;Delete line at caret
#+j::Send ^+j ;Smart line join
!Delete::Send ^{Delete} ;Delete to word end
!Backspace::Send ^{Backspace} ;Delete to word start
^+::Send ^{NumpadAdd} ;Expand code block
^-::Send ^{NumpadSub} ;Collapse code block
^++::Send ^+{NumpadAdd} ;Expand all
^+-::Send ^+{NumpadSub} ;Collapse all
^w::Send ^{F4} ;Close active editor tab
; Refactoring
^Delete::Send !{Delete} ;Safe Delete
^T::Send ^!+T ;Refactor this
; Navigation
^o::Send ^n ;Go to class
^+o::Send ^+n ;Go to file
^!o::Send ^!+n ;Go to symbol
#Right::Send !{Right} ;Go to next editor tab
#Left::Send !{Left} ;Go to previous editor tab
#l::Send ^g ;Go to line
#e::Send ^e ;Recent files popup
!Space::Send ^+i ;Open quick definition lookup
^Y::Send ^+i ;Open quick definition lookup
#+b::Send ^+b ;Go to type declaration
#Up::Send !{Up} ;Go to previous
#Down::Send !{Down} ;Go to next method
#h::Send ^h ;Type hierarchy
#!h::Send ^!h ;Call hierarchy
^Down::Send ^{Enter} ;Edit source/View source
!Home::Send !{Home} ;Show navigation bar
F2::Send {F11} ;Toggle bookmark
#F3::Send ^{F11} ;Toggle bookmark with mnemonic
#0::Send ^{0} ;Go to numbered bookmark
#1::Send ^{1} ;Go to numbered bookmark
#2::Send ^{2} ;Go to numbered bookmark
#3::Send ^{3} ;Go to numbered bookmark
#4::Send ^{4} ;Go to numbered bookmark
#5::Send ^{5} ;Go to numbered bookmark
#6::Send ^{6} ;Go to numbered bookmark
#7::Send ^{7} ;Go to numbered bookmark
#8::Send ^{8} ;Go to numbered bookmark
#9::Send ^{9} ;Go to numbered bookmark
^F3::Send +{F11} ;Show bookmarks
; Compile and Run
#!r::Send !+{F10} ;Select configuration and run
#!d::Send !+{F9} ;Select configuration and debug
#r::Send +{F10} ;Run
#d::Send +{F9} ;Debug
#+r::Send ^+{F10} ;Run context configuration from editor
#+d::Send ^+{F9} ;Debug context configuration from editor
; VCS/Local History
#v::Send !` ;VCS quick popup
#If
; Close all browsers
#IfWinActive ahk_group browsers
^q::send {Alt Down}f{Alt Up}x ; exit all windows
#If
; Sublime Text Remaps for VS Code
#IfWinActive ahk_group vscode
#p::send {Up} ; Allow for traversing quick list
#n::send {Down} ; Allow for traversing quick list
#Space::Send ^{Space} ; Basic code completion
; 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
!+g::send ^+{G} ; View source control
; Sigints - interrupt
$#c::Send {Ctrl down}c{Ctrl up}
#If
#IfWinActive ahk_exe sublime_text.exe
#Space::Send ^{Space} ; Basic code completion
#^Up::send !{O} ; Switch file
#^f::send {F11} ; toggle_full_screen
^!v::send {Ctrl Down}k{Ctrl Up}{Ctrl Down}v{Ctrl Up} ; paste_from_history
^Up::Return ; cancel scroll_lines up
^!Up::send ^{Up} ; scroll_lines up
^Down::Return ; cancel scroll_lines down
^!Down::send ^{Down} ; scroll_lines down
#+Up::send {shift up}^!{Up} ; multi-cursor up
#+Down::send {shift up}^!{Down} ; multi-cursor down
^PgDn::Return ; cancel next_view
^PgUp::Return ; cancel prev_view
^+{::send ^{PgDn} ; next_view
^+}::send ^{PgUp} ; prev_view
^!Right::send ^{PgDn} ; next_view
^!Left::send ^{PgUp} ; prev_view
Insert::Return ; cancel toggle_overwrite
^!O::send {Insert} ; toggle_overwrite
!c::Return ; cancel toggle_case_sensitive
^!c::send !{c} ; toggle_case_sensitive
; ^h::Return ; cancel replace
^!f::send ^{h} ; replace
^+h::Return ; cancel replace_next
^!e::send ^+{h} ; replace_next
F3::Return ; cancel find_next
^g::send {F3} ; find_next
*F3::Return ; cancel find_prev, find_under, find_all_under
^+g::send +{F3} ; find_prev
#!g::send ^{F3} ; find_under
#!+g::send ^+{F3} ; find_under_prev
#^g::send !{F3} ; find_all_under
^+Up::Return ; cancel swap_line_up
#!Up::send ^+{Up} ; swap_line_up
^+Down::Return ; cancel swap_line_down
#!Down::send ^+{Down} ; swap_line_down
^Pause::Return ; cancel cancel_build
#c::send ^{Pause} ; cancel_build
F9::Return ; cancel sort_lines case_s false
F5::send {F9} ; sort_lines case_s false
#F9::Return ; cancel sort_lines case_s true
#F5::send #{F9} ; sort_lines case_s true
!+1::Return ; cancel set_layout
^!1::send !+1 ; set_layout
!+2::Return ; cancel set_layout
^!2::send !+2 ; set_layout
!+3::Return ; cancel set_layout
^!3::send !+3 ; set_layout
!+4::Return ; cancel set_layout
^!4::send !+4 ; set_layout
!+5::Return ; cancel set_layout
^!5::send !+5 ; set_layout
!+8::Return ; cancel set_layout
^!8::send !+8 ; set_layout
!+9::Return ; cancel set_layout
^!9::send !+9 ; set_layout
#If
#IfWinActive ahk_group terminals
; End of Line
#e:: ; Default
; !e:: ; CB/IBM
Send {End}
return return
} else {
send {Blind}{tab}
}
return
}
tab::Send {tab} ; Beginning of Line
#a:: ; Default
; !a:: ; CB/IBM
Send {Home}
return
+tab::Send {Shift down}{tab}{Shift up} ; Copy
^c::
If WinActive("ahk_exe cmd.exe"){
Send {Enter}
}
else if WinActive("ahk_exe mintty.exe"){
SetKeyDelay -1
Send {Blind}{Insert}
}
else{
SetKeyDelay -1
Send {Blind}{LShift down}{c DownTemp}
}
return
; Basic Remap ^c up::
; If not WinActive("ahk_group cmd.exe"){
; Primary::LCtrl SetKeyDelay -1
; Secondary::LAlt Send {Blind}{c Up}{LShift Up}
; Tertiary::LWin }
return
; $LAlt::LCtrl ; WinModifiers ; Sigints - interrupt
; $RAlt::RCtrl ; WinModifiers $#c::Send {Ctrl down}c{Ctrl up} ; Default
; $LWin::LAlt ; WinModifiers ; $!c::Send {Ctrl down}c{Ctrl up} ; CB/IBM
; $LCtrl::LWin ; WinModifiers
; $LWin::LCtrl ; MacModifiers ; Paste
; $RWin::RCtrl ; MacModifiers $^v::
; $LCtrl::LWin ; MacModifiers If WinActive("ahk_exe mintty.exe"){
Send {Shift down}{Insert}{Shift up}
}
else if WinActive("ahk_group posix"){
Send {Blind}{Shift down}v{Shift up}
}
else{
Send {Blind}v
}
return
#If
; Hack to disable start menu on winkey #IfWinActive ahk_group posix
; Static ; Open/Close Tab for those that support it
$LCtrl up::Send {Ctrl down}{LWin up}{Ctrl up} $^t::
If not WinActive("ahk_group ConEmu"){
Send {LCtrl down}{LShift down}t{LCtrl Up}{LShift Up}
}
else{
Send ^t
}
return
; temporary hack to ensure keys don't get stuck $^w::
; impacts Alt-Tab fix If not WinActive("ahk_group ConEmu"){
; Primary Send {LCtrl down}{LShift down}w{LCtrl Up}{LShift Up}
; $LAlt up::Send {LWin up}{LAlt up}{LCtrl up} ; WinModifiers }
; $LWin up::Send {LWin up}{LAlt up}{LCtrl up} ; MacModifiers else{
Send ^w
}
return
; Close Apps ^l::Send clear{Enter}
^q::Send !{F4} ; #l::return
; Clear Terminal and Scroll Buffer
; Emoji Panel ^k::Send clear && printf '\e[3J'{Enter}
#^Space::Send {LWin down};{LWin up} ; Nano editor shortcuts
#g::Send {LCtrl down}g{LCtrl Up}
; Full Screenshot #k::Send {LCtrl down}k{LCtrl Up}
^+3::Send {PrintScreen} #x::Send {LCtrl down}x{LCtrl Up}
#o::Send {LCtrl down}o{LCtrl Up}
; Region Screenshot #r::Send {LCtrl down}r{LCtrl Up}
^+4::Send #+{S} #w::Send {LCtrl down}w{LCtrl Up}
#\::Send {LCtrl down}\{LCtrl Up}
; wordwise support #u::Send {LCtrl down}u{LCtrl Up}
$^Left::Send {Home} #j::Send {LCtrl down}j{LCtrl Up}
$^+Left::Send +{Home} #t::Send {LCtrl down}t{LCtrl Up}
$^Right::Send {End} #_::Send {LCtrl down}_{LCtrl Up}
$^+Right::Send +{End} #z::Send {LCtrl down}z{LCtrl Up}
^Up::Send ^{Home} #y::Send {LCtrl down}y{LCtrl Up}
^+Up::Send ^+{Home} #v::Send {LCtrl down}v{LCtrl Up}
^Down::Send ^{End} #If
^+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}
; Close all browsers
#IfWinActive ahk_group browsers
^q::send {Alt Down}f{Alt Up}x ; exit all windows
#If
; Sublime Text Remaps for VS Code
#IfWinActive ahk_group vscode
; 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
!+g::send ^+{G} ; View source control
#If
#IfWinActive ahk_exe sublime_text.exe
#^Up::send !{O} ; Switch file
#^f::send {F11} ; toggle_full_screen
^!v::send {Ctrl Down}k{Ctrl Up}{Ctrl Down}v{Ctrl Up} ; paste_from_history
^Up::Return ; cancel scroll_lines up
^!Up::send ^{Up} ; scroll_lines up
^Down::Return ; cancel scroll_lines down
^!Down::send ^{Down} ; scroll_lines down
#+Up::send {shift up}^!{Up} ; multi-cursor up
#+Down::send {shift up}^!{Down} ; multi-cursor down
^PgDn::Return ; cancel next_view
^PgUp::Return ; cancel prev_view
^+{::send ^{PgDn} ; next_view
^+}::send ^{PgUp} ; prev_view
^!Right::send ^{PgDn} ; next_view
^!Left::send ^{PgUp} ; prev_view
Insert::Return ; cancel toggle_overwrite
^!O::send {Insert} ; toggle_overwrite
!c::Return ; cancel toggle_case_sensitive
^!c::send !{c} ; toggle_case_sensitive
^h::Return ; cancel replace
^!f::send ^{h} ; replace
^+h::Return ; cancel replace_next
^!e::send ^+{h} ; replace_next
F3::Return ; cancel find_next
^g::send {F3} ; find_next
*F3::Return ; cancel find_prev, find_under, find_all_under
^+g::send +{F3} ; find_prev
#!g::send ^{F3} ; find_under
#!+g::send ^+{F3} ; find_under_prev
#^g::send !{F3} ; find_all_under
^+Up::Return ; cancel swap_line_up
#!Up::send ^+{Up} ; swap_line_up
^+Down::Return ; cancel swap_line_down
#!Down::send ^+{Down} ; swap_line_down
^Pause::Return ; cancel cancel_build
#c::send ^{Pause} ; cancel_build
F9::Return ; cancel sort_lines case_s false
F5::send {F9} ; sort_lines case_s false
#F9::Return ; cancel sort_lines case_s true
#F5::send #{F9} ; sort_lines case_s true
!+1::Return ; cancel set_layout
^!1::send !+1 ; set_layout
!+2::Return ; cancel set_layout
^!2::send !+2 ; set_layout
!+3::Return ; cancel set_layout
^!3::send !+3 ; set_layout
!+4::Return ; cancel set_layout
^!4::send !+4 ; set_layout
!+5::Return ; cancel set_layout
^!5::send !+5 ; set_layout
!+8::Return ; cancel set_layout
^!8::send !+8 ; set_layout
!+9::Return ; cancel set_layout
^!9::send !+9 ; set_layout
#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_exe mintty.exe"){
Send {Shift down}{Insert}{Shift up}
}
else 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 #If

View File

@@ -1,5 +1,5 @@
Option Explicit Option Explicit
Dim oWMISrv, collDvcs, iUSBDvc , iDvc, sDvcID, sPID, sVID Dim oWMISrv, collDvcs, iUSBDvc , iDvc, sDvcID, sPID, sVID, deviceID
' add item to array ' add item to array
Function AddItem(arr, val) Function AddItem(arr, val)
@@ -49,21 +49,23 @@ Dim nonApple: nonApple = 0
Dim i Dim i
If vcount = 1 Then If vcount = 1 Then
deviceID = deviceVID(0)
If StrComp(deviceVID(0), "05AC") = 0 Then If StrComp(deviceVID(0), "05AC") = 0 Then
Wscript.Echo "Apple" Wscript.Echo "Apple " & deviceID
Else Else
Wscript.Echo "Windows" Wscript.Echo "Windows " & deviceID
End If End If
Else Else
For i = 0 To counter-1 For i = 0 To counter-1
deviceID = deviceVID(i)
If StrComp(deviceVID(i), "05AC") = -1 Then If StrComp(deviceVID(i), "05AC") = -1 Then
nonApple = 1 nonApple = 1
End If End If
Next Next
If nonApple = 1 Then If nonApple = 1 Then
Wscript.Echo "Windows" Wscript.Echo "Windows " & deviceID
Else Else
Wscript.Echo "Apple" Wscript.Echo "Apple " & deviceID
End If End If
End If End If

View File

@@ -66,6 +66,96 @@ define_conditional_modmap(re.compile(termStr, re.IGNORECASE), {
# Key.RIGHT_CTRL: Key.LEFT_CTRL, # Mac - Multi-language (Remove) # Key.RIGHT_CTRL: Key.LEFT_CTRL, # Mac - Multi-language (Remove)
}) })
# Keybindings for IntelliJ
define_keymap(re.compile("jetbrains-idea", re.IGNORECASE),{
# General
K("C-Key_0"): K("M-Key_0"), # Open corresponding tool window
K("C-Key_1"): K("M-Key_1"), # Open corresponding tool window
K("C-Key_2"): K("M-Key_2"), # Open corresponding tool window
K("C-Key_3"): K("M-Key_3"), # Open corresponding tool window
K("C-Key_4"): K("M-Key_4"), # Open corresponding tool window
K("C-Key_5"): K("M-Key_5"), # Open corresponding tool window
K("C-Key_6"): K("M-Key_6"), # Open corresponding tool window
K("C-Key_7"): K("M-Key_7"), # Open corresponding tool window
K("C-Key_8"): K("M-Key_8"), # Open corresponding tool window
K("C-Key_9"): K("M-Key_9"), # Open corresponding tool window
K("Super-Grave"): K("C-Grave"), # Quick switch current scheme
K("C-Comma"): K("C-M-s"), # Open Settings dialog
K("C-Semicolon"): K("C-M-Shift-s"), # Open Project Structure dialog
# Debugging
K("C-M-r"): K("F9"), # Resume program
# Search/Replace
K("C-g"): K("F3"), # Find next
K("C-Shift-F3"): K("Shift-F3"), # Find previous
K("Super-g"): K("M-j"), # Select next occurrence
K("C-Super-g"): K("C-M-Shift-j"), # Select all occurrences
K("Super-Shift-g"): K("M-Shift-j"), # Unselect occurrence
# Editing
K("Super-Space"): K("C-Space"), # Basic code completion
K("Super-Shift-Space"): K("C-Shift-Space"), # Smart code completion
K("Super-j"): K("C-q"), # Quick documentation lookup
K("C-n"): K("M-Insert"), # Generate code...
K("Super-o"): K("C-o"), # Override methods
K("Super-i"): K("C-i"), # Implement methods
K("M-Up"): K("C-w"), # Extend selection
K("M-Down"): K("C-Shift-w"), # Shrink selection
K("Super-Shift-q"): K("M-q"), # Context info
K("Super-M-o"): K("C-M-o"), # Optimize imports
K("Super-M-i"): K("C-M-i"), # Auto-indent line(s)
K("C-Backspace"): K("C-y"), # Delete line at caret
K("Super-Shift-j"): K("C-Shift-j"), # Smart line join
K("M-Delete"): K("C-Delete"), # Delete to word end
K("M-Backspace"): K("C-Backspace"), # Delete to word start
K("C-Shift-Equal"): K("C-KPPLUS"), # Expand code block
K("C-Minus"): K("C-KPMINUS"), # Collapse code block
K("C-Shift-Equal"): K("C-Shift-KPPLUS"), # Expand all
K("C-Shift-Minus"): K("C-Shift-KPMINUS"), # Collapse all
K("C-w"): K("C-F4"), # Close active editor tab
# Refactoring
K("C-Delete"): K("M-Delete"), # Safe Delete
K("C-T"): K("C-M-Shift-t"), # Refactor this
# Navigation
K("C-o"): K("C-n"), # Go to class
K("C-Shift-o"): K("C-Shift-n"), # Go to file
K("C-M-o"): K("C-M-Shift-n"), # Go to symbol
K("Super-Right"): K("M-Right"), # Go to next editor tab
K("Super-Left"): K("M-Left"), # Go to previous editor tab
K("Super-l"): K("C-g"), # Go to line
K("Super-e"): K("C-e"), # Recent files popup
K("M-Space"): K("C-Shift-i"), # Open quick definition lookup
K("C-Y"): K("C-Shift-i"), # Open quick definition lookup
K("Super-Shift-b"): K("C-Shift-b"), # Go to type declaration
K("Super-Up"): K("M-Up"), # Go to previous
K("Super-Down"): K("M-Down"), # Go to next method
K("Super-h"): K("C-h"), # Type hierarchy
K("Super-M-h"): K("C-M-h"), # Call hierarchy
K("C-Down"): K("C-Enter"), # Edit source/View source
K("M-Home"): K("M-Home"), # Show navigation bar
K("F2"): K("F11"), # Toggle bookmark
K("Super-F3"): K("C-F11"), # Toggle bookmark with mnemonic
K("Super-Key_0"): K("C-Key_0"), # Go to numbered bookmark
K("Super-Key_1"): K("C-Key_1"), # Go to numbered bookmark
K("Super-Key_2"): K("C-Key_2"), # Go to numbered bookmark
K("Super-Key_3"): K("C-Key_3"), # Go to numbered bookmark
K("Super-Key_4"): K("C-Key_4"), # Go to numbered bookmark
K("Super-Key_5"): K("C-Key_5"), # Go to numbered bookmark
K("Super-Key_6"): K("C-Key_6"), # Go to numbered bookmark
K("Super-Key_7"): K("C-Key_7"), # Go to numbered bookmark
K("Super-Key_8"): K("C-Key_8"), # Go to numbered bookmark
K("Super-Key_9"): K("C-Key_9"), # Go to numbered bookmark
K("C-F3"): K("Shift-F11"), # Show bookmarks
# Compile and Run
K("Super-M-r"): K("M-Shift-F10"), # Select configuration and run
K("Super-M-d"): K("M-Shift-F9"), # Select configuration and debug
K("Super-r"): K("Shift-F10"), # Run
K("Super-d"): K("Shift-F9"), # Debug
K("Super-Shift-r"): K("C-Shift-F10"), # Run context configuration from editor
K("Super-Shift-d"): K("C-Shift-F9"), # Debug context configuration from editor
# VCS/Local History
K("Super-v"): K("M-Grave"), # VCS quick popup
K("Super-c"): K("LC-c"), # Sigints - interrupt
})
# Keybindings for Nautilus # Keybindings for Nautilus
define_keymap(re.compile("org.gnome.nautilus", re.IGNORECASE),{ define_keymap(re.compile("org.gnome.nautilus", re.IGNORECASE),{
K("RC-Up"): K("M-Up"), # Go Up dir K("RC-Up"): K("M-Up"), # Go Up dir
@@ -123,6 +213,7 @@ define_keymap(None,{
}) })
define_keymap(lambda wm_class: wm_class.casefold() not in mscodes,{ define_keymap(lambda wm_class: wm_class.casefold() not in mscodes,{
K("Super-Space"): K("C-Space"), # Basic code completion
# Wordwise remaining - for Everything but VS Code # Wordwise remaining - for Everything but VS Code
K("M-Left"): K("C-Left"), # Left of Word K("M-Left"): K("C-Left"), # Left of Word
K("M-Shift-Left"): K("C-Shift-Left"), # Select Left of Word K("M-Shift-Left"): K("C-Shift-Left"), # Select Left of Word
@@ -171,6 +262,7 @@ define_keymap(re.compile(codeStr, re.IGNORECASE),{
K("C-g"): K("f3"), # find_next K("C-g"): K("f3"), # find_next
K("Shift-f3"): pass_through_key, # cancel find_prev K("Shift-f3"): pass_through_key, # cancel find_prev
K("C-Shift-g"): K("Shift-f3"), # find_prev K("C-Shift-g"): K("Shift-f3"), # find_prev
K("Super-c"): K("LC-c"), # Sigints - interrupt
# K("Super-C-g"): K("C-f2"), # Default - Sublime - find_all_under # K("Super-C-g"): K("C-f2"), # Default - Sublime - find_all_under
# K("C-M-g"): K("C-f2"), # Chromebook - Sublime - find_all_under # K("C-M-g"): K("C-f2"), # Chromebook - Sublime - find_all_under
# K("Super-Shift-up"): K("M-Shift-up"), # multi-cursor up - Sublime # K("Super-Shift-up"): K("M-Shift-up"), # multi-cursor up - Sublime
@@ -181,6 +273,7 @@ define_keymap(re.compile(codeStr, re.IGNORECASE),{
# Keybindings for Sublime Text # Keybindings for Sublime Text
define_keymap(re.compile("Sublime_text", re.IGNORECASE),{ define_keymap(re.compile("Sublime_text", re.IGNORECASE),{
K("Super-Space"): K("C-Space"), # Basic code completion
K("C-Super-up"): K("M-o"), # Switch file K("C-Super-up"): K("M-o"), # Switch file
K("Super-RC-f"): K("f11"), # toggle_full_screen K("Super-RC-f"): K("f11"), # toggle_full_screen
K("C-M-v"): [K("C-k"), K("C-v")], # paste_from_history K("C-M-v"): [K("C-k"), K("C-v")], # paste_from_history

View File

@@ -115,7 +115,7 @@ function budgieUpdate {
budgieVersion="$(/usr/bin/budgie-desktop --version | awk '{ print $2; }' | head -n1)" budgieVersion="$(/usr/bin/budgie-desktop --version | awk '{ print $2; }' | head -n1)"
if [ "$budgieVersion" == "10.5.1" ]; then if [ "$budgieVersion" == "10.5.1" ]; then
if ! [ -f ./system-config/budgie-daemon_10.5.1 ]; then if ! [ -f ./system-config/budgie-daemon_10.5.1 ]; then
wget https://github.com/rbreaves/budgie-desktop/raw/f112e0e349c021c1bbfa7e45c16083eae0d92fac/binaries/budgie-daemon_10.5.1 -O ./system-config/budgie-daemon_10.5.1 wget https://github.com/rbreaves/budgie-desktop/blob/binaries/binaries/budgie-daemon_10.5.1?raw=true -O ./system-config/budgie-daemon_10.5.1
fi fi
bdmd5=$(md5sum /usr/bin/budgie-daemon | awk '{ print $1 }') bdmd5=$(md5sum /usr/bin/budgie-daemon | awk '{ print $1 }')
newbdmd5=$(md5sum ./system-config/budgie-daemon_10.5.1 | awk '{ print $1 }') newbdmd5=$(md5sum ./system-config/budgie-daemon_10.5.1 | awk '{ print $1 }')
@@ -252,14 +252,14 @@ if [[ $1 == "1" || $1 == "2" || $1 == "3" || $1 == "winmac" || $1 == "mac" || $1
fi fi
sed -i "s/{username}/`whoami`/g" ./xkeysnail-config/xkeysnail.service.new sed -i "s/{username}/`whoami`/g" ./xkeysnail-config/xkeysnail.service.new
sed -i "s#{homedir}#`echo "$HOME"`#g" ./xkeysnail-config/xkeysnail.service.new sed -i "s#{homedir}#`echo "$HOME"`#g" ./xkeysnail-config/xkeysnail.service.new
sed -i "s#{xhost}#`which xhost`#g" ./xkeysnail-config/xkeysnail.service.new sed -i "s#{xhost}#`\\which xhost`#g" ./xkeysnail-config/xkeysnail.service.new
sed -i "s/{username}/`whoami`/g" ./xkeysnail-config/limitedadmins.new sed -i "s/{username}/`whoami`/g" ./xkeysnail-config/limitedadmins.new
sed -i "s#{homedir}#`echo "$HOME"`#g" ./xkeysnail-config/limitedadmins.new sed -i "s#{homedir}#`echo "$HOME"`#g" ./xkeysnail-config/limitedadmins.new
sed -i "s#{systemctl}#`which systemctl`#g" ./xkeysnail-config/limitedadmins.new sed -i "s#{systemctl}#`\\which systemctl`#g" ./xkeysnail-config/limitedadmins.new
sudo chown root:root ./xkeysnail-config/limitedadmins.new sudo chown root:root ./xkeysnail-config/limitedadmins.new
sudo mv ./xkeysnail-config/limitedadmins.new /etc/sudoers.d/limitedadmins sudo mv ./xkeysnail-config/limitedadmins.new /etc/sudoers.d/limitedadmins
sed -i "s#{systemctl}#`which systemctl`#g" ~/.config/autostart/xkeysnail.desktop sed -i "s#{systemctl}#`\\which systemctl`#g" ~/.config/autostart/xkeysnail.desktop
sed -i "s#{xhost}#`which xhost`#g" ~/.config/autostart/xkeysnail.desktop sed -i "s#{xhost}#`\\which xhost`#g" ~/.config/autostart/xkeysnail.desktop
sed -i "s#{homedir}#`echo "$HOME"`#g" ~/.config/kinto/prexk.sh sed -i "s#{homedir}#`echo "$HOME"`#g" ~/.config/kinto/prexk.sh
sed -i "s/{displayid}/`echo "$DISPLAY"`/g" ./xkeysnail-config/xkeysnail.service.new sed -i "s/{displayid}/`echo "$DISPLAY"`/g" ./xkeysnail-config/xkeysnail.service.new
sed -i "s/{displayid}/`echo "$DISPLAY"`/g" ~/.config/kinto/prexk.sh sed -i "s/{displayid}/`echo "$DISPLAY"`/g" ~/.config/kinto/prexk.sh