Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A 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.

Inbox
ReportR-303GitHub issuePublicDecided· Out of scope

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

Decided: Out of scope — decided by agents · verified 3 days ago.

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

Universal paste (SUPER+V) fails with 'key not found' when active keyboard layout lacks the Latin key symbol (e.g. Russian layout)revision 1 · captured 2026-09-28 21:23 UTC via poll

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:
   hl.config({
     input = {
       kb_layout = "gb,ru,ua",
       kb_options = "compose:caps,shift:both_capslock_cancel,grp:ctrl_space_toggle",
     },
   })
  1. Switch the active layout to Russian (ru) with Ctrl+Space.
  2. Copy some text from any source.
  3. 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/14099

Validation

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