Why Japanese IME always send WM_INPUTLANGCHANGE? - windows

i don't know about Japanese IME's when user change the IME ex) Microsoft IME -> Google IME
when i change the chinese ime in Chinese Language, like Pinyin -> Shuang Pin
They don't send the message to window anything.
but when i change japanese ime, they alwasys send the message WM_INPUTLANGCHANGE
but my language is still Japanese.
there is no language changing. this is a changing of ime.
i want to know why.

I Answer my question because i find the problem.
if someone has a same problem, i want to give you some hint.
when Keyboard Layout Change, it should be occur WM_INPUTLANGCHANGE.
windows has a default Keyboard layout. and you can find these layout in registry.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
Alomost IME is matched one by one as a language.
but Google IME is special.
Japanese GoogleIME has it's own Keyboard Layout.
so, when i try to switch from Microsoft IME to Google IME,
this is not a switching of IME.
this is a Changing of Keyboard Layout.
i didn't check all of IMEs but i think Some IME has their own Keyboard layout.
this is why WM_INPULANGCHAGE Message is Called.

Related

Auto switch language to English when switching from an app to MacVim

I have two languages on my system ie English and Russian. Often I have a need to jump into a chat and type stuff in Russian, when I switch back from the messenger app or any other for that matter to MacVim I want the system or MacVim itself to switch the current language to English by default. I have not been able to find a solution so here is my question, perhaps someone has already achieved this behaviour.

How can i change the languae of the keyboard?

My app has a language selection option where all the text can be changed to display their selected language. is it possible to change the text of the keyboard programatically? Right now they can choose from english, french, chinese and spanish. Is this possible?
It isn't possible in iPhone as it allows the user to change only the keyboard language from the Settings > General > Keyboard. However, you can change keyboard language by pressing Globe Icon which is given at left-bottom in the keyboard but before changing it you must have added different languages in keyboard.

Windows Forms, can't change IME mode?

I simply created a Windows Forms application in Visual Studio using the template and launched it. I want to receive text input without using a standard text box. When the form is active, I'm able to change the input language. But I cannot change IME mode. E.g. when the input language is Japanese, the IME mode icon in the tray becomes a circle with a cross in it. When I hover the mouse over, the tooltip says "IME disabled". Any ideas? Thanks in advance.

Is it possible to change Windows IME globally?

First of all, I am NOT asking about how to change the IME of my own application.
I would like to create a IME toggle program for my own use, like that of Mac OS. Windows 8 got better but Windows 7 sucks at here. Alt+Shift to cycling through more than 2 IMEs are painful. (I use three.) I can assign a shortcut for each language but the keyboard combination sucks and more importantly, there is a bug that the shortcut keeps disappearing.
To create such a program, I need to
1)know the current IME mode (global)
2)set a specific IME mode (globally)
I looked up Windows' IME API, but I could not find any. Is there any way? If there is none, please tell me so. I will also accept that as an answer. If there is any way, just hint me the names of the API, I will search for the details.
Thank you.
I found out the answer myself.
"GetKeyboardLayout"
PostMessage WM_INPUTLANGCHANGEREQUEST
The ImmSimulateHotKey function can toggle IME on windows 7 ,but I find the ImmIsIME function is invalidation on win 7。

How to set SIP language in Windows Phone Mango?

Is it possible to restrict language of virtual keyboard, or SIP, to a English only? I'm developing a multilingual game with Scoreloop and want to allow users to enter their nicknames in latin only.
I don't think it is possible, but if it were you shouldn't.
Leave the keyboard language selection to the user. It would be very confusing for the user to suddenly have a different SIP.
Just validate the string that is entered.
EDIT
You are not looking for an input language but for a character restriction so another option is to design your own SIP with the characters you want to allow

Resources