Caps lock can only be turned off by shift key, regardless of setting

13,670

Solution 1

After some investigation, I found the culprit: I had been using a custom keyboard layout that disabled dead keys, and apparently it also forced the usage of the Shift key to turn off caps-lock (ShiftLock as some call it).

I had tried switching to the default layout before and it didn't seem to work, now I realize that probably was because I had tested on an existing Notepad window instead of opening a new one.

Solution: I downloaded MSKLC and created a new layout based on that one but without enabling ShiftLock.

Solution 2

I don't know why this happened. But I could solve it with this workaround:

  1. Control Panel > Region and Language
  2. Keyboards and Languages Tab
  3. Change Keyboards...
  4. Advanced Key Settings
  5. Choose 'Press the SHIFT key' to turn off Caps Lock
  6. Apply
  7. Press the SHIFT key now. Caps should be off now.
  8. Again choose 'Press the CAPS LOCK key' to turn off Caps Lock.
  9. Apply

Solution 3

Have you tried connecting a different keyboard and see if the results are the same? I'm thinking that perhaps the behavior could be hardware based.

Interesting note, the behavior described by the user, is identical to that of manual typewriters that I used to use a long time ago.....

Share:
13,670

Related videos on Youtube

ferow2k
Author by

ferow2k

Updated on September 18, 2022

Comments

  • ferow2k
    ferow2k over 1 year

    I'm using Windows 7 Home Premium on a Sony VAIO VPC-F23BFX laptop.
    The problem is that the caps lock key can only be turned off using the shift key.
    In Control Panel's Regional Settings, it does not matter if I set it to turn off with the caps lock key or the shift key, it always expects the shift key.
    I checked and the registry value for this option is being saved correctly.
    I also tested with this utility and the scan codes being generated are:

    OnKeyDown, Key code=20, Control keys=, Key name CAPS LOCK  
    OnKeyup, Key code=20, Control keys=, Key name CAPS LOCK  
    

    when pressing caps lock the first time (it turns on); and:

    OnKeyup, Key code=20, Control keys=, Key name CAPS LOCK  
    

    when pressing it a second time (it doesn't turn off).
    If I then press shift, it generates:

    OnKeyDown, Key code=16, Control keys=Shift{Left}, Key name SHIFT
    OnKeyDown, Key code=20, Control keys=Shift{Left}, Key name CAPS LOCK
    OnKeyup, Key code=20, Control keys=Shift{Left}, Key name CAPS LOCK
    OnKeyup, Key code=16, Control keys=, Key name SHIFT
    

    Maybe some program is messing with the keyboard events? (I'm not using AutoHotkey or anything similar).

  • ferow2k
    ferow2k over 11 years
    Sticky keys are disabled.
  • ferow2k
    ferow2k over 11 years
    I tried with another keyboard and the result is the same.
  • ferow2k
    ferow2k over 11 years
    That option exists specifically to mimic typewriters.
  • fixer1234
    fixer1234 over 8 years
    This is a repeat of rpattabi's answer. Each answer should contribute another solution.