Janko's Keyboard Generator For Windows 95, 98 and ME

JKG Became Public Domain

Staring from 1 January 2007, Janko's Keyboard Generator For Windows 95, 98 and ME is not being sold anymore.

Please see the main JKG page for all details.

Beware: Archived Content

The information and links that follow are not reflecting the current state of anything mentioned or linked. What follows is a relatively accurate snapshot of the several years old page on this address.

Archived Content Follows

 Janko's Keyboard Generator

for Windows 95, 98 and ME




New Features



Answers to Frequently Asked Questions

Q: When you say 'AltGr', what does this mean? Is this something other than the 'Alt' key?

AltGr is the name Right Alt key when it has the special function. On various European keyboards on the right Alt key you can see printed AltGr. Pressing Right Alt and some other key on keyboard layouts that use AltGr can give you access to more characters assigned on the same key.

Q: I don't know how to find which KBD file corresponds with my language.

Maybe this table will help.

Q: I don't want to pay with credit card and therefore I don't want to use ShareIt. How can I pay then?

But it's not necessary to have the credit card to pay through ShareIt! Just follow the Register link on their page and you will see all the posibilities.

Q: How can I change Z and Y keys so that even Ctrl-Y and Ctrl-Z become swapped?

Try to swap ANSI values of these keys. To access the ANSI value of the key, click the key. You'll get the Code Assignment Dialog. Fopr Y and Z you should probably swap Virtual key values also.

Q: I have developed a keyboard file with your program, but it seems that most of the AltGr-combined keys do not translate in Microsoft Word?

Word has its assignments for "shortcuts". You should delete assignments that make conflicts (Tools/Customize/Keyboard) and then AltGr combinations will work.

Q: How can I change the default working directory of this program?

To make C:\windows\system directory default directory for this program, make the Shortcut for the program (e.g. drag JKBD98.EXE to the Desktop). Then Right-click on the Shortcut, select Properties, select Shortcut tab and type C:\windows\system in the "Start in" text box.

Q: How can I print the layouts made with this program?

Just use Windows screen captruing possibilities: While Keyboard Generator program is active, press Alt-PrintScreen. This will get the snapshot to the Windows clipboard. Then go to Paint (Start/Accessories/Paint), and do Paste. Then you can print the picture from Paint. Pasting also works with other programs, even with Word.

Q: I want to swap the positions of Caps Lock and Shift keys. How can I do this using your program?

My program produces KBD files. Microsoft didn't design Windows so that any key can be changed that way. They programmatically fixed positions of command and non-printable keys, and to change them you have to use different keyboard driver, instead of default provided with Windows, or you have to get the special low-level extension of the keyboard driver. One such extension can be found in the "Kernel Toys" package available at www.microsoft.com

Q: can I use your program to change other non-printable keys, e.g. Num-Enter to Alt-U and Num-* to F8?

No. See the answer to previous question.

Q: How can I force the Right-Alt key to behave similarly as the Left-Alt key?

Simply put the space character instead of any non-space character in AltGr and AltGrShift layouts. First select radio button AltGr. Then drag the space (empty character before the ! in the "characters pane") to every non-empty key.

Q: Is there any way to make the Ctrl key modify the effect of the other keys?

If you mean that you want to get some printable character using only Ctrl-some-key I think that it is impossible. For this purpose, AltGr is used.

Q: Can I put the KBD file generated by your program on my publicly accessible WWW pages?

Of course you can, if you:

  • Are giving these KBD files only for free
  • Include the acknowledgment that this file was generated with Janko's Keyboard Generator for Windows 95, 98 and ME and also put the links to Janko's Keyboard Generator Home page (this page) and my e-mail address.
  • Send me an e-mail in which you inform me about your WWW page location.

Only the first condition is really mandatory, and the other two are the part of the etiquette.

Q: I want some additional features in the Generator.

Besides the Shareware version I have also written Enhanced, Worldwide and Professional versions of the Generator.

The Enhanced version is capable of saving the AltGr-Shift key combinations. The Worldwide version is capable of changing Dead-Key combinations. The Professional version has everything the Enahanced and Worldwide versions have. To order any of these versions contact me by e-mail.

Snapshot of the Professional version

If you still have some additional requests, of course you can order version customized especially for you.

Q: Can you send me information about KBD file internals?

It is Microsoft's copyrighted material. It is available in MSDN Online and on Microsoft Developer Network CDs.

Q: Where can I find details of KOI8-R customizations?

See wonderful pages about KOI8-R Russian Net Character Set, by Andrey A. Chernov.

