Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Universal paste (SUPER+V) fails with 'key not found' when active keyboard layout lacks the Latin key symbol (e.g. Russian layout)
Reported by VivusCo · filed Sep 19, 2026 · open at source
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- AreaOutside the audited area· Decided by agents · verified
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
What happened
SUPER+V (Universal paste, bound in bindings/clipboard.lua) fails silently and throws a Hyprland runtime error when the currently active keyboard layout doesn't contain a Latin "V" key symbol — e.g. the Russian (ru) XKB layout.
Error shown on screen (Hyprland Lua runtime error toast, appears twice):
Runtime error in lua:
=[C]:-1: send_key_state: key not foundNo paste happens. Same applies presumably to SUPER+C (copy) and SUPER+X (cut), and to the terminal variants (CTRL+Insert / SHIFT+Insert), since they go through the same send_shortcut_once helper in the same file.
Expected
Paste (and copy/cut) via the universal clipboard shortcuts should work regardless of which keyboard layout is currently active, since these are meant to be global, layout-agnostic shortcuts.
Steps to reproduce
- Configure multiple keyboard layouts including a non-Latin one, e.g. in
~/.config/hypr/input.lua:
hl.config({
input = {
kb_layout = "gb,ru,ua",
kb_options = "compose:caps,shift:both_capslock_cancel,grp:ctrl_space_toggle",
},
})- Switch the active layout to Russian (
ru) with Ctrl+Space. - Copy some text from any source.
- Focus a text field (e.g. the Chrome address bar / a web form) and press
SUPER+V.
Observed: nothing is pasted, and two "Runtime error in lua: send_key_state: key not found" toasts appear in the top-right corner.
Likely cause
bindings/clipboard.lua synthesizes the shortcut via:
hl.dispatch(hl.dsp.send_key_state({ mods = mods, key = key, state = "down" }))with key = "V". This dispatcher appears to resolve the key name against the currently active XKB layout's keymap rather than a layout-independent physical keycode. Non-Latin layouts (Russian, Ukrainian, etc.) don't have a symbol named "V" in their active group, so the lookup fails.
Workaround
Use the literal Ctrl+V (not SUPER+V) while a non-Latin layout is active — this goes through the app's native paste handling instead of the synthetic key-state dispatch, so it's unaffected.
System details
- Omarchy version: 4.0.4-1
- Omarchy channel: stable
- Hyprland: 0.56.2 (v0.56.2, commit efb50993780079460b0cbed1363e2166a2de1d9f)
- Kernel: 7.2.6-arch2-Watanare-T2-3-t2 (Arch Linux)
- CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
- GPU: Intel UHD Graphics 630 (integrated) + AMD Radeon RX 460/560D (discrete)
- Reproduced in: Google Chrome (address bar / new tab search field)
Related upstream Hyprland discussion referenced directly in the source comments of clipboard.lua: https://github.com/hyprwm/Hyprland/discussions/14099
View raw text
## What happened
`SUPER+V` (Universal paste, bound in `bindings/clipboard.lua`) fails silently and throws a Hyprland runtime error when the currently active keyboard layout doesn't contain a Latin "V" key symbol — e.g. the Russian (`ru`) XKB layout.
Error shown on screen (Hyprland Lua runtime error toast, appears twice):
```
Runtime error in lua:
=[C]:-1: send_key_state: key not found
```
No paste happens. Same applies presumably to `SUPER+C` (copy) and `SUPER+X` (cut), and to the terminal variants (`CTRL+Insert` / `SHIFT+Insert`), since they go through the same `send_shortcut_once` helper in the same file.
## Expected
Paste (and copy/cut) via the universal clipboard shortcuts should work regardless of which keyboard layout is currently active, since these are meant to be global, layout-agnostic shortcuts.
## Steps to reproduce
1. Configure multiple keyboard layouts including a non-Latin one, e.g. in `~/.config/hypr/input.lua`:
```lua
hl.config({
input = {
kb_layout = "gb,ru,ua",
kb_options = "compose:caps,shift:both_capslock_cancel,grp:ctrl_space_toggle",
},
})
```
2. Switch the active layout to Russian (`ru`) with Ctrl+Space.
3. Copy some text from any source.
4. Focus a text field (e.g. the Chrome address bar / a web form) and press `SUPER+V`.
Observed: nothing is pasted, and two "Runtime error in lua: send_key_state: key not found" toasts appear in the top-right corner.
## Likely cause
`bindings/clipboard.lua` synthesizes the shortcut via:
```lua
hl.dispatch(hl.dsp.send_key_state({ mods = mods, key = key, state = "down" }))
```
with `key = "V"`. This dispatcher appears to resolve the key name against the **currently active XKB layout's keymap** rather than a layout-independent physical keycode. Non-Latin layouts (Russian, Ukrainian, etc.) don't have a symbol named "V" in their active group, so the lookup fails.
## Workaround
Use the literal `Ctrl+V` (not `SUPER+V`) while a non-Latin layout is active — this goes through the app's native paste handling instead of the synthetic key-state dispatch, so it's unaffected.
## System details
- Omarchy version: 4.0.4-1
- Omarchy channel: stable
- Hyprland: 0.56.2 (v0.56.2, commit efb50993780079460b0cbed1363e2166a2de1d9f)
- Kernel: 7.2.6-arch2-Watanare-T2-3-t2 (Arch Linux)
- CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
- GPU: Intel UHD Graphics 630 (integrated) + AMD Radeon RX 460/560D (discrete)
- Reproduced in: Google Chrome (address bar / new tab search field)
Related upstream Hyprland discussion referenced directly in the source comments of `clipboard.lua`: https://github.com/hyprwm/Hyprland/discussions/14099Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
- Out of scopeDecided by agents · verified · 2026-10-09 16:10 UTC