1 (изменено: ypppu, 2010-10-24 20:57:19)

Тема: 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

Файл-значок для компиляции прилагается.

Post's attachments

letter.zip 2.89 kb, 181 downloads since 2010-10-24 

You don't have the permssions to download the attachments of this post.

2 (изменено: ypppu, 2010-11-11 01:16:35)

Re: Ahk: Ввод греческих букв

Скрипт получил дальнейшее развитие. Появилась папка "res" со вспомогательными файлами. Теперь можно назначать символы на клавиши прямо в keys.ini
Курсоры напоминают о режиме ввода.

Post's attachments

Greek2.3.zip 11.68 kb, 192 downloads since 2010-11-11 

You don't have the permssions to download the attachments of this post.