#IfWinNotActive ahk_class CalcFrame ;allow using Alt+2..4 in Windows Calculator
Shift & 2:: SendInput {@}
Alt & 2:: SendInput {"}
Shift & 3:: SendInput {#}
Alt & 3:: SendInput {№}
Shift & 4:: SendInput {$}
Alt & 4:: SendInput {;}
#IfWinNotActive
Shift & 6:: SendInput {^}
Alt & 6:: SendInput {:}
Shift & 7:: SendInput {&}
Alt & 7:: SendInput {?}
Alt & -:: SendInput {—}
RAlt & [:: SendInput {{}
RAlt & ]:: SendInput {}}
#If Getkeystate("Shift", "p") ; if shift is held the following hotkeys are active:
Ctrl & [:: SendInput {{} ;{ASC 123} ;здесь с RCtrl не работает Ctrl+Shift+[,]
Ctrl & ]:: SendInput {}} ;{ASC 125}
RAlt & `;:: SendInput {`;}
#If !Getkeystate("Shift", "p")
RCtrl & [:: SendInput {[} ;здесь с Ctrl не работает Ctrl+Shift+[,]
RCtrl & ]:: SendInput {]}
LCtrl & [:: SendInput {[}
LCtrl & ]:: SendInput {]}
RAlt & `;:: SendInput {:}
#If
RCtrl & `;:: SendInput {`;}
Alt & ':: SendInput {"}
Ctrl & ':: SendInput {'}
Alt & ,:: SendInput {<}
Alt & .:: SendInput {>}
Это позволит унифицировать ввод символов
@"#№$;^:&?[]{}'<>
, сделав его независимым от текущей раскладки.
А также можно добавить такое переназначение (впрочем, оно довольно спорное и неоднозначное) для двух самых
сложных клавиш на клавиатуре (включая единственную клавишу на русской клавиатуре, на которой нарисовано 4 символа):
{…
; ┌─────┐
Shift & \:: SendInput {/} ; │ | / │
Ctrl & \:: SendInput {|} ; │ \ │
Alt & \:: SendInput {|} ; └─────┘
SC035:: SendInput {.} ; ┌─────┐
Shift & SC035:: SendInput {,} ; │ ? , │
Alt & SC035:: SendInput {?} ; │ / . │
RWin & SC035:: SendInput {/} ; └─────┘
Хотя {…внимательно посмотрев на расположение этой клавиши {…
Cougar 300K:
┌─────┐ ┌─────────┐
│ } │ │ │
│ ] Ъ │ │ │
└─────┘ └─┐ ENTER │
┌─────┐ │ ◄───┘ │
│ | / │ │ │
│ \ │ │ │
└─────┘ └───────┘
} на самых {…
A4Tech KBS-8:
┌─────┐ ┌─────────┐
│ } │ │ │
│ ] Ъ │ │ │
└─────┘ │ │
┌─────┘ │
│ Enter◄─┘ │
│ │
└───────────────┘
┌────────────┐ ┌─────┐
│ △ Shift │ │ | │
│ │ │ \ │
└────────────┘ └─────┘
} разных {…
Sony VAIO VPCEC2M1R/WI:
┌─────┐ ┌─────────┐
│ } │ │ | / │
│ ] Ъ │ │ \ │
└─────┘ └─────────┘
┌───────────────┐
│ ◄───┘Enter │
│ │
└───────────────┘
┌───────────────────┐
│ △ Shift │
│ │
└───────────────────┘
} клавиатурах {…
Genius K641/KB-29e:
┌─────┐ ┌─────┐
│ | / │ │ ◄─ │
│ \ │ │ │
└─────┘ └─────┘
┌─────┐ ┌─────────┐
│ } │ │ │
│ ] Ъ │ │ │
└─────┘ │ │
┌─────┘ │
│ ◄─┘Enter │
│ │
└───────────────┘
} у меня возникла такая мысль, что {…этой клавиши вообще быть не должно. :)
{…Эта клавиша — кусочек, отколотый от клавиши Enter, или от клавиши Backspace, или от клавиши Shift. {…И этот кусочек можно назначить на ту клавишу, от которой он был отколот, но лучше просто оставить незадействованным, чтобы не путаться:
*\:: SendInput {} ;[https://autohotkey.com/docs/Hotkeys.htm#Symbols]:‘
;*...Wildcard: Fire the hotkey even if extra modifiers are being held down.’
А символы \
, |
, /
, .
и ,
{…можно набирать посредством одной клавиши /?,.
:
/*
┌─────┐
│ ? , │
│ / . │
└─────┘
┌┘ │ └┐
┌───────┐
│ , │◄─ Shift
LCtrl, LWinKey, LAlt, │ . │
Space\Пробел, RAlt ─►│ / | \ │◄─ AppsKey, RCtrl
└───────┘
▲
RWinKey
*/
SC035:: SendInput {.}
Shift & SC035:: SendInput {,}
SC035 & Shift:: SendInput {,}
LCtrl & SC035:: SendInput {/}
SC035 & LCtrl:: SendInput {/}
LWin & SC035:: SendInput {/}
SC035 & LWin:: SendInput {/}
Alt & SC035:: SendInput {/}
SC035 & Alt:: SendInput {/}
SC035 & Space:: SendInput {/}
;Space & SC035:: SendInput {/}
RWin & SC035:: SendInput {|}
SC035 & RWin:: SendInput {|}
AppsKey & SC035:: SendInput {\}
SC035 & AppsKey:: SendInput {\}
RCtrl & SC035:: SendInput {\}
SC035 & RCtrl:: SendInput {\}
}}}}}.
}