Thanks for your attention, lexikos!
lexikos wrote:but my installed version of MPC-HC does not show VK codes to the user; it shows letters.
Yes, they all show letters relevant to buttons vk-codes in standart US layout.
I tested all software in list with 3 layouts: standart US, US Dvorak, some non-US layout.
US Dvorak has different vk-codes for buttons, so same letter has the same vk as this letter in standart US layout.
Any non-US layout buttons has same vk-codes for buttons, so same buttons has the same vk-codes as in standart US layout.
If the letters were used,
Z key which corresponds to the letter
W in Fr-Belgium would not be displayed in control as
Z, and set as
Z in US layout.
In AutoHotkey, on the contrary,
Z::MsgBox triggered on
W button, because it correspond
Z letter in Fr-Belgium.
If SC-codes were used, US Dvorak
D letter would be displayed (and set) as
E.
That's how i figured out, that only VK-codes are using by all of them.
lexikos wrote:the vast majority of users find letters easier to understand and recognize
Totally agree with that
. The trick is to let the user interact with letters, but inside to use the vk-codes.
Whenever however shortcut create, it
transform user
letters to vk-codes. All programs follow this standard, so who needs letter hotkeys?
If smb needs, there must be Hotkey option/modifier for them. This is the much lesser evil, than forcing coders (who will distribute their script and use Hotkey control) to translate the letters to vk-codes, aware non-working in US layout hotkeys which were installed in the local layout.
Code: Select all
/*
Symbol | Description
= | Use letter instead vk-code of key in en-US layout,
| fire the hotkey only if key reproduce the same letter in current layout.
*/
w::MsgBox ; - vk57::MsgBox
; ↑ - in v1.1.27.00 it done differently way: only if letter not exist in layout,
; but there are always some LETTERS that exist in both non-US and US layout ON DIFFERENT BUTTON.
; See example with Fr-Belgium above.
=w::MsgBox ; - w::MsgBox - Fire only on W letter (ahk before 1.1.27.00)
; No cheacks, no "If", easy and predictable.
I understand that this is not about gui control, but Hotkey command organization
.
Anyway this possible change is supports backward compatibility
. Hope at least in the v2 the Hotkey method to change.