Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

v1.0.40 released: A simpler/better remapping method.


  • Please log in to reply
20 replies to this topic
Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
Here are the changes for v1.0.40:

Fixed the mouse and keyboard hooks so that failure to activate them behaves correctly.

Changed the Send command for Russian and other keyboard layouts to be able to produce more ASCII characters (such as the letters A to Z). This does not affect most Western European and English layouts.

Changed hotkeys that are a subset of a wildcard hotkey to take precedence. For example, if *x and ^x are both hotkeys, pressing ^x will now trigger ^x rather than *x.

Improved syntax so that double colons do not need to be escaped.

Improved Send and ControlSend with option {Blind}, which leaves Ctrl/Alt/Shift/Win pressed down if they started that way.

Added a new remapping method that is more simple and powerful than the old methods. For example:
a::b  ; Make the "a" key become "b".
Capslock::Ctrl  ; Make Capslock become a Control key.
XButton1::LButton  ; Make the fourth mouse button behave like the left mouse button.
RCtrl::RWin  ; Make the right Control key become the right Windows key.


corrupt
  • Members
  • 2558 posts
  • Last active: Nov 01 2014 03:23 PM
  • Joined: 29 Dec 2004
Nice improvements :D. Thanks.

Tekl
  • Members
  • 814 posts
  • Last active: May 03 2009 03:28 PM
  • Joined: 24 Sep 2004
Hi,

really nice. Is remapping fixed liked the hotstrings or could it they be set dynamically like Hotkeys?
Tekl

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
Although the Hotkey command can't use the built-in remapping syntax, it can achieve the same result by creating the "Send {Blind}" hotkeys used by the remap feature internally. These hotkeys are documented on the remap page.

Tekl
  • Members
  • 814 posts
  • Last active: May 03 2009 03:28 PM
  • Joined: 24 Sep 2004
Hi,

I thought there was a internal difference between a::b and simulating it with Send.
Tekl

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
It was originally planned that the remapping would use the keyboard hook as a black box into which a keystroke would flow, only to emerge later as a different keystroke. However, the OS low-level hook feature does not support this.

Therefore, when you write a remapping such as a::b in a script, the program translates it into the following:

*a::
SetKeyDelay -1 ; If the destination key is a mouse button, SetMouseDelay is used instead.
Send {Blind}{b down}
return

*a up::
SetKeyDelay -1
Send {Blind}{b up}
return

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
Here are the changes for v1.0.40.01:

Fixed the title bars of script-owned windows to respond correctly to left and right down-clicks generated by the script's own hotkeys. [thanks Shimanov]

Fixed inability of OnMessage to consistently monitor certain messages such as WM_GETMINMAXINFO.

Changed Critical to be temporarily off during MsgBox and other dialogs.

Added command "Thread NoTimers", which prevents a thread from being interrupted by timers.


CHANGES FOR GUI

Fixed GuiContextMenu's A_GuiControl to be accurate for Text and Picture controls inside a GroupBox or Tab control.

Fixed GuiControl to properly redraw Picture controls and transparent Text controls when they are given new contents.

Increased the width of auto-sized Checkboxes and Radio Buttons by 1 pixel to prevent wrapping on certain desktop themes.

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
Here are the changes for v1.0.40.02:

Fixed "Transform Unicode" to be able to produce a Unicode string whose first byte is zero. [thanks Shimanov & Laudrin]

Reduced the size of compiled scripts by 20 KB by having the compiler minimize code size in sections that don't affect script performance. Although a suite of benchmarks confirms that performance is at least as good as it was before, real world performance is sometimes different. So if you discover any script that performs worse than it did before, please let me know your CPU type and the nature of the script.

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
In v1.0.40.03 there is only one change:

Because some other solution is necessary, the 1-pixel increase for Checkboxes and Radio Buttons in v1.0.40.01 has been undone.

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
Here are the changes for v1.0.40.04:

Fixed WinGetText and ControlGetText to work on apps that respond incorrectly to WM_GETTEXT (such as AIM). [thanks Yarbuck]

Changed the program to align all data on 32-bit boundaries, which solves DllCall structure issues. [thanks Shimanov]

---------------------

I've also added a special minimum-sized AutoHotkeySC.bin file here:
http://www.autohotke... ... n_size.zip

It reduces the size of compiled scripts by an additional 20 KB. Thus, a short script might compile to around 160 KB. However, please consider this bin file to be beta because it calls C library functions inside of the OS's copy of MSVCRT.dll (which might be out of date and thus have bugs) instead of building those functions into the program. Although Windows 2000/XP or later always have MSVCRT.dll, older OSes might not, and the script won't be launch if OS doesn't have the DLL.

Please let me know if you have any trouble with this new bin file.

Edit: Updated URL for the special AutoHotkeySC.bin file.

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
Here are the changes for v1.0.40.05:

Fixed Ceil(), Floor(), and "Transform Ceil/Floor" to give the correct answers for all inputs. [thanks Litmus Red]

Fixed remapping so that "Enter" can be a destination key. [thanks jocamero]

Changed ahk_id to work on hidden child windows (controls) without the need for DetectHiddenWindows.

Improved Post/SendMessage to accept quoted/literal strings for wParam/lParam.

--------------

The minimum-sized AutoHotkeySC.bin file described in the previous post is automatically kept up-to-date with each new release. So if you use it, download the same zip file to upgrade.

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
Here are the changes for v1.0.40.06:

Fixed crash of abs() when called with an empty string. [thanks Laszlo]
Fixed the number -0x8000000000000000 in expressions. [thanks Laszlo]

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
In v1.0.40.07, a memory leak has been fixed that occurred when a script called a function recursively. [thanks Laszlo]

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
In v1.0.40.08, ComboBoxes have been fixed to yield the proper selection when: 1) GuiControl altered the Edit field; or 2) the user manually typed a matching item into an AltSubmit ComboBox. [thanks Tekl]

Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004
In v1.0.40.09, hotkeys such as ^q were fixed to trigger the "*q up" hotkey upon release instead of the ^q hotkey a second time. A hotkey such as *q must also be present to cause this bug. [thanks John221]