1 (изменено: x15nicky, 2011-11-04 14:43:13)

Тема: AHK: инвертирование цифровых клавиш

Будучи php-программистом, я давно подумывал о том, что знаки верхнего ряда - !@#$%^&*() - должны yвводиться без шифта, и вот, нашел эту замечательную штуковину - AutoHotkey.

Реализуется это простеньким скриптом


$1::SendInput, +1 
$+1::SendInput, 1
$2::SendInput, +2 
$+2::SendInput, 2
$3::SendInput, +3 
$+3::SendInput, 3
$4::SendInput, +4 
$+4::SendInput, 4
$5::SendInput, +5 
$+5::SendInput, 5
$6::SendInput, +6 
$+6::SendInput, 6
$7::SendInput, +7 
$+7::SendInput, 7
$8::SendInput, +8 
$+8::SendInput, 8
$9::SendInput, +9 
$+9::SendInput, 9
$0::SendInput, +0 
$+0::SendInput, 0

(спасибо этим товарищам)

Далее, я решил сделать так, чтоб функциональность была доступна только в Notepad++
Я обрамил вышеозначенный код директивой #IfWinActive, Notepad++, но это не сработало, толи из-за того что титл окна Notepad-a содержит еще имя файла, толи директиву надо писать для каждой клавиши. Подскажите, плиз, как это реализовать.

И еще вопрос - вообще, у меня есть подозрение, что что-то я делаю не так. Вот, например, у меня не заработал скрипт Отображение загрузки процессора на кнопке Пуск
а  Онлайн переводчик и вовсе вывалился с ошибкой:
http://xmages.net/storage/10/1/0/e/3/upload/68b734d9.jpg
Файлы в юникоде.

Также, у меня не заработал вариант, предложенный на англоязычном форуме:


#Persistent 

Loop,10 { 
 num := A_Index - 1 
 Hotkey, $%num%, Number 
 Hotkey, $+%num%, ShiftNumber 
} 
return 

Number: 
 SendInput,% "+" SubStr(A_ThisHotkey,0) 
return 

ShiftNumber: 
 SendInput,% SubStr(A_ThisHotkey,0) 
return

Устанавливал Autohotkey, потом поверх него Autohotkey_L. подскажите, где грабли.

2

Re: AHK: инвертирование цифровых клавиш

x15nicky, у нас принято пользоваться шифтом. Отредактируй свой пост.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: инвертирование цифровых клавиш

На всякий случай нужно всё деинсталлировать, затем установить последнюю версию AHK_L, если Unicode — тогда скрипты должны сохраняться в UTF-8. Что касается #IfWinActive, то надо прочитать справку по SetTitleMatchMode.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder