Fix generation of key events for non-alphabetic keys under Windows.
Don't hardcode the values of VK_OEM_XXX keys which are completely nonsensical on keyboards with non-US layouts. Use the real unshifted value of the key as its key code instead -- at least if it's a Latin-1 character. Otherwise, use WXK_NONE as the key code and pass the character generated by the key as Unicode character code. Also generate WXK_NONE events for dead keys to avoid confusing them with the corresponding normal key events. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -25,7 +25,11 @@ namespace wxMSWKeyboard
|
||||
// Translate MSW virtual key code to wx key code. lParam is used to distinguish
|
||||
// between numpad and extended version of the keys, extended is assumed by
|
||||
// default if lParam == 0.
|
||||
WXDLLIMPEXP_CORE int VKToWX(WXWORD vk, WXLPARAM lParam = 0);
|
||||
//
|
||||
// Returns WXK_NONE if translation couldn't be done at all (this happens e.g.
|
||||
// for dead keys) or if the key corresponds to a non-ASCII character in which
|
||||
// case uc is filled with its Unicode value.
|
||||
WXDLLIMPEXP_CORE int VKToWX(WXWORD vk, WXLPARAM lParam = 0, wchar_t *uc = NULL);
|
||||
|
||||
// Translate wxKeyCode enum element (passed as int for compatibility reasons)
|
||||
// to MSW virtual key code. isExtended is set to true if the key corresponds to
|
||||
|
Reference in New Issue
Block a user