Skip to content

About

A portable Windows keyboard remapper for restricted user accounts.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keymap

Keymap is a portable Windows keyboard remapper for restricted user accounts.

It runs as a normal user process, reads a plain text keymap.ini, and supports single-key remapping without administrator privileges, registry changes, driver installation, or an installer.

Features

  • Only single-key remapping.
  • Text configuration through keymap.ini.
  • Background start, stop, and status commands.
  • No administrator privileges required.
  • No registry writes or driver installation.

Install

Download keymap_YYmmdd.zip from the GitHub Releases page and unzip all files into one folder where you want to store this app.

The release package contains:

keymap.exe
keymap.ini
start-keymap.bat
stop-keymap.bat
status-keymap.bat
install-startup.bat
uninstall-startup.bat
README.txt

Keep these files together in the same folder.

Configure

Edit keymap.ini before starting Keymap.

Only [remap] is supported. The left side is the input key. The right side is the output key.

[remap]
CapsLock = Esc
Esc = CapsLock

Blank lines are allowed. Comments can begin with # or ;.

Key Names

Key name Meaning
A through Z Letter keys, case-insensitive.
0 through 9 Top-row digit keys.
F1 through F24 Function keys.
Esc, Escape, Tab, Space, Enter, Backspace, CapsLock Common keys.
Left, Right, Up, Down, Home, End, PageUp, PageDown, Insert, Delete Navigation keys.
Ctrl, Alt, Shift, Win Generic modifiers.
LCtrl, RCtrl, LAlt, RAlt, LShift, RShift, LWin, RWin Side-specific modifiers.
Minus - / _ key position.
Equal = / + key position.
LeftBracket [ / { key position.
RightBracket ] / } key position.
Backslash \ / | key position.
Semicolon ; / : key position.
Quote ' / " key position.
Comma , / < key position.
Period . / > key position.
Slash / / ? key position.
Backquote ` / ~ key position.

For symbol keys, Shift state is preserved by Windows. This config:

Equal = Minus

means plain Equal outputs -, while Shift + Equal outputs _.

Use the names above in the config instead of literal symbols. Plus is not a separate key name because + is produced by Shift + Equal.

Use

Some scripts are provided for convenience. User could use these script or use keymap.exe directly.

scripts exe
start-keymap.bat keymap.exe start [--config path]
stop-keymap.bat keymap.exe stop
status-keymap.bat keymap.exe status

By default, keymap.exe reads keymap.ini next to the executable. After starting Keymap with start-keymap.bat or keymap.exe start, run status-keymap.bat or keymap status to confirm that it is running. If the config is invalid, Keymap will stop and status will report stopped.

Startup

To start Keymap when you log in, run:

install-startup.bat

This creates or updates Keymap.lnk in your current user's Windows Startup folder. The shortcut points to start-keymap.bat in the same folder as keymap.exe.

To remove the startup entry, run:

uninstall-startup.bat

These scripts do not require administrator privileges and do not write to the registry.

Limitations

  • Does not affect UAC secure desktop or the Windows login screen.
  • Some elevated or protected windows may not receive remapped input from a normal user process.
  • Global hook behavior depends on the active desktop session and Windows security policy.

Development

For building, testing, packaging, and release workflow details, see docs/development.md.

About

A portable Windows keyboard remapper for restricted user accounts.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages