1 (изменено: -ExotiC-, 2012-07-03 23:16:03)

Тема: AHK: Можно ли использовать данное выражение?

Я совсем полный ноль в AHK
Вот принцип скрипта:
В GUI пользователь вводит в поле хоткея значение клавиши, например CapsLock. Надо чтобы это значение (CapsLock) заменяло другое значение (Numpad2). Т.е. если человек нажимает на клавиатуре CapsLock, то у него должен нажиматься не CapsLock, а Numpad2
Помогите с кодом пожалуйста, нужно ли применять переменную? И как её применять?
Как я понимаю, как должен выглядеть код:

Gui, Add, Hotkey, x38 y238 w55 h51 , = CapsLock
vk14::CapsLock

Я знаю что это не правильно, поэтому и прошу помощи. Заранее спасибо

2

Re: AHK: Можно ли использовать данное выражение?

-ExotiC-, ознакомься с этой темой, отредактируй заголовок.

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

3

Re: AHK: Можно ли использовать данное выражение?

teadrinker пишет:

-ExotiC-, ознакомься с этой темой, отредактируй заголовок.

Добавил

4

Re: AHK: Можно ли использовать данное выражение?

Так примерно:

Gui, Add, Hotkey, gHK vHK
Gui, Show
return

HK:
   if HKPrev
   {
      Hotkey, $%HKPrev%, Off
      HKPrev := ""
   }
   Hotkey, $%HK%, HKLabel, On UseErrorLevel
   if !ErrorLevel
      HKPrev := HK
   return
   
HKLabel:
   Send, {Numpad2}
   return

GuiClose:
   ExitApp

Не забываем ставить точку в конце предложений.

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

5

Re: AHK: Можно ли использовать данное выражение?

Спасибо, буду разбираться

6 (изменено: creature.ws, 2012-07-04 00:46:32)

Re: AHK: Можно ли использовать данное выражение?

При использовании Capslock в качестве горячей клавиши не помешает:

SetStoreCapslockMode, Off

7 (изменено: Indomito, 2012-07-04 07:43:31)

Re: AHK: Можно ли использовать данное выражение?

-ExotiC- я бы не стал использовать Capslock как HotKey, т.к. возможны коллизии - разве мало клавиш,  ну например можно задействовать WIN она по жизни не очень нужна, т.е. задействовать одиночное нажатие WIN без модификаторов.

Вот пример кода на основе которого можно сделать остальное -

;=====Блокируем отдельное нажатие клавиши WIN
~LWin Up::
~RWin Up::
return
"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

8

Re: AHK: Можно ли использовать данное выражение?

Спасибо всем большое

9 (изменено: -ExotiC-, 2012-07-07 22:28:42)

Re: AHK: Можно ли использовать данное выражение?

Еще хотел спросить, где надо правильно указывать позиции формы хоткея? Если указать так:

Gui, Add, Hotkey, x38 y172 w55 h51, gHK vHK

то хоткей не работает, не перенаправляет клавиши
___________________________
Извиняюсь, уже разобрался.

10

Re: AHK: Можно ли использовать данное выражение?

Переменная, ассоциированная, с элементом управления, а также метка перехода должны идти первым параметром.

Документация AutoHotkey пишет:

Hotkey (горячая клавиша)
. . .
Gui, Add, Hotkey, vMyHotkey, ^!p.

P. S.: Кстати, ссылка в коде Gui, Add, Hotkey должна направлять не туда, а сюда.

11

Re: AHK: Можно ли использовать данное выражение?

ypppu пишет:

Переменная, ассоциированная, с элементом управления, а также метка перехода должны идти первым параметром.

Документация AutoHotkey пишет:

Hotkey (горячая клавиша)
. . .
Gui, Add, Hotkey, vMyHotkey, ^!p.

P. S.: Кстати, ссылка в коде Gui, Add, Hotkey должна направлять не туда, а сюда.

Если честно, ничего не понял из написанного. Я совсем новичок

_______________
Другой вопрос

Gui, Add, Hotkey, gHK vHK, x22 y30 w60 h30

хоткей позицию не принимает почему-то

12

Re: AHK: Можно ли использовать данное выражение?

Параметры в командах перечисляются через запятую. Если параметр содержит несколько "Опций", они перечисляются внутри параметра через пробел.
То, чего Вы хотите добиться, скорее всего должно выглядеть так:

GUI, Add, Hotkey, gHK vHK x22 y30 w60 h30

где GUI - команда;
Add - подкоманда команды GUI;
Hotkey - первый параметр подкоманды Add;
gHK, vHK, x22, y30, w60, h30 - отдельные опции, а все вместе они являются вторым параметром подкоманды Add.

13

Re: AHK: Можно ли использовать данное выражение?

ypppu пишет:

Параметры в командах перечисляются через запятую. Если параметр содержит несколько "Опций", они перечисляются внутри параметра через пробел.
То, чего Вы хотите добиться, скорее всего должно выглядеть так:

GUI, Add, Hotkey, gHK vHK x22 y30 w60 h30

где GUI - команда;
Add - подкоманда команды GUI;
Hotkey - первый параметр подкоманды Add;
gHK, vHK, x22, y30, w60, h30 - отдельные опции, а все вместе они являются вторым параметром подкоманды Add.

Спасибо Вам большое за разъяснение, теперь все понял

Но появился еще один вопрос. Наверное уже запарил Вас В поле хоткея нельзя вставить значения Space, Ctrl, Shift, Tab, Alt и т.п. без доп. клавиши. Как можно реализовать чтобы эти значения вводились?

14

Re: AHK: Можно ли использовать данное выражение?

Читать справку, пользоваться поиском по форуму.

15

Re: AHK: Можно ли использовать данное выражение?

ypppu пишет:

Читать справку, пользоваться поиском по форуму.

Окей

16 (изменено: -ExotiC-, 2012-07-09 22:54:20)

Re: AHK: Можно ли использовать данное выражение?

-ExotiC- пишет:
ypppu пишет:

Читать справку, пользоваться поиском по форуму.

Окей

немогу никак найти.