Christopher Janzon
Christopher Janzon

Reputation: 1039

Hotkey control keycodes confusion

HKM_GETHOTEKY returns virtual key code and modifiers but they're not the same as the ordinary virtual key codes? What is the purpose of HOTKEYF_EXT and how do i use it?

If i press F5 the hotkey control returns 0x74 which is VK_F5, but when i press the right arrow key, it returns 0x27 which is VK_RIGHT and the HOTKEYF_EXT bit is set on the modifier. If i use HKM_SETHOTKEY with VK_RIGHT as virtual key and no modifiers, it shows "Num 6"

I find this very strange and I need to be able to pass any virtual keys to the hotkey control window, and therefore i need to understand this HOTKEYF_EXT modifier.

Upvotes: 0

Views: 526

Answers (1)

Hans Passant
Hans Passant

Reputation: 942010

"Extended keys" are keys that were added to the original IBM PC keyboard layout. Which looked like this:

enter image description here

Note how it didn't yet have dedicated cursor keys, they were integrated with the keypad at the right. And note how the right-arrow matches Numpad-6. The dedicated right-arrow key added to later keyboard layouts (the Enhanced layout with 101 keys) is distinguished by the HOTKEYF_EXT bit.

Upvotes: 1

Related Questions