Q: I wanted to modify the .KBD file which I got as the part of my Windows 95 (or 98 or ME), but when I open it, I receive message that this file was not generated by your program. Is it just a question of software license agreements or .KBD files generated by your program are in another format?

Legally, user of Windows 95, 98 and ME does not have the rights to modify the files of the operating system. But, as far as I know, everybody can make the program that modifies these files, because the crime is not done before this act really happens. But I still decided not to do this:

I wanted to allow people to give for free the files they produced, so I decided not to support modification of Microsoft's files. The format of files is the same, but my program will not read files which were not generated by it. However, the initial creation of the file is extremely simple (drag and drop!) so you can make any layout in a few minutes. After you initially make files, you can later modify and refine them! That is why the program is called The Generator, not The Modifier.

Q: So, is it possible to open an original Windows .KBD file in the Professional version of your program?

No. You can order from me the converter of KBD files, that can convert the existing KBD file to the format acceptable by the Generator. But still it is much less expensive to you to simply produce a new keyboard layout.

Q: I don't really understand what the ANSI setting are for.

Some Windows functions want to know the ANSI equivalent of the pressed key. The best is not to modify these setings before you discover that some program doesn't work as expected.

Q: I have a Japanese based computer. I don't know how the keys on my machine correspond to the keys in your program.

Look at this picture. The unhandled keys are circled. Positions which appear differently are marked. Other keys are on the same positions.

Since your keyboard doesn't have the key for "< >" from European keyboards, You can use this key to access one of two directly unhandled keys.

Using my program you should first reprogram "<>" key (marked on my picture with scan code 86). Then you save KBD file (let's say under the name e.g. KBDUK.KBD). Then issue the following command line (using the program POKE which you can download here).


This way when one of two circled keys is pressed, you will get what you programmed to the "<>" key. To access this way another key, instead of 7D in the above command use value 73.

Now that I know about the Japanese kbds, in the next release I will probably cover it more appropriately. The above POKE command must be peroformed each time you save KBD file from my program, since this modification is not preserved.

Q: Why can't I access all Unicode symbols from one keyboard layout?

Because Microsoft designed Windows 9x that way. Codepages are the only method for keyboard input on all non-Asian Windows 9x. It's true, Chinese and Japanese versions can access more characters, but this is done very differently.

The keyboard input part of non-Asian versions of Microsoft Windows 95, 98 and ME opearting systems is designed by Microsoft to work with codepages. The codepage is a list of up to 256 UNICODE letters. Each language has its associated codepage, which is activated when you toggle keyboard. That means that you can input only from a set of less than 256 UNICODE characters from one keyboard layout. My program doesn't change the way Windows works. It just enable you specify how your keyboard layout should really look.

You can switch between different keyboard layouts using mouse (Control Panel / Keyboard / Language / Enable indicator on taskbar) or using alt-shift or some other combination specified in Control Panel / Keyboard / Language / Switch languages. For example, that's how I am accessing Cyrillic and Latin letters: just one Alt-Shift press and I'm in the another keyboard layout.

To access more than 256 characters from the same layout, the subsystem would have to be changed, and only Microsoft can do this. Windows NT allows full Unicode in input, and at the moment it looks that until 9x merges with NT in one consumer product there will be no modifications in the keyboard subsystem of Windows 9x.

Q: Why can't I get accented wovels in Cyrillic keyboard layouts? (NEW!)

Because these Cyrillic letters do not exist in standard Windows fonts. If you would somehow buy or produce proper fonts (so that the letters are visible when you select this font from my program) then you would also be able to assign these letters with my program.

However there is a solution: Unicode standard specifies characters which are to be combined with other characters. If you manage to enter such characters in latest versions of Word, it would properly display them. That means that you can enter acccented characters in Word, even more, any character can be accented.

More precisely, I managed to enter such characters in WordPad(!) on Windows 2000, and to copy them to Word 2000 without problems. I can expect that Word 2002 reaches the functionality of WordPad :)) but I don't have a Word 2002 to try. Don't ask why.

Check out unicode.org and read more about combining characters, which start from the Unicode position 300 (hex) Then enter them somehow, e.g. using Alt-number (you have to convert hex number to decimal first). The results depend on the font you use, the better Unicode support in the font is, the better the results are. E.g. Lucida Sans Unicode.

Q: Your board has an extra key placed a little by itself to the right. What key does this one represent/equal on my keyboard?

The decimal dot on the numeric keypad. A lot of european languages use decimal coma instead of decimal point, and that's where you can reprogram it.


Written by Janko Stamenović