Editing software for creating multilingual keyboards?

If this isn't the right forum for this, please tell me where I should have posted and I'll move it.

Anyone know of any software for creating and maintaining keyboard drivers for the standard "Windows" keyboard also used by everything else except Apples (maybe Apples, too)? I'd like to be able to create them for every version of Windows from XP on, and obviously also for our beloved FreeBSD. I've hunted, but no joy.

I used to create them when I worked on the C64, and I also bought a copy and used, under XP, the ParaWin utility that was written by a Russian team and worked well until I had to switch to W7.

Many thanks in advance for any pointers, help, etc.
 
for modern MacOS we use Ukelele. Dunno anything about Windows, but on FreeBSD we have our Wayland compositor set up to basically subclass the built-in dvorak layout and apply our modifications on top. This requires an understanding of Xkb, which is also applicable to X11 but requires a different set of file paths and root permissions.

Do not ask an LLM, it will make shit up. Real information about xkb can be had here: https://www.charvolant.org/doug/xkb/html/node5.html

Also have a SHAR of our xkb addons:
Code:
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#    xkb/rules/evdev
#    xkb/symbols/atax1a
#
echo x - xkb/rules/evdev
sed 's/^X//' >xkb/rules/evdev << '3a0a043808a46a6807d66a729dd266f4'
X! option = symbols
X  atax1a:symbols = +atax1a(symbols)
X! include %S/evdev
3a0a043808a46a6807d66a729dd266f4
echo x - xkb/symbols/atax1a
sed 's/^X//' >xkb/symbols/atax1a << '77ad2eea707c23b896ae20af1a95cbc2'
Xxkb_symbols "symbols" {
X    key <TLDE> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
X    key <AD01> { [ slash, question ] };
X    key <AD11> { [ bracketleft, braceleft ] };
X    key <AD12> { [ bracketright, braceright ] };
X    key <AE11> { [ grave, asciitilde, dead_grave, dead_tilde ] };
X    key <AE12> { [ equal, plus ] };
X    key <AE01> { [ exclam, 1 ] };
X    key <AE02> { [ at, 2 ] };
X    key <AE03> { [ numbersign, 3 ] };
X    key <AE04> { [ dollar, 4  ] };
X    key <AE05> { [ percent, 5 ] };
X    key <AE06> { [ asciicircum, 6, dead_circumflex, dead_circumflex ] };
X    key <AE07> { [ ampersand, 7 ] };
X    key <AE08> { [ asterisk, 8 ] };
X    key <AE09> { [ parenleft, 9, dead_grave, dead_breve ] };
X    key <AE10> { [ parenright, 0 ] };
X};
77ad2eea707c23b896ae20af1a95cbc2
exit
These go in ~/.xkb via a symlink, and then we set the layout to dvorak and enable Xkb option atax1a:symbols to get these applied.
 
Screenshot 2026-01-25 at 10.24.18 PM.jpg
 
Back
Top