0

Well, I'm having exactly the same problem as described here Windows adding additional keyboard languages by itself except in my case it's Russian and Japanese, and I'm using Japanese keyboard to write english (which is absolutely possible, even in CMD, so I have no need of english layout). However, once in a while, English comes back - but not in the Input languages list! Here's the example of what it happens: http://postimg.org/image/h6gkndfkl/ - as you see, there is no English in the input language list, so I cannot remove it! But it is in the list of languages that I will switch between if I try to.

A solution for this problem is to open Input Languages, add English, Apply, remove English, Apply. But this requires manual operation which I do not want to be doing, because, well, I'm not a servant of my PC. And it's obvious Microsoft does not care about bugs with it's sytem and won't fix them either (way to promote paying for software, btw).

So, I'm looking for an automated way to fix this.

A brute way would be to use a macro that does all the actions required, but I think there must be a better way. Windows must store the list of these languages somewhere, mustn't it?

I know the list of languages that appear on the "Input Languages" window is stored at HKEY_CURRENT_USER\Keyboard Layout\Preload but it seems that this isn't directly related to the list of languages that the system switches between when you press your "switch language" hotkey. There must be something else.

Does anybody have any ideas on where to look?

1 Answer 1

0

So far, brute force method: Autohotkey script. This is not optimal but it gets the job done:

^+!l::
Run, Control input.dll
Sleep, 1000
Send {Tab}{Tab}
Sleep, 100
Send {Enter}
Sleep, 1000
Send e
Sleep, 100
Send {Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}
Sleep, 100
Send {Right}{Down}{Right}US{Space}{Enter}
Sleep, 100
Send {Tab}{Tab}{Tab}
Sleep, 100
Send {Enter}
Sleep, 1000
Send {Tab}{PgDn}{PgDn}{PgDn}
Send {Tab}{Tab}{Enter}
Sleep, 100
Send A
Sleep, 100
Send {Enter}
return

Basically you press Ctrl+Shift+Alt+L when you start getting the bug and it fixes it - adds English (US) and removes it. May need tweaking around the wait values, and also maybe with the amount of Down's - I don't know if language list is the same on every computer (maybe it changes with time too).

However, a direct way of editing is preferred, so I'm still looking out for answers. I mean, Windows has to store those layouts it switches between somewhere, right?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .