CintaNotes Developer wrote:gunars wrote:I'd say the combined Ctrl+Alt modifier should cause the keypress to be treated as an alphanumeric character. Otherwise the help description becomes "enter any character, except for one with accents, to jump to the search box..."
That's a bit too specific - I guess that in the world not only Ctrl+Alt is used to enter accented characters.
I strongly suspect that it can be fixed in an easier and more universal way (by handling the WM_UNICHAR message instead of WM_CHAR, if it tells you anything). I've registered it as a bug on the issue tracker.
The two methods used by Windows, besides the IMEs used for Asian languages, are a) the AltGr+letter we've been talking about and b) the dead key combination (e.g. the '~' key followed sequentially by 'n' = ñ). If you install the English US International keyboard, you'll see it actually uses both methods in the same driver to get different accents. The key sequences for them are described here:
http://www.forlang.wsu.edu/help/keyboards1.aspFor example:
These are produced with dead keys: ` followed by letter = è à ò
These are produced with: RightAlt + letter (or Ctrl + LeftAlt + letter) é á ó
In either case, TranslateMessage will send you a WM_CHAR with the accented character already composed (for dead keys, the WM_CHAR has the combined letter plus accent already, so ignore the WM_DEADKEY). So, the only thing to handle is WM_CHAR as you now do. The dead key characters work just fine in CN to shift focus to the search box.
I suspect that when you're getting a WM_CHAR, you're also checking for Alt or Ctrl being pressed in case they're used by the GUI. If found, you don't shift focus and don't pass on the character to the search box. The only thing needed for this to work properly is to also check for
both Ctrl and Alt pressed together - in that case, just pass the WM_CHAR as you would for any other character.
WM_UNICHAR I believe is just the UTF-32 version of WM_CHAR (UTF-16).
Please take this info with caution - it's been a while since I've worked with this stuff.
Gunars