How can I use ToUnicode without breaking dead key support?

Posted by Cypherjb on Stack Overflow See other posts from Stack Overflow or by Cypherjb
Published on 2010-04-09T01:24:11Z Indexed on 2010/04/09 7:53 UTC
Read the original article Hit count: 367

Filed under:
|
|
|
|

A similar question has already been asked, so I'm not going to waste time re-explaining it, an existing discussion can be found here: http://stackoverflow.com/questions/1964614/toascii-tounicode-in-a-keyboard-hook-destroys-dead-keys

The reason I'm posting a new question however is that I seem to have come across a 'solution', but I'm not quite sure how to implement it.

This blog post seems to propose a solution to the problem of ToUnicode killing dead-key support: http://blogs.msdn.com/michkap/archive/2005/01/19/355870.aspx

However I'm not sure how to implement the suggested solution. A push in the right direction would be greatly appreciated.

To be clear, the part I'm referring to is this: "There are two ways to work around this:

1) You can keep calling ToUnicode with the same info until it is cleared out and then call it one more time to put the state back where it was if you had never typed anything, or

2) You can load all of the keyboard info ahead of time and then when they type information you can look up in your own info cache what the keystrokes mean, without having to call APIs later."

I'm not quite sure how to do either of those things (keyboards and internationalization are far from my strong point), so any help would be greatly appreciated.

Thanks

© Stack Overflow or respective owner

Related posts about c++

Related posts about Windows