Changed OnMessage to register new monitors to be called last if MaxThreads is negative. The parameter's absolute value is used for the actual maximum thread count. For example:
Code: Select all
OnMessage(0x8000, Func("First"))
OnMessage(0x8000, Func("Second"), -1) ; -1 gives it a lower priority than any previously registered monitors.
DetectHiddenWindows On
SendMessage 0x8000,,,, ahk_id %A_ScriptHwnd%
ExitApp
First() {
MsgBox First
}
Second() {
MsgBox Second
}
- Single-character end keys (not in braces) are now handled by character, not by VK. If you type that character, Input is ended with ErrorLevel = EndKey:c (where c is the character). End characters respect the active window's keyboard layout and modifier key state (just like the output and match list). The 'C' (case sensitive) option is also respected.
- Keys in braces, like {a}, are still handled by VK as in the stable branch.
- a produces EndKey:a or EndKey:A depending on what was typed, and is not triggered if Alt or Ctrl are held down. If the C option is used, typing A does not end input (unless A is also listed as a separate end key).
- {A} produces EndKey:A and is triggered regardless of the Ctrl, Alt or Shift keys or the C option.
- й produces EndKey:й or EndKey:Й instead of EndKey:Q (as in the stable branch), and respects the active window's keyboard layout, the modifier key state and C option. It also works regardless of the script's keyboard layout, and is never triggered by typing Q.
- {й} produces EndKey:й instead of EndKey:Q, but still requires that the script's keyboard layout contains й and can be triggered by typing Q (when they have the same VK code, and multiple keyboard layouts are in use).
- " does not trigger if the Alt or Ctrl keys are held down, whereas {"} acts as before (it ignores the Alt and Ctrl keys but requires the Shift key).