I am at wits end on this. This bug has irked me for over a decade, but it comes and goes so I live with it. I also have no choice.
Windows uses the "Input Method Editor" or IME to handle text input for languages where the keyboard alone is not sufficient to generate the characters. Chinese, Japanese and Korean are examples. The IME accepts text from the keyboard, assists in the conversion, and passes the values onto the target processes. For applications that are "IME aware", such as Office, the input and conversion is seamless and inline, within the application.
Some office apps - notable Access - sometimes send input method change requests to the IME for no apparent reason when you're developing. In particular, when I'm programming in the VBE, Access frequently just changes the input mode to Japanese spontaneously. I'll be in English input mode when I switch from the VBE to the main interface, English mode there, then when I switch back to the VBE it suddenly changes to Japanese. It's unbearably annoying.
Here's my question. Is it possible to create a Windows service whose job it is to watch the IME and block change input method requests? Or perhaps is there another viable solution? I haven't developed services before and my understanding is weak, but I suspect that it's possible. Here is a good reference on the subject.
I have Visual Studio .Net as a development tool if it's usable for this purpose.
Alternatively, I would happily pay someone to develop it if there are any takers.