[Home] [Purchase] [Download] [Manual] [Acknowledgements] [Sitemap] [Release Notes] [FAQ]

Up ] Key popup menu ] High Level Clipboard ] High Level drag-drop ] Key Mapping Editor mini dialog ] Ligatures ] [ Caps Lock-related special settings ] KANALOK setting ] Numeric keypad ]

Caps Lock-related special settings

Feature available in Premium, Personal and Lite editions (not available in Player edition).

Behavior of Caps Lock modifier is specific enough to deserve special attention. Its effect on the current key is defined through the “Effect of Caps Lock” combo, which offers three options:

KbdEdit combo Effect of Caps Lock

  • “Unaffected by Caps Lock” – the key’s behavior is completely indifferent to Caps Lock status. Typically used for keys that produce non-letter characters in the BASE (no modifiers pressed) modifier position.
  • “Caps Lock same as Shift” – used by most letter-producing keys. Pressing the key while Caps is ON produces the character mapped to SHIFT modifier position. If SHIFT key is down and Caps is ON, character mapped to BASE (no modifiers) is produced.
    This setting also has the expected effect on the numeric keypad.
  • “Separate mapping for Caps Lock” allows the mapping for Caps ON state to be defined separately from what is mapped to SHIFT position. If this setting is chosen, new fields appear in the “Caps on” row of the “current key” zone, representing “Caps on” mappings for the corresponding modifier positions.
    (the last two states are visually denoted through a special colour-coded marker)

“Caps Lock same as Shift” effectively inverts the effect of SHIFT when Caps is ON, but only for BASE and SHIFT positions. Other shifted positions like CTRL and CTRL+SHIFT, if used, are still unaffected by Caps Lock.

The effects of “Separate mapping for Caps Lock” setting can be seen in action in the standard Czech keyboard: it is used in the keys from the row below function characters. These keys produce lower-case accented letters in the base position and digits 0-9 in the SHIFT state, yet pressing a key while the CAPS is ON produces a corresponding upper case letter. In this situation, more common “Caps same as Shift” setting would have produced a digit mapped to the SHIFT state.

KbdEdit separate mappings for Caps Lock on and off

Caps Lock and Shift

By default, the SHIFT modifier has the effect of inverting the Caps Lock state for Caps-sensitive keys.

An alternative behaviour of using SHIFT to turn Caps Lock off can be achieved via the low-level SHIFTLOCK flag.

Creative use of Caps Lock - multi-alphabet keyboards

"Separate mapping for Caps Lock" can be used for a somewhat surprising purpose: supporting two different alphabets in the same keyboard. This is achieved by mapping letters from the two alphabets to Caps OFF and Caps ON states respectively. The alphabets are then switched between by turning Caps Lock ON/OFF.

KbdEdit two languages / alphabets using separate mapping for Caps Lock

This method has one limitation: it cannot be used for languages that need dead keys and ligatures, as these cannot be assigned to BASE and SHIFT positions of keys with "Separate mapping for Caps Lock". The other method based on togglable KANA does not have this limitation.

In combination with togglable KANA, Caps Lock can produce an even more impressive result: a tri-lingual keyboard layout, as demonstrated in this example.

Limitations of "separate Caps" mappings

The underlying Windows keyboard mapping "engine" imposes certain limitations to the "separate Caps" mappings:

  • Only BASE and SHIFT positions can be given a separate mapping for the Caps ON state. Other modifier positions remain unaffected by Caps Lock.
  • Certain mapping types cannot be assigned to “separate caps” BASE and SHIFT positions :
    - Ligatures
    - Non-BMP characters (>FFFF), due to their internal representation as ligatures of surrogate pairs
    - Dead characters
    Attempting to assign any of the above to a "separate Caps" key automatically reverts it to the “unaffected by Caps Lock” state.


In layouts which use both ALTGR and ALTGR+SHIFT combinations, the effect of Caps Lock can be further customized through the CAPLOKALTGR flag. Its effect is similar to the standard “Caps same as Shift”, with the difference that it affects the ALTGR and ALTGR+SHIFT states instead of BASE and SHIFT.

If CAPLOKALTGR is turned on, pressing a key while ALTGR is down and Caps is ON will produce the character mapped to the key's ALTGR+SHIFT position. Conversely, ALTGR+SHIFT down with Caps ON produces the character mapped to ALTGR. In other words, Caps Lock inverts the effect of SHIFT while ALTGR is down.

KbdEdit CAPLOKALTGR Caps Lock affecting AltGR

An important feature of CAPLOKALTGR is that it is not restricted to the ALTGR and ALTGR+SHIFT combnations - it affects all combinations involving ALTGR, eg it can also transform ROYA+ALTGR into ROYA+ALTGR+SHIFT.

CAPLOKALTGR also works as expected on the numeric keypad.

KbdEdit automates the definition of CAPLOKALTGR to a certain degree: if both ALTGR and ALTGR+SHIFT are used, and you assign a non-empty mapping to ALTGR+SHIFT, this flag is automatically turned on. The assumption is that this is probably the intended behavior – in the cases where it is not the case you can easily turn CAPLOKALTGR off by hand.

One final word on Caps Lock key: keep in mind that its intended purpose is to facilitate the entry of upper-case letters. Nothing prevents you from giving it a different semantics, but most users will probably find such keyboard very non-intuitive.

Automating the CAPLOKALTGR settting

The "..." button brings up a popup menu with options for clearing, setting, or auto-setting CAPLOKALTGR for all keys in one go:

KbdEdit Caplokaltgr on all keys

Additionally, all keys with CAPLOKALTGR set are visually distinguished by a special colour-coded marker.

Back to High-level editor

Manual index

Copyright © KbdSoft 2007-2023