v1.1.37

Community news and information about new or upcoming versions of AutoHotkey
lexikos
Posts: 9592
Joined: 30 Sep 2013, 04:07
Contact:

v1.1.37

02 Jul 2023, 04:02

Changed COM method and property calls to pass large integers as VT_I8, not VT_R8 (floating-point), so the original type and precision is retained. Integers in the 32-bit range are still passed as VT_I4.

Added support for two-variable enumerators (for-loops) with IDispatch-wrapped AutoHotkey objects. Both the script invoking the object and the object itself must be running a supported AutoHotkey version.

Added support for ByRef VARIANT in incoming COM calls. Instead of receiving a ComObject wrapper with the VT_BYREF|VT_VARIANT variant type, the script receives a temporary variable compatible with a normal ByRef parameter.

Added support for omitting parameters in incoming COM calls. IDispatch allows omitting parameters by specifying a VARIANT of type VT_ERROR with value DISP_E_PARAMNOTFOUND. These values are now translated automatically instead of being wrapped in an object. The reverse translation was already done when calling COM methods in previous versions.

Fixed VerCompare(a, ">" b) and reduced code size marginally.
Fixed AltTab-related load-time errors to be consistent with other errors.
Fixed errors thrown by a ComObject wrapper not being propagated correctly if it is called via an object/COM.
Fixed the Hotkey GUI control to allow setting the symbols ^, ! and + as hotkeys.
Fixed the Hotkey control to include modifiers when its value is set to a symbol.
Fixed Menu Add overwriting items which were appended by Menu Insert.
Fixed potential misbehaviour of InputHook.KeyOpt() with single chars.
  • Option removal potentially not affecting the corresponding SC.
  • Options potentially also being applied to sc000.
Fixed a bug with custom combos where a set of hotkeys like a & b::, a:: and a up:: would fail to suppress the release of a if a:: alone is disabled with #If.
Fixed a bug where a key-down event is correctly suppressed by a hotkey, but sending an additional key-down with SendLevel > 0 would prevent the subsequent key-up from being suppressed, even if the sent event is ignored due to #InputLevel.
Fixed a & b up:: not suppressing b if a & b:: is present but disabled by #If.

Optimized allocation of cached COM property names for built-in IDispatch.
Refactored code to support a build configuration for AutoHotkey as a DLL.

SHA256 hashes
lexikos
Posts: 9592
Joined: 30 Sep 2013, 04:07
Contact:

v1.1.37.01

08 Jul 2023, 00:48

Fixed an issue with hotkeys not firing due to a race condition. If a modifier hotkey such as ~*RWin:: called Send or GetKeyState too soon, the OS could report that RWin isn't down, so the hook's modifier state would be "corrected" and hotkeys would wrongly fire or fail to fire. This was likely to occur only if another keyboard hook was installed more recently than the script's own hook, since in that case the OS would not update key state until the other hook's thread has resumed and returned.

Fixed hotstrings to use the Last Found Window set by #If.

Fixed MouseGetPos, ControlClick, ContextMenu Gui events and DropFile Gui events erroneously detecting a control at a specific point which actually lies one pixel below or to the right of the control.

Fixed an issue where any attempt to reinstall the keyboard or mouse hook would fail if the OS had automatically uninstalled the hook. It is still necessary to meet certain conditions before any such attempt can be made.

SHA256 hashes
lexikos
Posts: 9592
Joined: 30 Sep 2013, 04:07
Contact:

v1.1.37.02

16 Mar 2024, 01:42

Fixed inability of LWin::Alt to be used to activate some Alt-combos.

Fixed mouse AltTab hotkeys not suppressing execution of a prefix hotkey, such as 1:: for 1 & WheelDown::AltTab. (Broken by v1.1.37.00)

Fixed hook hotkeys not recognizing modifiers which are pressed down by SendInput.

Fixed some issues affecting suppressed Alt/Ctrl/Shift/Win hotkeys, such as:
  • *LCtrl:: blocked LCtrl from the active window, but sending Alt-key combinations would fail because the system thinks Ctrl is down, and would therefore send WM_KEYDOWN instead of WM_SYSKEYDOWN.
  • *LAlt:: caused the system to forget any prior {LAlt DownR}, so a remapping such as LCtrl::LAlt would not behave correctly while LAlt is physically down, even though LAlt was suppressed.
  • Other potential issues where the system's low-level tracking of a modifier key doesn't match up with the logical state.
Fixed A_Clipboard ignoring assignment of pure numeric values.

Fixed SendInput failing to release LCtrl after having released RAlt (if it isn't AltGr).

Fixed new threads being unable to prevent a message check with Critical.

SHA256 hashes


See also: End of Life: v1.1

Return to “Announcements”

Who is online

Users browsing this forum: No registered users and 84 guests