Тема: Ahk: Ввод греческих букв
Если Вам часто приходится вводить греческие символы, может пригодится следующий скрипт.
Нажатие Caps Lock включает/отключает режим греческих букв. Удерживая Shift, вводим заглавные.
#Singleinstance, force
SetKeyDelay, -1, -1
;======================== Меню ===================================
Menu, Tray, NoStandard
Menu, Tray, Add, Отключить, sub1
Menu, Tray, Add, Помощь, sub2
Menu, Tray, Add
Menu, Tray, Add, Выход%a_tab%, sub3
return
sub1:
CapsLock::
Suspend
If A_IsSuspended = 1
{
Menu, Tray, Icon, %A_WinDir%\system32\shell32.dll, 76, 1
menu, tray, rename, Отключить, Включить
}
Else
{
menu, tray, icon,*
menu, tray, rename, Включить, Отключить
}
return
sub2:
return
sub3:
Exitapp
;================ Горячие клавиши =================================
;Заглавные
+vk46:: SendU(0x391) ;А Альфа
+vkBC:: SendU(0x392) ;Б Бета
+vk44:: SendU(0x392) ;В Бета
+vk55:: SendU(0x393) ;Г Гамма
+vk4C:: SendU(0x394) ;Д Дельта
+vk54:: SendU(0x395) ;Е Эпсилон
+vk50:: SendU(0x396) ;З Дзета
+vkDE:: SendU(0x397) ;Э Эта
+vkBE:: SendU(0x398) ;Ю Тета
+vk42:: SendU(0x399) ;И Йота
+vk51:: SendU(0x399) ;Й Йота
+vk52:: SendU(0x39A) ;К Каппа
+vk4B:: SendU(0x39B) ;Л Лямбда
+vk56:: SendU(0x39C) ;М Мю
+vk59:: SendU(0x39D) ;Н Ню
+vk57:: SendU(0x39E) ;Ц Кси
+vk4A:: SendU(0x39F) ;О Омикрон
+vk47:: SendU(0x3A0) ;П Пи
+vk48:: SendU(0x3A1) ;Р Ро
+vk43:: SendU(0x3A3) ;С Сигма
+vk4E:: SendU(0x3A4) ;Т Тау
+vk45:: SendU(0x3A5) ;У Ипсилон
+vk41:: SendU(0x3A6) ;Ф Фи
+vkDB:: SendU(0x3A7) ;Х Хи
+vkBA:: SendU(0x3A8) ;Ж Пси
+vk5A:: SendU(0x3A9) ;Я Омега
;строчные
vk46:: SendU(0x3B1) ;а альфа
vkBC:: SendU(0x3B2) ;б бета
vk44:: SendU(0x3B2) ;в бета
vk55:: SendU(0x3B3) ;г гамма
vk4C:: SendU(0x3B4) ;д дельта
vk54:: SendU(0x3B5) ;е эпсилон
vk50:: SendU(0x3B6) ;з дзета
vkDE:: SendU(0x3B7) ;э эта
vkBE:: SendU(0x3B8) ;ю тета
vk42:: SendU(0x3B9) ;и йота
vk51:: SendU(0x3B9) ;й йота
vk52:: SendU(0x3BA) ;к каппа
vk4B:: SendU(0x3BB) ;л лямбда
vk56:: SendU(0x3BC) ;м мю
vk59:: SendU(0x3BD) ;н ню
vk57:: SendU(0x3BE) ;ц кси
vk4A:: SendU(0x3BF) ;о омикрон
vk47:: SendU(0x3C0) ;п пи
vk48:: SendU(0x3C1) ;р ро
vk43:: SendU(0x3C3) ;с сигма
vk4E:: SendU(0x3C4) ;т тау
vk45:: SendU(0x3C5) ;у ипсилон
vk41:: SendU(0x3C6) ;ф фи
vkDB:: SendU(0x3C7) ;х хи
vkBA:: SendU(0x3C8) ;ж пси
vk5A:: SendU(0x3C9) ;я омега
;неиспользуемые
+vk58:: ;Ч
+vk49:: ;Ш
+vk4F:: ;Щ
+vkDD:: ;Ъ
+vk53:: ;Ы
+vk4D:: ;Ь
vk58:: ;ч
vk49:: ;ш
vk4F:: ;щ
vkDD:: ;ъ
vk53:: ;ы
vk4D:: ;ь
return
;===================== Функция ====================================
SendU(UC) { ; Send Unicode Char, Pressed modifier keys stay active!
VarSetCapacity(SendUbuf, 56, 0) ; INIT SendU data strucure
NumPut(1, SendUbuf, 0, "Char")
NumPut(1, SendUbuf,28, "Char")
NumPut(0x40000|UC, SendUbuf, 6)
NumPut(0x60000|UC, SendUbuf,34)
Return DllCall("SendInput", UInt,2, UInt,&SendUbuf, Int,28)
}
Большинство букв ассоциируются с русскими, к остальным можно привыкнуть.
Плюсы: не нужно браться за мышку и лезть в палитру; включается одним нажатием при любой раскладке.
Идея ypppu, реализация YMP.
http://forum.script-coding.com/viewtopic.php?id=4507
http://www.autohotkey.com/forum/post-218138.html#218138
Файл-значок для компиляции прилагается.