Custom Keyboard Layouts in Windows 3.11
Microsoft Windows 3.11 relied on the Control Panel
(specifically the International applet) and Windows
Setup (SETUP.EXE) as its built-in system tools for
managing and assigning keyboard layouts. While Windows 3.11 offered
built-in settings to switch between predefined international keyboard
layouts, it did not include a native graphical editor for designing
custom keyboard mappings from scratch. Instead, achieving custom
key-by-key mappings required creating custom layout dynamic-link
libraries using the Windows Device Development Kit (DDK), modifying
underlying MS-DOS keyboard tables, or using keystroke-redirection
utilities like the Windows Macro Recorder.
Control Panel and the International Applet
The primary user-facing tool for configuring keyboard layouts within the Windows 3.11 graphical interface was the International applet, located inside the Control Panel:
- Open the Main program group in Program Manager.
- Launch the Control Panel and double-click the International icon.
- In the International dialog box, locate the Keyboard Layout drop-down menu.
This menu allowed users to assign installed layout drivers (such as US, UK, French, or German) to the system. While this tool allowed switching to any installed custom layout file, it did not provide an interface to alter individual key assignments directly.
Windows Setup
(SETUP.EXE)
For lower-level system configuration, Windows Setup served as the alternative system utility:
- From within Windows, running
SETUP.EXEallowed users to change basic system components, including the keyboard type and layout. - From MS-DOS, running
SETUP.EXEfrom the Windows installation directory allowed low-level configuration of thekeyboard.typand associated keyboard driver files before Windows initialized.
Creating Truly Custom Layouts: The Windows DDK
Because Windows 3.11 lacked an integrated visual key-mapping editor (unlike modern tools such as the Microsoft Keyboard Layout Creator), custom keyboard layouts had to be compiled externally:
- Windows 3.1 Device Development Kit (DDK): Developers used the keyboard driver source code provided in the DDK to define custom character mapping tables and dead-key behaviors.
- Assembly and Compilation: Modifications were made
to source files (such as
KEYBOARD.ASMor layout-specific definition tables) and assembled using Microsoft Macro Assembler (MASM) to produce custom.DLLor.DRVkeyboard drivers (e.g.,KBDUS.DLL). - Registration in
SYSTEM.INI: Once generated, custom keyboard drivers were placed in theC:\WINDOWS\SYSTEMdirectory and registered under the[boot]and[keyboard]sections of theSYSTEM.INIconfiguration file.
Keystroke Redirection via Macro Recorder
For users needing custom key actions without compiling new driver
files, Windows 3.11 included Recorder
(RECORDER.EXE). This utility allowed users to
record macros and bind them to specific shortcut keys or key
combinations, effectively remapping standard keystrokes to alternative
characters or automated command sequences within running
applications.