Getting the wrong keyboard in Access?

by Michael S. Kaplan, published on 2006/05/04 16:05 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/05/04/590167.aspx


Let me start by saying that I owe John Viescas a huge apology.

I should probably explain....

You see, I knew John from back in the old days when we both 'Access Insiders' and I think we were also both MVPs at the same time.

Anyway, a few years ago he lent me a very cool video tape entitled Video Catnip: Entertainment For Cats. I was skeptical since my cats never got into watching the television no matter what was playing. But I put the tape in and all four cats that I had at the time loved it!

Unfortunately, I forgot to return the tape to him. I just found it over the weekend while I was cleaning up some stuff and it was on my list of things to do to apologize to John for being so insensitive and obnoxious when he actually sent me a piece of email with a question from a customer!

Here is how the question from Kevin (the customer) went:

Dear All,

Is that possible to set a default input Language for a database? I am using a Chinese operating system. Everytime when I open a form and > and input texts into textboxes, it always appears Chinese input Language, even after I set the computer default input language to English. This annoys me and my colleagues alot! I want the English as default input method for my access forms, while I can use the hotkey to call Chinese language, only when I need it sometimes.

Thanks,
Kevin

An interesting question, especially in scenarios like this one, where John (after some further questions), found out that this was an English version of Microsoft Access installed on a Chinese version of Windows.

I am not 100% sure, but I have seen problems like this before. The first place to look for assistance is often not at Windows or its settings like the default input language. Because like most of Office, there are many times that Access thinks it may know better what to do here.

Office works under the theory that most people do not understand the Windows UI to change these things. I can't argue with that point, but as I discussed previously where Office was overriding ClearType settings, it is usually best to not override them. This can lead to confusion, so even though they are right that the Windows behavior is confusing, the Office behavior is confusing too. So the one feature that an app can have going for it (consistency) is lost....

Ok, enough ranting. :-)

The best place to start is with the IMEMode property of the various controls -- see what that property is set to for the controls in question. Although the help topic claims that 0 (acImeModeNoControl) is the default setting, in my experience that is not always the case. Especially when you are in a situation where there is a good faith basis to believe that a different default might be desired).

There are other flaws in the help topic, such as the implication that it is a Japanese-only feature by talking in the topic about KanjiConversion as if that were part of the property name (it is not) and the lack of information for any other CJK language (though it is kind enough to at least list the Hangul-specific constants for Korean users!).

Note that the form control properties are set when the form is created (based on the template form) and thus changing settings in Windows will usually not have the desired effect (changing the setting in the form controls).

I can't think of any other possible causes for this sort of problem offhand, though hopefully setting this property appropriately will get things back on track....

Beyond that you can actually use the Win32 API functions like LoadKeyboardLayout and/or ActivateKeyboardLayout to get the right keyboard loaded when you want it, for all of the non-IME and non-TSF cases.

Was there anything else?

Oh yeah -- John -- sorry about the videotape. If I buy you the DVD version can we cal it even? :-)


Roger Sherman on 21 Apr 2010 1:40 PM:

Michael,

Can you clear up something for me?  I have used the MS Japanese IME for years -- now in conjunction with Windows 7 and Office 2007 (default language for both: US English).  When editing a document (in English or Japanese), if I invoke the Japanese IME (alt-shift), it always defaults to half-width alphanumeric (Roman) input mode, rather than hiragana input mode.  In the properties control panel (General tab), the input settings are: Input method = Romaji Input and Default input mode = Hiragana.

Do you have any idea why the IME doesn't default to hiragana (producing hiragana in response to my Roman input)?  Whenever I invoke the IME I want to produce Japanese text, not English.  It would be much more convenient if it would default to hiragana input, so that I don't have to switch the input mode every time I use it.  Shouldn't the IME's behavior follow my settings?

Thanks,

Roger Sherman

Michael S. Kaplan on 21 Apr 2010 5:00 PM:

Something for the suggestion box, maybe?


go to newer or older post, or back to index or month or day