Compare commits

..

9 Commits

7 changed files with 176 additions and 166 deletions

View File

@@ -110,58 +110,17 @@ Select Uninstall
## How to use in Remote Desktop Solutions
RDP fully works as long as the entire keyboard input is being captured. RDP had been working for awhile with Windows but as of 2/14/2021 Linux is now supported and potentially macOS as well. VNC & other protocols may work, but is likely most dependent on how the keyboard input is captured on the computer running the client.
Currently this may be limited to Windows RDP Clients and Servers on both ends, but in theory any remote desktop solution that properly handles the Windows key should work is what I am finding. The latest version of Kinto may need to be suspended via the system tray on the computer running the Client software of the Remote Desktop solution you are using - or you can add it to the "virtm" group of the Kinto.ahk script for Windows 10. On the linux side a 3rd, but similar "define_conditional_modmap" terminals like group may need to be added to align with virtm.
|Program|Src/Remote Client ⇒|Dst/Remote Server|Works? |Notes|
Note: virtm is just a shortname for virtual machine and remote desktop exceptions - so that remapping can happen within their OS & not on your host machine - if it can be avoided.
|Program|Host OS|Client OS|Works? |Notes|
|---|---|---|---|---|
|Official MS RDP (mstsc.exe)| Windows | Windows | Yes| |
|Official MS RDP| ChromeOS 87+⇒| Windows | ✅ Yes|May work on earlier versions as well, if they support Android apps|
|Remmina| 🐧Linux*/ChromeOS 87+⇒| Windows | ✅ Yes|*Use hover menu to enable "Grab all keyboard events"|
|FreeRDP| 🐧Linux/ChromeOS 87+⇒| Windows | ✅ Yes | |
|FreeRDP| 🍎macOS⇒| Windows | ✅ Yes| [FreeRDP for macOS](#FreeRDP-for-macOS)|
|Remote Desktop Manager Free|🍎iOS⇒| ❖Windows | ✅ Yes| |
|Jump Desktop (RDP)| 🍎macOS*/iOS ⇒| ❖Windows | ✅ Yes|*Preferences -> Keyboard -> Disable "Key Conversions", Enabled "Send macOS Shortcuts" under Keyboard shortcuts|
|Official MS RDP| 🍎macOS⇒| ❖Windows | ❌ No|Initial Cmd key press not being passed|
|Remote Desktop Manager Free| 🍎macOS⇒| ❖Windows | ❌ No|Initial Cmd key press not being passed|
|Royal TSX Client| 🍎macOS⇒| ❖Windows | ❌ No|Initial Cmd key press not being passed|
|Official MS RDP| 🍎🤖iOS/Android⇒| ❖Windows | ❌ No|No workaround atm|
## FreeRDP for macOS
1. Install [brew.sh](https://brew.sh).
```/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"```
2. Install XQuartz (x11/xorg)
```brew install --cask xquartz```
3. log off and back on.
4. Install FreeRDP
```brew install freerdp```
5. Disable [NLA](https://kb.parallels.com/en/123661), if it is enabled on the destination.
6. Run command to access machine
Note: 192.168.x.x = Your IP.
```xfreerdp /u:your_username /v:192.168.x.x /cert-ignore /auto-reconnect-max-retries:0 /f +clipboard -decorations```
7. Click on XQuartz -> Preferences and set these checkmarks so that fullscreen can work, may need to quit it and re-run the xfreerdp command from step 6.
<img src="https://user-images.githubusercontent.com/10969616/108144025-68bfcf80-708e-11eb-96cc-2930b7b1694a.png" width="50%">
More info here
https://medium.com/idomongodb/macos-rdp-to-a-windows-machine-1e0f52f777b
## Jump Desktop for macOS
Screenshots of how to configure Jump Desktop for macOS users accessing a Windows PC with Kinto installed. I apologize that it is not a free RDP client - BUT it does work, and at $15 it is reasonable if you plan to use it frequently.
<img src="https://user-images.githubusercontent.com/10969616/107990246-a2fb7500-6f99-11eb-8c19-0a9b538b996f.png" width="25%">
<img src="https://user-images.githubusercontent.com/10969616/107990265-a8f15600-6f99-11eb-9922-bbcfa0b92031.png" width="50%">
<img src="https://user-images.githubusercontent.com/10969616/107990256-a68efc00-6f99-11eb-9f31-575ed6016944.png" width="50%">
|mstsc.exe (rdp)| Windows | Windows | Yes| |
|Official MS RDP| macOS | Windows | No|Use Windows in VM & RDP from it|
|FreeRDP| macOS | Windows | No|Use Windows in VM & RDP from it|
|FreeRDP| Linux | Windows | No|Use Windows in VM & RDP from it|
|Official MS RDP| iOS/Android | Windows | No|No workaround atm|
## Table of Contents
@@ -242,9 +201,6 @@ Other programs that will be installed when you run ./setup.py
- Strawberry Perl
Note: Sublime Text users should disable screen rotation hotkeys as they will interfere with multi-cursor and possibly other combos. See https://windowsloop.com/disable-screen-rotation-keyboard-shortcut/ for details.
You may also want to disable the Xbox Game Bar so that Win+G or other shortcuts will not interfer with any of your remaps. Start menu -> Game bar shortcuts -> toggle Off.
## Shortcut Creation
[Linux Shortcut Creation (Xkeysnail)](#Linux-Xkeysnail)
@@ -429,9 +385,6 @@ I'd appreciate any help from people with non-US based keyboards, to help ensure
Yet another keyboard remapping tool for X environment
[libinput-gestures](https://github.com/bulletmark/libinput-gestures)
Three finger gesture or other type of gestures for desktop switching or other features within a Linux distro. More info here for quickly setting it up. Make sure you logoff after setting your user to access input. https://www.reddit.com/r/GalliumOS/comments/5lgrxe/psa_multitouch_gestures_on_galliumos/
[Interception](https://gitlab.com/interception/linux/tools)
Another low level key remapper, not as easily configurable as Xkeysnail, but does not rely on X11.

11
linux/.xbindkeysrc Executable file
View File

@@ -0,0 +1,11 @@
"~/.config/kinto/browsers.sh Left"
m:0x8 + c:192
Alt + XF86Launch5
"~/.config/kinto/browsers.sh Right"
m:0x8 + c:193
Alt + XF86Launch6
"~/.config/kinto/browsers.sh Undo"
m:0x8 + c:194
Alt + XF86Launch7

75
linux/browsers.sh Executable file
View File

@@ -0,0 +1,75 @@
#!/usr/bin/env bash
action=$1
saveClipboard=$(xclip -selection clipboard -o)
echo "" | xclip -i -selection clipboard
if [ "$action" == "Left" ] || [ "$action" == "Undo" ];then
xdotool getactivewindow key --delay 40 --clearmodifiers Shift+Home ctrl+c Home
firstClipboard=$(xclip -selection clipboard -o)
if [ "$firstClipboard" == "" ];then
xdotool getactivewindow key --delay 40 --clearmodifiers Shift+Right ctrl+c Home
firstClipboard=$(xclip -selection clipboard -o)
if [ "$firstClipboard" == "" ];then
xdotool getactivewindow key --delay 24 --clearmodifiers bar Shift+Left ctrl+x
firstClipboard=$(xclip -selection clipboard -o)
fi
fi
echo "" | xclip -i -selection clipboard
xdotool getactivewindow key --clearmodifiers Shift+Right ctrl+c Home
if [ "${firstClipboard:0:1}" == "$(xclip -selection clipboard -o)" ];then
echo "" | xclip -i -selection clipboard
fi
fi
if [ "$action" == "Right" ];then
xdotool getactivewindow key --delay 40 --clearmodifiers Shift+End ctrl+c
firstClipboard=$(xclip -selection clipboard -o | tr -d /)
if [ "$firstClipboard" == "" ];then
xdotool getactivewindow key --delay 40 --clearmodifiers Left Shift+Right ctrl+c
firstClipboard=$(xclip -selection clipboard -o | tr -d /)
if [ "$firstClipboard" == "" ];then
xdotool getactivewindow key --delay 24 --clearmodifiers bar Shift+Left ctrl+x
firstClipboard=$(xclip -selection clipboard -o | tr -d /)
fi
fi
if [ "$firstClipboard" != "" ];then
xdotool getactivewindow key --clearmodifiers Right
fi
echo "" | xclip -i -selection clipboard
xdotool getactivewindow key --clearmodifiers Shift+Left ctrl+c
if [ "${firstClipboard: -1}" == "$(xclip -selection clipboard -o)" ];then
echo "" | xclip -i -selection clipboard
xdotool getactivewindow key --clearmodifiers Right
fi
fi
newClipboard=$(xclip -selection clipboard -o)
# echo ${#firstClipboard}
# echo "$firstClipboard""-"
# echo "first"
# echo ${#newClipboard}
# echo "$newClipboard""-"
# echo "hello"
if [ "$action" == "Left" ] && ([ "$firstClipboard" == "" ] || [ "$newClipboard" != "" ]);then
xdotool getactivewindow key --clearmodifiers alt+Left
fi
if [ "$action" == "Right" ] && ([ "$firstClipboard" == "" ] || [ "$newClipboard" != "" ]);then
xdotool getactivewindow key --clearmodifiers alt+Right
elif [ "$action" == "Right" ];then
xdotool getactivewindow key --clearmodifiers End
fi
if [ "$action" == "Undo" ] && ([ "$firstClipboard" != "" ] && [ "$newClipboard" == "" ]);then
xdotool getactivewindow key --delay 24 --clearmodifiers ctrl+z
elif [ "$action" == "Undo" ];then
xdotool getactivewindow key ctrl+Shift+t
fi
echo $saveClipboard | xclip -i -selection clipboard

View File

@@ -153,14 +153,6 @@ class MyWindow(Gtk.Window):
menuitem_file = Gtk.MenuItem(label="File")
menubar.append(menuitem_file)
submenu_file = Gtk.Menu()
menuitem_restart = Gtk.MenuItem(label="Restart")
menuitem_restart.connect('activate',self.runRestart)
submenu_file.append(menuitem_restart)
menuitem_stop = Gtk.MenuItem(label="Stop")
menuitem_stop.connect('activate',self.runStop)
submenu_file.append(menuitem_stop)
menuitem_file.set_submenu(submenu_file)
submenu_file.append(self.menuitem_auto)
kintotray = int(self.queryConfig('ps -aux | grep [k]intotray >/dev/null 2>&1 && echo "1" || echo "0"'))
@@ -172,6 +164,12 @@ class MyWindow(Gtk.Window):
self.menuitem_systray.signal_id = self.menuitem_systray.connect('activate',self.checkTray,True)
menuitem_file.connect('activate',self.refreshFile)
submenu_file.append(self.menuitem_systray)
menuitem_restart = Gtk.MenuItem(label="Restart")
menuitem_restart.connect('activate',self.runRestart)
submenu_file.append(menuitem_restart)
menuitem_stop = Gtk.MenuItem(label="Stop")
menuitem_stop.connect('activate',self.runStop)
submenu_file.append(menuitem_stop)
menuitem_quit = Gtk.MenuItem(label="Quit")
submenu_file.append(menuitem_quit)
@@ -1437,4 +1435,4 @@ if openWin:
win.show_all()
openWin = False
Gtk.main()
Gtk.main()

View File

@@ -11,19 +11,6 @@ terminals = ["kinto-gui.py","gnome-terminal","konsole","io.elementary.terminal",
terminals = [term.casefold() for term in terminals]
termStr = "|".join(str(x) for x in terminals)
mscodes = ["code","vscodium"]
codeStr = "|".join(str(x) for x in mscodes)
# Add remote desktop clients & VM software here
# Ideally we'd only exclude the client window,
# but that may not be easily done.
remotes = ["org.remmina.Remmina","xfreerdp"]
remotes = [client.casefold() for client in remotes]
# Add remote desktop clients & VMs for no remapping
terminals.extend(remotes)
mscodes.extend(remotes)
# Use for browser specific hotkeys
browsers = ["Chromium","Chromium-browser","Google-chrome","microsoft-edge-dev","microsoft-edge","Epiphany","Firefox","Discord"]
browsers = [browser.casefold() for browser in browsers]
@@ -37,6 +24,9 @@ chromeStr = "|".join(str(x) for x in chromes)
# edges = [edge.casefold() for edge in edges]
# edgeStr = "|".join(str(x) for x in edges)
mscodes = ["code","vscodium"]
codeStr = "|".join(str(x) for x in mscodes)
define_multipurpose_modmap(
# {Key.ENTER: [Key.ENTER, Key.RIGHT_CTRL] # Enter2Cmd
# {Key.CAPSLOCK: [Key.ESC, Key.RIGHT_CTRL] # Caps2Esc
@@ -44,12 +34,6 @@ define_multipurpose_modmap(
{ # Placeholder
})
# Fix for avoiding modmapping when using Synergy keyboard/mouse sharing.
# Synergy doesn't set a wm_class, so this may cause issues with other
# applications that also don't set the wm_class.
# Enable only if you use Synergy.
# define_conditional_modmap(lambda wm_class: wm_class == '', {})
# [Global modemap] Change modifier keys as in xmodmap
define_conditional_modmap(lambda wm_class: wm_class.casefold() not in terminals,{
@@ -225,6 +209,9 @@ define_keymap(re.compile(browserStr, re.IGNORECASE),{
K("RC-Q"): K("RC-Q"), # Close all browsers Instances
K("M-RC-I"): K("RC-Shift-I"), # Dev tools
K("M-RC-J"): K("RC-Shift-J"), # Dev tools
K("RC-Left"): K("M-F14"), # Back
K("RC-Right"): K("M-F15"), # Forward
K("RC-Z"): K("M-F16"), # Undo Text/Closed Tab
K("RC-Key_1"): K("M-Key_1"), # Jump to Tab #1-#8
K("RC-Key_2"): K("M-Key_2"),
K("RC-Key_3"): K("M-Key_3"),
@@ -245,10 +232,7 @@ define_keymap(re.compile(chromeStr, re.IGNORECASE),{
})
# Opera C-F12
# None referenced here originally
# - but remote clients and VM software ought to be set here
# These are the typical remaps for ALL GUI based apps
define_keymap(lambda wm_class: wm_class.casefold() not in remotes,{
define_keymap(None,{
K("RC-Space"): K("Alt-F1"), # Default SL - Launch Application Menu (gnome/kde)
K("RC-F3"):K("Super-d"), # Default SL - Show Desktop (gnome/kde,eos)
K("RC-LC-f"):K("M-F10"), # Default SL - Maximize app (gnome/kde)
@@ -300,8 +284,6 @@ define_keymap(lambda wm_class: wm_class.casefold() not in remotes,{
K("Super-k"): [K("Shift-End"), K("Backspace")],
K("Super-d"): K("Delete"),
# K("M-RC-Space"): K(""), # Open Finder - Placeholder
# Wordwise
K("RC-Left"): K("Home"), # Beginning of Line
K("RC-Shift-Left"): K("Shift-Home"), # Select all to Beginning of Line
@@ -374,8 +356,8 @@ define_keymap(re.compile(codeStr, re.IGNORECASE),{
K("C-g"): K("f3"), # find_next
K("Shift-f3"): pass_through_key, # cancel find_prev
K("C-Shift-g"): K("Shift-f3"), # find_prev
# K("Super-c"): K("LC-c"), # Default - Terminal - Sigint
# K("Super-x"): K("LC-x"), # Default - Terminal - Exit nano
# K("Super-c"): K("LC-c"), # Default - Terminal - Sigint
# K("Super-x"): K("LC-x"), # Default - Terminal - Exit nano
# K("M-c"): K("LC-c"), # Chromebook/IBM - Terminal - Sigint
# K("M-x"): K("LC-x"), # Chromebook/IBM - Terminal - Exit nano
# K("Super-C-g"): K("C-f2"), # Default - Sublime - find_all_under
@@ -388,8 +370,8 @@ define_keymap(re.compile(codeStr, re.IGNORECASE),{
# Keybindings for Sublime Text
define_keymap(re.compile("Sublime_text", re.IGNORECASE),{
# K("Super-c"): K("LC-c"), # Default - Terminal - Sigint
# K("Super-x"): K("LC-x"), # Default - Terminal - Exit nano
# K("Super-c"): K("LC-c"), # Default - Terminal - Sigint
# K("Super-x"): K("LC-x"), # Default - Terminal - Exit nano
# K("M-c"): K("LC-c"), # Chromebook/IBM - Terminal - Sigint
# K("M-x"): K("LC-x"), # Chromebook/IBM - Terminal - Exit nano
K("Super-Space"): K("C-Space"), # Basic code completion

View File

@@ -55,11 +55,11 @@ def windows_setup():
os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; Chromebook)/$2$3/g" .\\windows\\kinto-new.ahk')
os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; WinModifiers/CB)/$2$3/g" .\\windows\\kinto-new.ahk')
if default == 3 or default == 4:
os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; CB\/IBM)/$2$3/g" .\\windows\\kinto-new.ahk')
os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; WinModifiers\/CB\/IBM)/$2$3/g" .\\windows\\kinto-new.ahk')
os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; CB/IBM)/$2$3/g" .\\windows\\kinto-new.ahk')
if default == 4:
kbtype = "ibm"
os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; IBM)/$2$3/g" .\\windows\\kinto-new.ahk')
os.system('C:\\Strawberry\\perl\\bin\\perl.exe -pi -e "s/(; )(.*)(; WinModifiers/CB/IBM)/$2$3/g" .\\windows\\kinto-new.ahk')
if default > 0 and default < 5:
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...")

View File

@@ -9,7 +9,7 @@
; https://www.autohotkey.com/boards/viewtopic.php?t=9501
OnMessage(0x404, "AHK_NOTIFYICON")
AHK_NOTIFYICON(wParam, lParam)
AHK_NOTIFYICON(wParam, lParam)
{
if (lParam = 0x202) { ; user left-clicked tray icon
;ADD ANY SUBROUTINE OR FUNCTION HERE
@@ -244,7 +244,7 @@ GroupAdd, intellij, ahk_exe idea64.exe
; Tertiary::LWin
; $LAlt::LCtrl ; CB/IBM
; $RAlt::RCtrl ; IBM
; $RAlt::RCtrl ; CB/IBM
; $RCtrl::RAlt ; CB/IBM
; $CapsLock::LWin ; IBM
; $LCtrl::LAlt ; CB/IBM
@@ -260,11 +260,8 @@ GroupAdd, intellij, ahk_exe idea64.exe
; $LCtrl::LWin ; MacModifiers
; Hack to disable start menu on winkey
; Static - Does not apply to IBM or Chromebooks
; $LCtrl up::Send {Ctrl down}{LWin up}{Ctrl up} ; Default
; LWin::return ; Chromebook
; RWin::return ; Chromebook
; RAlt::return ; Chromebook
; Static
$LCtrl up::Send {Ctrl down}{LWin up}{Ctrl up}
; Disable Win-Up/Down - interferes with Sublime text 3 multi-cursors
#Down::return
@@ -337,8 +334,7 @@ GroupAdd, intellij, ahk_exe idea64.exe
^F3::Send #d
; Emoji Panel
; #^Space::Send {LWin down};{LWin up} ; Default
; !^Space::Send {LWin down};{LWin up} ; CB/IBM
#^Space::Send {LWin down};{LWin up}
; Full Screenshot
^+3::Send {PrintScreen}
@@ -346,11 +342,31 @@ GroupAdd, intellij, ahk_exe idea64.exe
; Region Screenshot
^+4::Send #+{S}
; Open File Browser
; !^space::Send #e ; Default
; #^space::Send #e ; CB/IBM
; wordwise support
#if !winactive("ahk_group browsers")
$^Left::Send {Home}
$^Right::Send {End}
#if
#if winactive("ahk_group browsers")
$^Left::
if(blinking()){
Send, {Home}
}
else{
Send, !{Left}
}
Return
$^Right::
if(blinking()){
Send, {End}
}
else{
Send, !{Right}
}
Return
#if
$^+Left::Send +{Home}
$^+Right::Send +{End}
^Up::Send ^{Home}
^+Up::Send ^+{Home}
^Down::Send ^{End}
@@ -361,54 +377,6 @@ GroupAdd, intellij, ahk_exe idea64.exe
!+Left::Send ^+{Left}
!Right::Send ^{Right}
!+Right::Send ^+{Right}
$^Left::Send {Home}
$^+Left::Send +{Home}
$^Right::Send {End}
$^+Right::Send +{End}
; #if GetKeyState("LWin", "P") || GetKeyState("RAlt", "P") ; Chromebook
; Space::Send ^{Esc} ; Chromebook
; 0::Send #0 ; Chromebook
; 1::Send #1 ; Chromebook
; 2::Send #2 ; Chromebook
; 3::Send #3 ; Chromebook
; 4::Send #4 ; Chromebook
; 5::Send #5 ; Chromebook
; 6::Send #6 ; Chromebook
; 7::Send #7 ; Chromebook
; 8::Send #8 ; Chromebook
; 9::Send #9 ; Chromebook
; -::Send #- ; Chromebook
; =::Send #= ; Chromebook
; `::Send #` ; Chromebook
; `;::Send #; ; Chromebook
; a::Send #a ; Chromebook
; b::Send #b ; Chromebook
; c::Send #c ; Chromebook
; d::Send #d ; Chromebook
; e::Send #e ; Chromebook
; f::Send #f ; Chromebook
; g::Send #g ; Chromebook
; h::Send #h ; Chromebook
; i::Send #i ; Chromebook
; j::Send #j ; Chromebook
; k::Send #k ; Chromebook
; l::Send #l ; Chromebook
; m::Send #m ; Chromebook
; n::Send #n ; Chromebook
; o::Send #o ; Chromebook
; p::Send #p ; Chromebook
; q::Send #q ; Chromebook
; r::Send #r ; Chromebook
; s::Send #s ; Chromebook
; t::Send #t ; Chromebook
; u::Send #u ; Chromebook
; v::Send #v ; Chromebook
; w::Send #w ; Chromebook
; x::Send #x ; Chromebook
; y::Send #y ; Chromebook
; z::Send #z ; Chromebook
; #If ; Chromebook
#IfWinNotActive ahk_group terminals
; emacs style
@@ -426,8 +394,6 @@ GroupAdd, intellij, ahk_exe idea64.exe
$^Space::Send ^{Esc}
#IfWinActive ahk_group intellij
; $#c::Send ^{c} ; Default - Sigints interrupt
; $!c::Send ^{c} ; CB/IBM
; General
^0::Send !{0} ;Open corresponding tool window
^1::Send !{1} ;Open corresponding tool window
@@ -523,9 +489,18 @@ GroupAdd, intellij, ahk_exe idea64.exe
; Dev Tools
!^i::send {Ctrl Down}{Shift Down}i{Shift Up}{Ctrl Up}
!^j::send {Ctrl Down}{Shift Down}j{Shift Up}{Ctrl Up}
; Reopen closed tab or Undo text field
$^z::
if(blinking()){
Send ^z
}
else{
Send ^+t
}
Return
; Open preferences
#IfWinActive ahk_exe firefox.exe
^,::send, {Ctrl Down}t{Ctrl Up}about:preferences{Enter}
^,::send {Ctrl Down}t{Ctrl Up}about:preferences{Enter}
#If
#IfWinActive ahk_exe chrome.exe
^,::send {Alt Down}e{Alt Up}s{Enter}
@@ -578,8 +553,8 @@ GroupAdd, intellij, ahk_exe idea64.exe
^!Down::send ^{Down} ; scroll_lines down
; #+Up::send {shift up}^!{Up} ; Default - multi-cursor up
; #+Down::send {shift up}^!{Down} ; Default - multi-cursor down
; !+Up::send {shift up}^!{Up} ; CB/IBM - multi-cursor up
; !+Down::send {shift up}^!{Down} ; CB/IBM - multi-cursor down
; #+Up::send {shift up}^!{Up} ; CB/IBM - multi-cursor up
; #+Down::send {shift up}^!{Down} ; CB/IBM - multi-cursor down
^PgDn::Return ; cancel next_view
^PgUp::Return ; cancel prev_view
^+{::send ^{PgDn} ; next_view
@@ -588,8 +563,7 @@ GroupAdd, intellij, ahk_exe idea64.exe
^!Left::send ^{PgUp} ; prev_view
Insert::Return ; cancel toggle_overwrite
^!O::send {Insert} ; toggle_overwrite
; !c::Return ; Default - cancel toggle_case_sensitive
; $!c::send ^{c} ; CB/IBM - Sigint
!c::Return ; cancel toggle_case_sensitive
^!c::send !{c} ; toggle_case_sensitive
; ^h::Return ; cancel replace
^!f::send ^{h} ; replace
@@ -608,7 +582,6 @@ GroupAdd, intellij, ahk_exe idea64.exe
^+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
@@ -815,4 +788,22 @@ Send {RWin up}
Send {LWin up}
Send {RShift up}
Send {LShift up}
return
return
blinking(){
ClipSaved := ClipboardAll
clipboard := ""
status := False
Send, {Left}{Left}{Right}
Send, +{Right}
Send, ^c
Send, {Left}
ClipWait, 0.2
if(clipboard != "" ){
status := True
}
Sleep, 100
clipboard := ClipSaved
ClipSaved := ""
return status
}