🇺🇸English and 🇷🇺Russian keyboard layouts for macOS
with easier access to various †ypogr⎀phical, mathem∀tiℂal, and Grεεk symbols
- Retains the system macOS layers ⌥1 at ^⌥ and ⇧⌥ at ⇧^⌥ (
U.S.
/Russian - PC
) - Extensive diacritics support (◌̀ ◌̈ ◌̃ ◌̣ ◌̧ ◌̨ and combos ȱ ȭ ṩ) with multiple ways to input
- An extensive separate 🕱
Math
layer (also available as a separate English layout) - An extensive separate 🕱
Greek
layer (fully copying the system Greek layout with Greek diacritics) - Various-width spaces accessible via ␠
- Copyright (® ™ ©), Old Cyrillic (ѳ ѣ ѵ), and an extra Typographical layers († ⎀ ⁂ and Mac ⎋ ⇞⇟)
... which all combine into the following layout (all layers in a selectable html are here):
Modifier key legend | Example of 6 | |
---|---|---|
Symbol's color/position match the modifier key legend |
☞ ⌥, ⇧⌥, and ^ layers are almost identical to the English — TypES
layout
- Copy
TypES Layout.bundle
to~/Library/Keyboard Layouts
- Open
System Preferences
→Keyboard
→Input Sources
→+
to add:English — TypES
Russian — TypES
English — Math
(though it is also embedded in the English layout)Russian — Math
(though it is also embedded in the Russian layout)
To allow entering all the extra symbols included in these keyboard layouts, they rely heavily on 🕱 or dead keys2. For example ⌥c3 is 🕱Copyright
, pressing it allows entering the following 3 symbols, each with just a single key:
©
with c®
with r™
with t
Some other notable layers and their respecitve key combos are:
🕱 dead key layer | Key combo |
---|---|
🕱Diacritics |
⌥i or ^; or ^' |
🕱Typographical |
⌥u |
🕱Math |
⌥t or ^m |
🕱Greek |
⌥g or ^g |
🕱OldCyrillic |
⌥o |
Symbols were mapped depending on how a symbol looks compared to a key (t †) or in a mnemonic way (f ❧ fleuron
) although there are too many symbols for all of them to follow such a logic, which leads us to...
Open the SymbolsAll-En or SymbolsAll-Ru files for the English/Russian layouts (or the relevant sections listed below), find a symbol and look at its row/column re. which modifier+key combo produces it (or read the instructions above the table for alternative layouts):
En
English — TypES Main Layers (§–=, a–z, etc.)En
🕱 SpacesEn
🕱 DiacriticsEn
🕱 TypographicalEn
🕱 OldCyrillicEn
🕱 CopyrightEn
🕱 MathEn
🕱 GreekRu
Russian — TypES Main Layers (>–=, а–я, etc.)Ru
🕱 SpacesRu
🕱 DiacriticsRu
🕱 TypographicalRu
🕱 OldCyrillicRu
🕱 CopyrightRu
🕱 MathRu
🕱 Greek
While the tables listed above have no symbol names, the SymbolsAll_Names file does list all the symbols with their Unicode numbers and names (but without key combos)
First, enter a diacritic 🕱 in one of the following 3 ways:
- ^1 to ^= 4
for example, ^6 for ◌̂ circumflex - mnemonic ⇧⌥
for example, ⇧⌥: for ◌̈ diaeresis - single key press from 1) or 2) within meta-🕱
Diacritics
^; or ^'
for example, 6 for ◌̂ circumflex or ; for ◌̈ diaeresis
Then, type a single desired letter that supports such a diacritic.
For example: press ^6 to enter ◌̂ 🕱circumflex
, then press u to insert û
Combining diacritics can be inserted once inside a given diacritic 🕱 by pressing either the:
- invoking number: u, ^6, 6 insert û
- same key combo: u, ⇧⌥:, ⇧⌥: to insert ü
- same key (if this key doesn't support this specific diacritic): u, ⇧⌥:, ; to insert ü (since ; doesn't support ;̈)
☞ A letter after a combining diacritic produces a single combined letter, while a combining diacritic after a letter produces two combined symbols (and can be applied to any symbol even if such symbol doesn't support a diacritic):
- u, ^6 = û
U+00FB
Latin Small Letter U with Circumflex
- ^6, u = û
U+0075
Latin Small Letter U
+U+0302
Combining Circumflex Accent
Given the challenge of remembering all the key combos, you may want to add helpful notifications via Karabiner-Elements whenever you press a 🕱 (🕱Diacritics
, 🕱Copyright
, and 🕱space
are the only ones small enough to fit there), e.g.
- copy this config file to
~/.config/karabiner/assets/complex_modifications
- in
Karabiner-Elements
→Complex modifications
→Add rule
→Enable all
the rules in the🕱⃣ Cheat Sheets
group
To avoid spamming the Notification Center with these notification messages you can uncheck Show in Notification Center
in System Preferences
→Notification
→Script Editor
Russian layout has somehwat different ⇧1–0 symbols —
↓Layout / Key→ | 2 | 3 | 4 | 6 | 7 |
---|---|---|---|---|---|
English — TypES | @ | # | $ | ^ | & |
Russian — TypES | " | № | ; | : | ? |
— which in the system layout is resolved by mapping ⌥1–0 to ⇧1–0 symbols from the English layout. However, these TypES
layouts have mostly identical ⌥ layers, so there are two alternatives to enter the English symbols with 1–0:
- Use ^⌥ that copies the ⌥ layer of the
Russian - PC
layout - Use Karabiner-Elements to remap right⇧ to insert English characters in the Russian layout (unfortunately, keyboard layouts can't differentiate between left and right keys):
- copy this config file to
~/.config/karabiner/assets/complex_modifications
- in
Karabiner-Elements
→Complex modifications
→Add rule
add the rule namedRu RShift+§,1–4,6–7 to En: 🇷🇺R⇧≈🇺🇸L⇧; r⇧1–4,6–7 ⟶ ⌃⌥1–4,6–7 (@'Russian — TypES' mapped to en⇧) r⇧§ ⟶ ⇧`
under the groupruR⇧≈enL⇧
- copy this config file to
For macOS 10.9
and later5:
- Change the current input source to your custom keyboard layout added above
- Backup then open
~/Library/Preferences/com.apple.HIToolbox.plist
- Remove the input source you want to disable from the
AppleEnabledInputSources
dictionary - Remove the
AppleDefaultAsciiInputSource
key if it exists - Reboot
To free up a crammed menu bar you can hide the default language layout indicator and place a simplified 3-color indicator in any position on the screen, including the menu bar area not accessible to regular icons (e.g. left of the Menu indicator). You can also show indicators for selected layouts only (e.g, hiding it for your default layout)
For example, the settings file below places the following indicators in the top-right corner of a screen:
Russian — TypES
, English — Math
, Russian — Math
and nothing for the English — TypES
To get it on your computer:
- Install ShowyEdge
- Backup
~/Library/Preferences/org.pqrs.ShowyEdge.plist
- Copy this settings file to
~/Library/Preferences/
- Reboot
- Open ShowyEdge and adjust the colors/position
Backspace ⌫ within dead keys inside 🕱Math
(e.g., 🕱math-
) returns to 🕱Math
instead of returning to the main layer, allowing for some error correction, for example:
- ⌥t Enter 🕱
Math
- - Mistakenly enter 🕱
math-
- ⌫ Go back to 🕱
Math
- = Correctly enter 🕱
math=
- ) Insert ⟹
- Ilya Birman Typography Layout, v3.7
- English Math layout
- Ukelele keyboard layout editing app
- Online Keyboard Layout Editor
Footnotes
-
⇧ is Shift, ^ is Control, ⌥ is Option or Alt, 🕱 is a dead key, ◌ is a diacritic dead key ↩
-
🕱 don't generate any symbol by themselves, but instead enter into a new keyboard layer with extra symbols ↩
-
examples use the English layout, however they also work in the Russian layout ↩
-
some ^+x keybinds maybe unavailable due to app/system shortcuts ↩
-
from this stackexchange comment ↩