

<!-- Generated by basedpl.keyboards from layout.json and keyboards.json. Do not edit. -->

# Keyboard map

Hold Option (Alt) for the large character. Add Shift for the small
character above it. The small label at the bottom is the ordinary key.
Option-Shift-1–9 types `¹²³⁴⁵⁶⁷⁸⁹` and Option-Shift-Minus types `⁻`
where those chords are free. Option-Shift-0 remains `⍬`. In the browser,
Option-Shift-3 remains `#`; use the superscript dead key for `³`.

<div class="bpl-keyboard-wrap">

<table class="bpl-keyboard" data-quarto-postprocess="true"
aria-label="US BPL Option keyboard">
<tbody>
<tr>
<td><span class="key-shift"></span><span
class="key-option">⋄</span><span class="key-label">`</span></td>
<td class="dead"><span class="key-shift">¹</span><span
class="key-option">¨</span><span class="key-label">1</span></td>
<td><span class="key-shift">²</span><span
class="key-option"></span><span class="key-label">2</span></td>
<td><span class="key-shift">³</span><span
class="key-option">√</span><span class="key-label">3</span></td>
<td><span class="key-shift">⁴</span><span
class="key-option">⇄</span><span class="key-label">4</span></td>
<td class="dead"><span class="key-shift">⁵</span><span
class="key-option">_</span><span class="key-label">5</span></td>
<td class="dead"><span class="key-shift">⁶</span><span
class="key-option">^</span><span class="key-label">6</span></td>
<td><span class="key-shift">⁷</span><span
class="key-option">∆</span><span class="key-label">7</span></td>
<td><span class="key-shift">⁸</span><span
class="key-option">∞</span><span class="key-label">8</span></td>
<td><span class="key-shift">⁹</span><span
class="key-option">∨</span><span class="key-label">9</span></td>
<td><span class="key-shift">⍬</span><span
class="key-option">∧</span><span class="key-label">0</span></td>
<td class="dead"><span class="key-shift">⁻</span><span
class="key-option">¯</span><span class="key-label">-</span></td>
<td class="dead"><span class="key-shift">≠</span><span
class="key-option">≡</span><span class="key-label">=</span></td>
<td><span class="key-name">Delete</span></td>
</tr>
<tr>
<td><span class="key-name">Tab</span></td>
<td class="dead"><span class="key-shift"></span><span
class="key-option">⎕</span><span class="key-label">q</span></td>
<td><span class="key-shift"></span><span
class="key-option">⍵</span><span class="key-label">w</span></td>
<td><span class="key-shift"></span><span
class="key-option">∊</span><span class="key-label">e</span></td>
<td><span class="key-shift"></span><span
class="key-option">⍴</span><span class="key-label">r</span></td>
<td><span class="key-shift"></span><span
class="key-option">∘</span><span class="key-label">t</span></td>
<td><span class="key-shift"></span><span
class="key-option">•</span><span class="key-label">y</span></td>
<td><span class="key-shift"></span><span
class="key-option">÷</span><span class="key-label">u</span></td>
<td><span class="key-shift"></span><span
class="key-option">⍳</span><span class="key-label">i</span></td>
<td class="dead"><span class="key-shift"></span><span
class="key-option">○</span><span class="key-label">o</span></td>
<td><span class="key-shift"></span><span
class="key-option">π</span><span class="key-label">p</span></td>
<td><span class="key-shift"></span><span class="key-option"></span><span
class="key-label">[</span></td>
<td><span class="key-shift"></span><span class="key-option"></span><span
class="key-label">]</span></td>
<td class="dead"><span class="key-shift">⌽</span><span
class="key-option">⍭</span><span class="key-label">\</span></td>
</tr>
<tr>
<td><span class="key-name">Caps</span></td>
<td><span class="key-shift"></span><span
class="key-option">⍺</span><span class="key-label">a</span></td>
<td><span class="key-shift"></span><span
class="key-option">⌈</span><span class="key-label">s</span></td>
<td><span class="key-shift"></span><span
class="key-option">⌊</span><span class="key-label">d</span></td>
<td><span class="key-shift"></span><span
class="key-option">∂</span><span class="key-label">f</span></td>
<td><span class="key-shift"></span><span
class="key-option">∇</span><span class="key-label">g</span></td>
<td><span class="key-shift"></span><span
class="key-option">←</span><span class="key-label">h</span></td>
<td><span class="key-shift"></span><span
class="key-option">↓</span><span class="key-label">j</span></td>
<td class="dead"><span class="key-shift"></span><span
class="key-option">↑</span><span class="key-label">k</span></td>
<td><span class="key-shift"></span><span
class="key-option">↦</span><span class="key-label">l</span></td>
<td><span class="key-shift"></span><span
class="key-option">⊣</span><span class="key-label">;</span></td>
<td><span class="key-shift"></span><span
class="key-option">⊢</span><span class="key-label">'</span></td>
<td colspan="2"><span class="key-name">Enter</span></td>
</tr>
<tr>
<td><span class="key-name">Shift</span></td>
<td><span class="key-shift"></span><span
class="key-option">⊂</span><span class="key-label">z</span></td>
<td><span class="key-shift"></span><span
class="key-option">⊃</span><span class="key-label">x</span></td>
<td><span class="key-shift"></span><span
class="key-option">∩</span><span class="key-label">c</span></td>
<td><span class="key-shift"></span><span
class="key-option">∪</span><span class="key-label">v</span></td>
<td><span class="key-shift"></span><span
class="key-option">⊥</span><span class="key-label">b</span></td>
<td><span class="key-shift"></span><span
class="key-option">⊤</span><span class="key-label">n</span></td>
<td><span class="key-shift"></span><span
class="key-option">×</span><span class="key-label">m</span></td>
<td><span class="key-shift">≤</span><span
class="key-option">↢</span><span class="key-label">,</span></td>
<td><span class="key-shift">≥</span><span
class="key-option">↣</span><span class="key-label">.</span></td>
<td><span class="key-shift"></span><span
class="key-option">¿</span><span class="key-label">/</span></td>
<td colspan="3"><span class="key-name">Shift</span></td>
</tr>
<tr>
<td><span class="key-name">Ctrl</span></td>
<td><span class="key-name">Opt</span></td>
<td><span class="key-name">Cmd</span></td>
<td colspan="8"><span class="key-name">Space</span></td>
<td><span class="key-name">Cmd</span></td>
<td><span class="key-name">Opt</span></td>
<td><span class="key-name">Ctrl</span></td>
</tr>
</tbody>
</table>

</div>

Orange borders mark dead keys. Release Option before typing the next
key. Repeat the same Option chord, or press Space, to enter the dead
key’s own character. Follow-ups can be sequences, such as `-1` for a
negative superscript or subscript.

<table>
<colgroup>
<col style="width: 33%" />
<col style="width: 33%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr>
<th>Key</th>
<th>Double-tap</th>
<th>Follow-ups</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>¨</code></td>
<td><code>t</code>:<code>⍤</code>; <code>o</code>:<code>⍥</code>;
<code>g</code>:<code>⍢</code>; <code>8</code>:<code>⍣</code>;
<code>`</code>:<code>⍨</code></td>
</tr>
<tr>
<td><code>5</code></td>
<td><code>_</code></td>
<td><code>0–9</code>:<code>₀–₉</code>; <code>x</code>:<code>ₓ</code>;
<code>j</code>:<code>ⱼ</code>; <code>e</code>:<code>ₑ</code>;
<code>r</code>:<code>ᵣ</code>; <code>-0–9</code>:<code>₋₀–₋₉</code></td>
</tr>
<tr>
<td><code>6</code></td>
<td><code>^</code></td>
<td><code>0–9</code>:<code>⁰–⁹</code>;
<code>-0–9</code>:<code>⁻⁰–⁻⁹</code>; <code>t</code>:<code>ᵀ</code>;
<code>u</code>:<code>ᵘ</code></td>
</tr>
<tr>
<td><code>-</code></td>
<td><code>¯</code></td>
<td><code>,</code>:<code>⍪</code>; <code>\</code>:<code>⍀</code>;
<code>/</code>:<code>⌿</code>; <code>a</code>:<code>⍶</code>;
<code>w</code>:<code>⍹</code>; <code>7</code>:<code>⍙</code>;
<code>`</code>:<code>⍚</code>; <code>0</code>:<code>⊼</code>;
<code>9</code>:<code>⊽</code>; <code>e</code>:<code>⍷</code>;
<code>i</code>:<code>⍸</code>; <code>z</code>:<code>⊆</code></td>
</tr>
<tr>
<td><code>=</code></td>
<td><code>≡</code></td>
<td><code>/</code>:<code>≢</code></td>
</tr>
<tr>
<td><code>q</code></td>
<td><code>⎕</code></td>
<td><code>t</code>:<code>⌻</code>; <code>=</code>:<code>⌸</code>;
<code>u</code>:<code>⌹</code>; <code>`</code>:<code>⌺</code>;
<code>;</code>:<code>⍠</code>; <code>\</code>:<code>⌷</code></td>
</tr>
<tr>
<td><code>o</code></td>
<td><code>○</code></td>
<td><code>-</code>:<code>⊖</code>; <code>\</code>:<code>⍉</code>;
<code>/</code>:<code>⊘</code>; <code>m</code>:<code>⊗</code>;
<code>u</code>:<code>⨸</code>; <code>8</code>:<code>⍟</code>;
<code>c</code>:<code>⍝</code>; <code>b</code>:<code>⍎</code>;
<code>n</code>:<code>⍕</code></td>
</tr>
<tr>
<td><code>\</code></td>
<td><code>⍭</code></td>
<td><code>7</code>:<code>⍋</code>; <code>g</code>:<code>⍒</code></td>
</tr>
<tr>
<td><code>k</code></td>
<td><code>↑</code></td>
<td><code>j</code>:<code>↕</code></td>
</tr>
</tbody>
</table>

This is the US-based map used in the browser and REPL, and by the native
BasedPL-us macOS layout. Regional macOS layouts preserve their native
Option characters and move conflicting BPL shortcuts. See [macOS
installation](#macos-installation).

## macOS installation

From a BasedPL repository checkout, run `scripts/install-macos.sh` to
install SAX2B and the US keyboard layout. Pass `uk`, `de`, `fr` or `es`
for British, German QWERTZ, French AZERTY or Spanish: for example,
`scripts/install-macos.sh de`.

In System Settings, open Keyboard → Text Input → Edit, add `BasedPL-us`
(or your chosen code), then select it from the input menu. If the layout
isn’t listed, log out and back in. `editors/macos/BasedPL-{code}.txt`
lists each native layout’s shortcuts.
