Skip to content

Latest commit

 

History

History
185 lines (132 loc) · 12.6 KB

ReadMe.md

File metadata and controls

185 lines (132 loc) · 12.6 KB

🇺🇸English and 🇷🇺Russian keyboard layouts for macOS
with easier access to various †ypogr⎀phical, mathem∀tiℂal, and Grεεk symbols

Selected features

  • 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
Key Modifier Labels Key Example
🇺🇸 English — TypES: Shift, (Shift)-Option, and Control layers

English (Shift)-Option

🇷🇺 Russian — TypES: Shift, (Shift)-Option, and Control layers

, , and ^ layers are almost identical to the English — TypES layout

Russian (Shift)-Option

Installation

  • Copy TypES Layout.bundle to ~/Library/Keyboard Layouts
  • Open System PreferencesKeyboardInput 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)

Usage

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 (ffleuron) although there are too many symbols for all of them to follow such a logic, which leads us to...

How to find how to insert a symbol

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):

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)

How to insert diacritics

First, enter a diacritic 🕱 in one of the following 3 ways:

  1. ^1 to ^= 4
    for example, ^6 for ◌̂ circumflex
  2. mnemonic
    for example, : for ◌̈ diaeresis
  3. 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:

  1. invoking number: u, ^6, 6 insert û
  2. same key combo: u, :, : to insert ü
  3. 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

Additional tips

Poor man's cheat sheets: show system notification with key-symbol pairs for selected 🕱s

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. Cheat Sheet example: 🕱'Diacritics'

  • copy this config file to ~/.config/karabiner/assets/complex_modifications
  • in Karabiner-ElementsComplex modificationsAdd ruleEnable 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 PreferencesNotificationScript Editor

Insert English 10 symbols in the Russian layout

Russian layout has somehwat different 10 symbols —

↓Layout / Key→ 2 3 4 6 7
English — TypES @ # $ ^ &
Russian — TypES " ; : ?

— which in the system layout is resolved by mapping 10 to 10 symbols from the English layout. However, these TypES layouts have mostly identical layers, so there are two alternatives to enter the English symbols with 10:

  1. Use ^ that copies the layer of the Russian - PC layout
  2. 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-ElementsComplex modificationsAdd rule add the rule named Ru 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 group ruR⇧≈enL⇧

Delete the default keyboard layout

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

Show a freely positioned 3-color layout indicator

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 ShowyEdge Indicator Russian — TypES , English — Math ShowyEdge Indicator English — Math , Russian — Math ShowyEdge Indicator 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

☞ tip

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 ⟹

Credits

Footnotes

  1. is Shift, ^ is Control, is Option or Alt, 🕱 is a dead key, is a diacritic dead key

  2. 🕱 don't generate any symbol by themselves, but instead enter into a new keyboard layer with extra symbols

  3. examples use the English layout, however they also work in the Russian layout

  4. some ^+x keybinds maybe unavailable due to app/system shortcuts

  5. from this stackexchange comment