According to the MapVK call docs, it sets the high bit of the result if a dead key, so we can screen them out (I think).
Quote:
MAPVK_VK_TO_CHAR
2 The uCode parameter is a virtual-key code and is translated into an unshifted character value in the low order word of the return value. Dead keys (diacritics) are indicated by setting the top bit of the return value. If there is no translation, the function returns 0.
|
So we can test and remove the high bit if that is the right course of action for shortcuts when diacritic chars are entered.