docs(niri): find a keysym without a tool that is not installed

`key-bindings-syntax.md` told you to run `wev` and read `sym: XXXX` — a placeholder nobody
fills in, for a tool that is not on the machine: `command -v wev` is empty, `pacman -Ss
--sync wev` is empty on CachyOS, and the AUR carries it as `wev-git`. The bind token is an
XKB keysym, and the complete list is already on every box that links libxkbcommon, so the
page now leads with the grep against `/usr/include/xkbcommon/xkbcommon-keysyms.h` (run here:
`a A Escape Left Return Tab`), and keeps `wev` as the "press the key and see" option with its
real package name and where to get it.

`screenshots.md` line 35 read `(FIXME upstream).`, which scans as unfinished work in a page
that is finished: the defect is upstream's, tracked in the two issue links six lines below.
Reworded to say that.

Refs #64
This commit is contained in:
Frank committed 2026-10-21 02:14:39 -07:00
1 parent e49537c2ac
commit 49f67b2192
2 files changed
+10 -4

No files matched your search

+9 -3
View File
@@ -45,13 +45,19 @@ binds {
## Finding Key Names
Use [`wev`](https://git.sr.ht/~sircmpwn/wev) to find XKB key names:
Niri binds by XKB **keysym name**, and the authoritative list is already on the box — no
tool needed:
```bash
wev
# Then press the key you want to bind — look at `sym: XXXX` in output
grep -oE 'XKB_KEY_[A-Za-z0-9_]+' /usr/include/xkbcommon/xkbcommon-keysyms.h \
| sed 's/^XKB_KEY_//' | grep -ixE 'a|return|left|tab|escape'
```
To read the keysym off a key you actually press, use
[`wev`](https://git.sr.ht/~sircmpwn/wev), the Wayland equivalent of `xev`. It is NOT in the
enabled repositories — checked 2026-10-21, `pacman -Ss --sync wev` returns nothing — and the
AUR builds it as `wev-git` (`yay -S wev-git`; `aur/wev-git 1.1.0.r1.gb09b664-1`).
Shifted keys require Shift + the unshifted key (for example, `Mod+Shift+Comma` for `<` on US QWERTY).
## Constraints
+1 -1
View File
@@ -32,7 +32,7 @@ Noctalia settings lives on `Mod+Shift+O` (moved off Mod+Shift+S).
- Portal chain: flameshot 14 → `xdg-desktop-portal-gnome` → niri D-Bus
API → `screenshot_all_outputs` → `ensure!(outputs.len() == 1)`
(FIXME upstream).
(an upstream defect, still unfixed — issue links below).
- `flameshot full` on 2 outputs: each press emits **3 refusals**
(composited screen + per-output) — `WARN niri::niri: error taking a
screenshot: Condition failed: outputs.len() == 1 (2 vs 1)` in