Хорошо. Вот что я нагородил:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Раскладка клавиатуры Lexanni
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
Menu, Tray, NoStandard ; удаляем стандартные пункты меню (не пользовательские)
Menu, Tray, Icon, ScriptOn.ico, , 1 ; устанавливаем значек при запуске, "замораживаем" его
; чтобы не менялся на значек "S" при остановке скрипта)
; значки должны лежать рядом со скриптом
Menu, Tray, Tip, Остановлено ; всплывающая подсказка, при наведении курсора
Menu, Tray, Add, KeyHistory, ShowKeyHistory ; создаем свое меню значка в трее
Menu, Tray, Add, &Reload, ReloadScript
Menu, Tray, Add, &Exit, ExitScript
CapsLock:: ; Вкл/откл цифровой раскладки. CapsLock все еще можно включить, нажав его с Alt или с RShift ;)
If NumON := !NumON
{
Menu, Tray, Icon, NumOn.ico
Menu, Tray, Tip, Включена цифровая раскладка
TrayTip,, NumOn ; всплывающая подсказка
}
else
{
Menu, Tray, Icon, ScriptOn.ico
Menu, Tray, Tip, Работает! :)
TrayTip,, NumOff
}
return
<+CapsLock:: ; LShift + CapsLock -> Включение/отключение всех горячих клавиш
Suspend
If A_IsSuspended
{
Menu, Tray, Icon, ScriptOff.ico
Menu, Tray, Tip, Скрипт выключен :(
TrayTip,, Выключено
}
else
{
Menu, Tray, Icon, ScriptOn.ico
Menu, Tray, Tip, Работает! :)
TrayTip,, Банзай %A_UserName%! :)
}
return
;------Четвертый ряд и "."------
vkC0::Send, {U+0027} ; Ё -> '
+vkC0::Send, {U+002A} ; *
vk31::Send, {U+002D} ; 1 -> - (Hyphen-Minus)
+vk31::Send, {U+2014} ; — (Em Dash)
vk32::Send, {U+0022} ; 2 -> "
+vk32::Send, {U+2116} ; №
vk33::Send, {U+0028} ; 3 -> (
+vk33::Send, {U+0029} ; )
vk34::Send, {U+002C} ; 4 -> ,
+vk34:: Send, {U+003B} ; ;
vk35::Send, {U+002E} ; 5 -> .
+vk35::Send, {U+003A} ; :
vk36::Send, {U+0021} ; 6 -> !
+vk36::Send, {U+003F} ; ?
vk37::Send, {U+002E} ; 7 -> .
+vk37::Send, {U+003A} ; :
vk38::Send, {U+002C} ; 8 -> ,
+vk38::Send, {U+003B} ; ;
vk39::Send, {U+0029} ; 9 -> )
+vk39::Send, {U+0028} ; (
vk30::Send, {U+0022} ; 0 -> "
+vk30::Send, {U+0027} ; %
vkBF::Send, {U+0451} ; . -> ё
+vkBF::Send, {U+0401} ; Ё
;----- Цифры -----
#If NumON ; блок, заключенный между #If работает, когда NumOn возвращает значение true
vk41::Send, {U+0031} ; A -> 1
vk53::Send, {U+0032} ; S -> 2
vk44::Send, {U+0033} ; D -> 3
vk46::Send, {U+0034} ; F -> 4
vk56::Send, {U+0035} ; V -> 5
vk4E::Send, {U+0036} ; N -> 6
vk4A::Send, {U+0037} ; J -> 7
vk4B::Send, {U+0038} ; K -> 8
vk4C::Send, {U+0039} ; L -> 9
vkBA::Send, {U+0030} ; ; -> 0
vkBC::Send, {U+002C} ; , -> ,
vkBE::Send, {U+002E} ; . -> .
#If
;-----------------
ExitScript:
^CapsLock:: ; Ctrl + CapsLock - > Выход из скрипта
Suspend, Permit ; чтобы не отключалась после команды Suspend
ExitApp
return
ReloadScript:
#CapsLock:: ; Win + CapsLock -> Перезапуск
Suspend, Permit
Reload
return
ShowKeyHistory:
KeyHistory
return
Да, и еще надо добавить, что скрипт, наверное, будет работать только в AHK_L.