-
Notifications
You must be signed in to change notification settings - Fork 0
Layers
AnNoted has 21 layers. Layers 1 to 4 are the familiar Neo layers; the rest are five themed blocks and one modifier layer. This page explains the scheme – how a layer is reached, why the blocks are grouped the way they are, and what happens when you ask for a combination that does not exist. The block pages carry the actual assignments, one screenshot per layer.
Only AnNoted has these layers. Neo, NeoQwertz and Noted stay at their six published layers – see Layouts.
| Layers | How you get there | Block | Page |
|---|---|---|---|
| 1–4 | – / Shift / Mod3 / Mod4 | base layers, as in Neo | Base |
| 5–8 | lock Mod5, then +Shift / +Mod3 / +Mod4 | maths and logic; 7 superscript, 8 subscript | Maths |
| 9–12 | lock Mod6, then +Shift / +Mod3 / +Mod4 | typography; 11/12 nearly all reserve | Typography |
| 13–14 | lock Mod7, then +Shift | Ancient Greek, lower and upper case | Greek |
| 15–16 | lock Mod8, then +Shift | Cyrillic (Russian) | Cyrillic |
| 17–20 | lock Mod9, then +Shift / +Mod3 / +Mod4 | extra: symbols, emoji, dice and alchemy | Extra |
| 21 | hold Mod3+Mod4
|
the six compose modifiers | Compose modifiers |
Default triggers: M3+F2 maths, M3+F3 typography, M3+F4 Greek, M3+F5 Cyrillic, M3+F6 extra. M3+Esc releases everything. All of this is configurable – see Locks and triggers.
This is the one structural decision everything else follows from. The block modifiers Mod5 to Mod9 exist as modifiers, but no physical key is mapped to them. A block is entered by locking it and left by releasing the lock.
The alternative would have been more held modifiers, and there are no keys left for them: a keyboard has two thumb keys and two Mod3 keys, and they are spoken for. Locking costs one chord to enter and one to leave, and in exchange the block is available on every key for as long as you need it – which is what you want when typing a run of Greek or a stretch of maths, and not what you want for a single character. For single characters the compose tree is usually the shorter path; that division of labour is described under Compose.
The price is real and worth stating plainly: the direct grip is gone. In the layer scheme that preceded this one, maths sat on held Mod3+Mod4 and a single ∀ was three keys with no mode to leave. Today it is four: lock, key, unlock. What the change bought is the other four blocks, which had nowhere to live at all, and a layer scheme that can grow without renumbering.
Once a block is locked, held Shift, Mod3 and Mod4 reach the block's other layers:
- Maths, typography and extra have four layers each: base, +Shift, +Mod3, +Mod4.
- Greek and Cyrillic have two: base and +Shift.
M3+F7 is a different way to the same place: it adds Shift to the lock (or removes it again), so you stay on the block's second layer without holding anything. It works with any block, and on its own it locks Shift alone.
Two gaps follow from the scheme, and both are noticeable in daily use.
Combinations without a layer fall back to layer 1. Inside a locked block only the defined extensions reach a layer. Greek plus held Mod4 is not defined, so it types the ordinary layer-1 character rather than nothing at all. The same applies outside the blocks: Shift+Mod3 has no layer in AnNoted and never had one.
Special characters and navigation are not reachable inside a locked block – they live on layers 3 and 4, and those are outside the block. Release briefly with M3+Esc if you need them mid-sentence. The exception is deliberate and described below.
A locked block would be useless if it swallowed the keyboard whole, so three groups of keys keep their layer-1 behaviour on every block layer:
- the numeric keypad and the arithmetic keys – so a locked block stays usable for numbers and calculation
- Escape, Tab, Return and Backspace – so you can always get out
- the space bar, from layer 8 upwards
Layers 5 and 6 are the exception to the first point: as maths layers they carry mathematical symbols on the keypad too.
The number row is a different matter and varies by block: Greek and Cyrillic keep digits there, while typography puts fractions and extra puts circled numbers on those keys. Where the number row is taken, the keypad still types digits.
The space bar ignores the block structure and counts its layers as one continuous list, from ordinary space down to no width at all:
| Layer | Character | |
|---|---|---|
| 1/2 | U+0020 | ordinary space |
| 3 | U+00A0 | no-break space |
| 4 | U+202F | narrow no-break space |
| 5 | U+2009 | thin space |
| 6 | U+200A | hair space |
| 7 | U+200B | zero-width space |
| 8 and up | U+0020 | ordinary space again |
That layers 5 to 7 are formally maths layers is intentional – the sequence is a property of the space bar, not of the blocks it passes through. Inside locked maths, +Mod4 gets you an ordinary space back.
One key moved to make room: layer 4's numpad-0 sits on w, since the space bar's layer-4 slot went to the narrow no-break space. It still sends a real VK_NUMPAD0, so Alt codes keep working.
Every other layer has to declare a value for every block modifier – a layer that does not mention a locked modifier is skipped. Layer 21 carries the mark ignoreLocks and is the only layer that does, which is what makes the compose modifiers reachable from inside a locked block. Details on the Compose modifiers page; the mechanism is described under Editing layouts.
A side effect worth knowing: Mod3 and Mod4 can both be locked (Mod3+Mod3, Mod4+Mod4). With both locked, every key hits layer 21. M3+Esc gets you out.
All of this is data, not code. The layers, the modifier sets and every key are defined in layouts.json; the triggers that lock them are in config.json. Neither requires rebuilding the program. See Editing layouts and Locks and triggers.