Documentation · Hotkey and layouts

Lang Switcher: capitals, Caps Lock and punctuation

The program remembers the keys you pressed, not the letters, and asks Windows what the same key types in the other layout: Shift+2 types @ in the English layout and " in the Russian one.

Keys, not letters

The program remembers every keystroke: which key it was, whether Shift, Caps Lock or AltGr was on, and which layout was active. When you press the hotkey, it asks Windows what the same key, with the same Shift and Caps Lock, types in the other layout. That’s why punctuation comes out right along with the letters: вщтэе turns into don't, because the apostrophe in the English layout sits on the same key as э in the Russian one.

Capital letters

A capital stays a capital: Руддщ → Hello, РУДДЩ → HELLO. The second press brings back what you typed, letter for letter, capitals included.

Caps Lock

  • When Caps Lock is on, the program treats it the way it treats Shift: the word comes out the way it would have if you’d typed the same keys in the other layout with Caps Lock on. In the English layout, Caps Lock doesn’t affect punctuation, but in the Russian one some of those same keys are letters: ВЩТЭЕ → DON'T.
  • An accidental Caps Lock isn’t fixed: the program won’t turn “hELLO” into “Hello”. That’s a different problem, not a layout one.
  • CapsLock as your hotkey. You can choose it, as the hotkey page explains. Then, while the program is running, CapsLock no longer turns on capitals: the program keeps its hotkey for itself.

Numbers and punctuation

The digits are the same in the English and Russian layouts, but the symbols above them, typed with Shift, aren’t:

Key English Russian
Shift+2 @ "
Shift+3 # №
Shift+4 $ ;
Shift+6 ^ :
Shift+7 & ?
/ and Shift+/ / and ? . and ,

Other layouts have their own symbols on these keys, and the program asks Windows about them in the same way.

  • A symbol the key doesn’t have in the other layout stays as it was.
  • Dead keys and AltGr (in layouts with accents) carry over as they are. In the classic console, a word with them isn’t replaced at all, and you hear the refusal sound (see Console).
  • A character typed with Alt and digits on the numeric keypad doesn’t become part of the word: the program treats Alt plus a key as a command, and the word is forgotten.

Spaces

Spaces after the word carry over as they are: руддщ → hello , and the layout switches. The next letter starts a new word.

Selected text

Selected text has no keystrokes, only letters, so the program works the keys out from the letters, each word from its own layout. Capitals stay capitals. Numbers follow two rules: a comma between digits in Russian text becomes a period (“5,1” → “5.1”) and the other way around, and a date selected in English text gets commas instead of periods when it goes into Russian: “12.09” → “12,09”.

Questions and problemson GitHub Issues ↗ or by email: send.me@panda-pishet-kod.dev