Что означает звездочка в начале строки скрипта AHK?

Я пытаюсь изменить сценарий AHK, который мне нравится, но не совсем понимаю.

Что означает звездочка в начале этой строки скрипта?

*capslock::

Означает ли пара двоеточий в конце, что эта строка является лишь частью оператора? Продолжается ли он до следующей строки?


person lance    schedule 26.04.2012    source источник


Ответы (1)


Запускает горячую клавишу независимо от удерживаемых модификаторов.

http://www.autohotkey.com/docs/Hotkeys.htm

Подстановочный знак: активировать горячую клавишу, даже если удерживаются дополнительные модификаторы. Это часто используется в сочетании с переназначением клавиш или кнопок. Например:

Win+C, Shift+Win+C, Ctrl+Win+C и т. д. вызовут эту горячую клавишу.

*#c::Run Calc.exe  

Нажатие Scrolllock активирует эту горячую клавишу, даже если клавиша(и) модификаций нажата.

*ScrollLock::Run Notepad 

Редактировать: Хм, не видел вторую часть.

Если у вас есть один оператор, вы помещаете его все в одну строку, как указано выше. Если у вас есть несколько операторов, вы должны поместить новую строку после :: и поставить return в конце.

#w:: MsgBox "Windows+W FTW"
#q::
  MsgBox "Windows+Q FTW"
  MsgBox "Another annoying message box!"
  return

У меня есть способ использовать клавишу capslock в качестве модификатора, который мне больше нравится:

;; make capslock a modifier, make shift-capslock a true capslock
setcapslockstate, OFF ;SetCapsLockState, alwaysoff

$*Capslock::   ; $ means that the hotkey code shouldn't trigger its own hotkey
  Gui, 99:+ToolWindow 
  Gui, 99:Show, x-1 w1 +NoActivate, Capslock Is Down 
  keywait, Capslock 
  Gui, 99:Destroy 
  return 

; Made a window show up when the capslock is pressed.

; Now, if that hidden windown is there, do anything you like
#IfWinExist, Capslock Is Down 
   j::Left 
   k::Right 
   i::Up 
   m::Down 
#IfWinExist 

; Oh, by the way, right-alt and capslock works like real capslock
ralt & Capslock::
  GetKeyState, capstate, Capslock, T
  if capstate = U
  {
    SetCapsLockState, on
  } else {
    SetCapsLockState, off
  }
  return     
person Jeff Walker    schedule 26.04.2012
comment
Для более современных версий AHK вам придется удалить знак плюса в +NoActivate, чтобы он работал. В противном случае это сработало отлично. Спасибо! - person joeshmo; 25.11.2019