aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--KEYBINDS.md43
-rw-r--r--dot_XCompose22
-rw-r--r--dot_config/sway/config3
3 files changed, 67 insertions, 1 deletions
diff --git a/KEYBINDS.md b/KEYBINDS.md
index 95db3a6..1988f6e 100644
--- a/KEYBINDS.md
+++ b/KEYBINDS.md
@@ -341,3 +341,46 @@ Mod key: `Super` (Mod4). Only personal additions beyond sway defaults listed.
| `Super+z` then `w` | Display QR for clipboard (wqr) |
| `Super+z` then `r` | Scan QR via webcam, copy to clipboard (rqr) |
| `Super+t` | Toggle Thunderbird (tiled on current workspace) |
+
+## Typing / Input
+
+Layout: `us(altgr-intl)` with Caps→Esc and Right Ctrl as Compose
+(`xkb_options caps:escape,compose:rctrl`). Normal `'` `"` `` ` `` `~` `^`
+behave as-is; accents only fire through AltGr or Compose.
+
+### AltGr (Right Alt) — one or two keystrokes
+
+| Keys | Output |
+| ----------------- | --------------------------------------- |
+| `AltGr+5` | `€` |
+| `AltGr+'` then v | `á é í ó ú ý` (dead acute) |
+| `AltGr+~` then v | `ã õ ñ` (dead tilde) |
+| `AltGr+^` then v | `â ê î ô û` (dead circumflex) |
+| `` AltGr+` `` v | `à è ì ò ù` (dead grave) |
+| `AltGr+,` then c | `ç` (dead cedilla) |
+| `AltGr+Shift+1` | `¡` |
+| `AltGr+Shift+/` | `¿` |
+| `AltGr+s` | `ß` |
+
+Capitals: hold Shift while pressing the target letter (`AltGr+'` then
+`Shift+a` → `Á`).
+
+### Compose (Right Ctrl) — discoverable, extensible
+
+Standard sequences from the system Compose table plus custom PT-PT extras
+in `~/.XCompose`. Press and release Compose, then the sequence.
+
+| Sequence | Output |
+| ------------------- | ------------------ |
+| `Compose ' a` | `á` (any vowel) |
+| `Compose ~ a` | `ã` / `õ` / `ñ` |
+| `Compose ^ a` | `â` / `ê` / `ô` |
+| `Compose , c` | `ç` |
+| `Compose < <` | `«` (PT-PT) |
+| `Compose > >` | `»` (PT-PT) |
+| `Compose = e` | `€` |
+| `Compose o _` | `º` |
+| `Compose a _` | `ª` |
+| `Compose - - -` | `—` (em dash) |
+| `Compose - - .` | `–` (en dash) |
+| `Compose . . .` | `…` |
diff --git a/dot_XCompose b/dot_XCompose
new file mode 100644
index 0000000..5b940ab
--- /dev/null
+++ b/dot_XCompose
@@ -0,0 +1,22 @@
+# ~/.XCompose — custom Compose sequences layered on top of system defaults.
+# Compose key is Right Ctrl (sway: xkb_options compose:rctrl).
+# Loaded automatically by libxkbcommon clients (sway/ghostty/foot/firefox/thunderbird).
+
+include "%L" # pull in the full system Compose table (á, ã, ç, €, etc.)
+
+# ── PT-PT quotation marks ─────────────────────────────────────────────────────
+<Multi_key> <less> <less> : "«" guillemotleft
+<Multi_key> <greater> <greater> : "»" guillemotright
+
+# ── Euro (also directly on AltGr+5, this is the discoverable fallback) ────────
+<Multi_key> <e> <equal> : "€" EuroSign
+<Multi_key> <equal> <e> : "€" EuroSign
+
+# ── Ordinal indicators (PT dates, addresses: 1.º, 2.ª) ────────────────────────
+<Multi_key> <o> <underscore> : "º" masculine
+<Multi_key> <a> <underscore> : "ª" feminine
+
+# ── Dashes and ellipsis (handy in prose) ──────────────────────────────────────
+<Multi_key> <minus> <minus> <minus> : "—" emdash
+<Multi_key> <minus> <minus> <period> : "–" endash
+<Multi_key> <period> <period> <period>: "…" ellipsis
diff --git a/dot_config/sway/config b/dot_config/sway/config
index c519958..edf1e32 100644
--- a/dot_config/sway/config
+++ b/dot_config/sway/config
@@ -20,7 +20,8 @@ client.urgent #fb4934 #282828 #ebdbb2 #fb4934 #fb4934
# ── Input ─────────────────────────────────────────────────────────────────────
input type:keyboard {
xkb_layout us
- xkb_options caps:escape
+ xkb_variant altgr-intl
+ xkb_options caps:escape,compose:rctrl
repeat_delay 300
repeat_rate 50
}