Page 1 of 1

Adding a new keyboard layout

Posted: Fri Feb 18, 2005 5:52 pm
by RomanH
Hello everybody,

I now have a working build environment and would like to add a keyboad layout.

I've read ... ard_layout and have found the other keyboard layouts in the source (\lib\kbd*)

My plan is to copy \lib\kbdgr\ to \lib\kbdsg\ (sg=swiss german) and modify the necessary files.

my questions:
- What is the best way to test my changes? (e.g. how can I make my layout the standard layout when creating a livecd?)
- what makefiles / etc. outside that folder need to be changed? I assume that the main makefile in the root directory needs the followin addition:
# Keyboard layout libraries
DLLS_KBD = kbdda kbddv kbdes kbdfr kbdgr kbdse kbduk kbdus kbdsg


Posted: Fri Feb 18, 2005 6:56 pm
by GvG
I haven't done this before (I'm perfectly happy with the standard US keyboard), so please don't get angry at me when I forget something :)
You need to add entries for your new layout in bootdata/hivesys.inf. Search for "Keyboard Layouts" and add an entry for your new layout. As for the number you need there (like "0x409" for US), I think it's 0x807 (LANG_GERMAN with SUBLANG_GERMAN_SWISS).
You probably need to add an entry below "NLS Language settings" too, no idea what that does, I'd just copy an existing entry and adjust. Then change "Default" and "InstallLanguage" to 0807.
Last change to the registry files: in bootdata/hivedef.sys, near the top, "Control Panel\International", "Locale" change "0409" to "0807".

You are right about the main Makefile. There's one other place you need to change something: bootdata/packages/reactos.dff. Just follow the example of the other lib/kbd* stuff in there.

When you get this to work, could you add a description of what you needed to do to the Wiki page you referenced?

Posted: Fri Feb 18, 2005 8:17 pm
by RomanH
just tried what you suggested and it works perfectly. I succesfully created a clone of the German layout with the keys "A" and "F" switched. :D

once I've done the keyboard layout I'll of course write a "how-to".

Posted: Tue Feb 22, 2005 12:49 am
by RomanH
just as an information: I'm still working on my keyboard layout. Tedious kinda job this is... :)

But I'll keep at it and I will write a comprehensive howto in the end. (maybe thursday or friday... if all goes well)

Posted: Wed Feb 23, 2005 5:06 am
by LOst
RomanH wrote:just as an information: I'm still working on my keyboard layout. Tedious kinda job this is... :)
Yea, think how funny it is to program you own operating system alone! Then this keyboard layout is nothing compared to everything you have to do from scratch just to see it not work on another computer! Love the PC!