13

I was looking for a way to disable the CAPS LOCK functionality in windows. Unfortunately all solutions are about remapping it to NOTHING or other keys. I am a gamer and want to use the CAPS LOCK key for in-game function but I don't want Windows to CAPITALIZE everything after I use caps lock (for example using CAPS lock for changing target in an space FPS which uses WASD to fly).

Example:

CAPS LOCK is mapped to "Change Target" in my gam

I press CAPS Lock, Windows from now on will capitalize all my typed text

I shoot my target but I need assistance, so I enter the chat now I want to type but all the letters are capitalized

So to avoid capitalized text I again press CAPS LOCK but then my target is changed, however now I cn type with normal text.

So is there any trick to disable capitalizing functionality in Windows without having to remap the CAPS LOCK key to something else?

In short: I want it to be detected by games etc without enabling capitalized text.

7 Answers7

2

I recently ran into this exact issue, so I made my own keyboard layout using KbdEdit where the letter keys ignore caps lock (without changing the behavior of shift). The layout is publicly available here; simply run the installer and switch to the new layout in your language bar.

0

I was looking for a similar capability and I was surprised that there was no native support in Windows to manage this. While other answers suggest the use of MSKLC or NumLocker that could functionally achieve the end goal, neither tool was what I was looking for (a simple zero-configuration open-source utility that focused on Caps Lock key).

To deal with this, I made my own utility which monitors the Caps Lock key state and attempts to force it in a toggled off state:

Caps Block
https://github.com/jdknight/capsblock

I dedicate my Caps Lock key to voice applications (like Discord/TeamSpeak), and since running this tool I no longer have situations where my Caps Lock modifier is accidentally left on from any recent communication.

jdknight
  • 103
0

There's a few ways to do this without installing 3rd party software. Using the Microsoft PowerToys Utility, or with the Windows Registry.

I don't use capslock, but I still wanted to make the key useful for games. So I used the PowerToys utility to remap it to right shift. This worked for most games, but in GTA5, the capslock key was toggling again. This became frustrating as I often had to launch GTA just to turn caps back off. However, using the Windows Registry, I was able to remap it, and GTA stopped toggling the capslock state.

Here's the registry edit I used to map capslock to right shift: Paste the following in a txt file, rename it to *.reg and run it:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,36,00,3a,00,00,00,00,00
0

What you are asking for is not possible. If a game detects a key, it can make it do whatever it wants (in this case enter capitalized text). There is no way to change that without changing the code for the game.

Expanding:

Hitting the caps lock key is in most cases a hardware thing (a light may go on etc). That behavior is then mapped by whatever application you are using at the time. If your game decided to ignore that, it could. If it wanted to make every letter you typed after that an 'A' it could. In this case, it decided to follow convention and make letters capitalized if the caps lock key is on.

Once you leave the game, the caps lock key will still be on because its a hardware thing. Windows sees that, and also decides to follow convention and make your letters capitalized.

soandos
  • 24,600
  • 29
  • 105
  • 136
0

There is one way to achieve the result you want, but it's not ideal. You could remap actual keys so capslock state does not affect them. In other words, to ignore capslock modifier. This works (in fact I'm writing this with capslock ON and modified keyboard - but there is a glitch - if effectively also disables producing capital letters with shift. While there is possibility to make a separate mapping for that, it's not recognized by any programs I tried (with the exception of layout mapper tester itself). So whenever I need to put a capital, I have to switch to normal keyboard layout (via ctl+alt+digit shortcut) - not super convenient, but it does not change caps state!

I've used Microsoft keyboard layout Creator 1.4 to build the layout.

Some background information on how the keyboard evens are actually processed (to add to your discussion with soandos: (simplified):
when a key is pressed it produces a scancode. This scancode is processed by windows (keyboard driver) and translated into virtual key. This virtual key (value) is then sent to application. For capslock VC_CAPITAL is being sent (and interpreted by your game). Virtual code is not character key yet. After receiving VK_CODE (and maybe reacting somehow to it) application will ask OS for actual character code. Now what code is returned to application depends on several factors OS keeps track of - capslock status being one of them. That's why capslock works across apps - as it's being tracked by OS and not (only) an app. More here

wmz
  • 7,358
-1

Some keyboards (such as those from WASD Keyboards) have hardware DIP switches that allow you to modify the function of certain keys, including CAPS LOCK. In the case of the WASD V2 keyboards, turning on Switch 3 will let CAPS LOCK works like the left control key.

V2/V2B User's Guide

Christoph
  • 1,983
-1

To quickly and simply solve your problem of inadvertently pressing the CapsLock key, download and install 'CapsUnlock' - a free app. Then to enable CapsLock you have to hold down the Shift key and press the CapsLock key; pressing the CapsLock key only doesn't turn it on. To turn off CapsLock, just press the CapsLock key. Lots easier than changing the Registry.