A simple, lightweight (13/78 KB) and configurable program that switches keyboard layout with CapsLock key — just put it in Startup folder and enjoy!
Note: For keyboard layout switching to work in programs running with elevated privileges, CapsWitch should be ran as administrator. This can be done, for example, using Task Scheduler.
It runs fine without privileges escalation as well, however it will only work in non-elevated programs.
Download an archive with the preferred version:
- Windows 7–11 (x64) (shortlink: https://t.ly/v_fmo)
- Windows XP + (x86) (shortlink: https://t.ly/9zlcG)
Then, upzip it wherever you want (e.g. in shell:startup
or shell:common startup
, which are Startup folder locations for current user and all users respectively), double-click the .exe and you're done!
Building Information
- Use Microsoft Visual Studio 2010 or newer (I'm using VS2022)
- Compile for x64
- Use Microsoft Visual Studio 2010 or newer (I'm using VS2022)
- Install Platform Toolset with XP compilation support (the latest version is
v141_xp
) - Go to Solution Explorer, right click on CapsWitch and open Properties. Then, in
Platform Toolset
, find the one you installed (e.g.Visual Studio 2017 - Windows XP (v141_xp)
) and select it. - In the same window, go to C/C++ > Code Creation, find
Runtime Library
and change it to/MT
- Apply and compile for x86
CapsWitch works by emulating a layout switch keystroke (Alt+Shift by default) whenever CapsLock key is pressed.
The controls are:
- CapsLock to change keyboard layout
- LeftShift+CapsLock / CapsLock+LeftShift to toggle Caps Lock state
- Alt+CapsLock to toggle program activity (disabled by default)
CapsWitch allows some customization using .ini settings file. By default, it looks for <FILENAME>.ini
file in the same directory, however you can pass custom configs file path using agruments (i.e. .\CapsWitch.exe "C:\test.ini"
).
The program can also work without .ini file, using built-in values (same as default).
You can see more information about each option in default .ini file.