I am creating new keyboard layouts and have a couple of versions going for testing. I am using Microsoft Keyboard Layout Creator (MSKLC) and Win 7 Pro 64 bit (if the Windows detail matters to this issue). The problem is that the Description field is stuck on the first keyboard I created and can't be changed. To be absolutely clear: I created my first version of the keyboard. In the MSKLC properties dialog, the name (file name) is "kbdVerA" and the description is "Version A." Starting with the .klc file from the first layout, I created a second (and very different) layout. In the properties dialog I change the name to "kbdVerB" and the description to "Version B." However, when I go to install Version B, the description is Version A. This is true when looking at the Text Services (AKA "settings") Keyboard and Language dialog, and also when looking at the language bar "sub" dialog - the typewriter icon where you can see different versions of the base language keyboard.
Thinking I had something messed up in the registry, I tried unistalling all but the original English keyboard and searching through the registry to eliminate all references to the "Version A" keyboard. Then I recompiled (and installed - all one step in MSKLC) Version B. Still no joy. Just for yucks, I took the Version B files to my old XP machine and installed them there using the setup routine that MSKLC creates. Same problem there. This indicates the error is occurring at compile time.
Eventually there will be two versions of this keyboard I will distribute (free), so solving the naming problem is important. Anyone run into this before? Any help solving it much appreciated.
Sounds familiar. If anything like that happens, just open the source file in a text editor (like Wordpad - I wouldn't trust Notepad) and fix the errant entry manually.
Oh, you wouldn't do that without making a backup first of course, would you? :)
Thanks DreymaR. Snooping around on this excellent forum I discovered that the .klc file can be viewed and edited with a text editor. Looked all through it for any reference to "Version A." Only saw "Version B" in the places that made sense. Used the editor's find function to be sure. That is why I think it is some sort of compile time error.
Any other thoughts about how to fix this?
Backup? Why would anyone do a backup? Computers are perfect....
Adding one more piece to the puzzle. For a while there among all the registry cleaning and reboots, I had "Version B" showing in the Text Services (Settings) dialog. Progress, sort of. But "Version A" would still show in the Language Bar. That progress was short lived, though.
Okay. If the text file isn't your problem then it's your install. Always, always make sure to uninstall any and all layouts you've made with MSKLC before replacing them! This is more of a developer's tool than a consumer product and as such can be pretty rough round the edges even if it has the name "Microsoft" attached to it. Or if you wish, the old adage 'free, and worth every penny!'.
If you can't uninstall the errant layouts properly anymore with the Windows uninstall then failing a lot of reg hacking I think you're screwed. I'd make new names and go from there. And uninstall before updating henceforth.
Last edited by DreymaR (05-Apr-2012 10:49:41)
The problem is I can't make new names. It always takes the name of the first installed version, even when that version no longer exists. Where is it geting the name from???? Have you ever seen this before? Not your problem, I know, but I'm tearing my hair out trying to figure out what is wrong.
I faced the same problem recently in W7. I passed through creating the layout starting from a Windows native keyboard, removing keyboard layouts, uninstalling them and cleaning the registry. Nothing helped separately, but when combined I achieved a correct installation. Something more: next layout installations were correct. Speculate that this have something to do with the "LOCALEID" variable in the KLC file, but not sure.
It turns out the .klc file WAS the problem. When I looked through it using Notepad, I didn't see "Version A" originally, but that was an oversight. Indeed, it was there and that was the problem.
MSKLC has a bug. When you CHANGE the description name of a layout, it doesn't change it in all places in the resulting .klc file. You have to go in with a text editor (like Notepad) and fix it manually. The offending place where it is not changed is at the bottom of the file.
Thanks all for the help.
Last edited by RadicalDad (19-May-2013 22:56:51)