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.
[JIS keyboard] Window resize shortcuts are misleading because they use US physical key labels
Reported by simosako · filed Sep 6, 2026 · open at source
R-1248 is the earliest report of this defect — filed Aug 29, 2026, open upstream. This report (filed Sep 6, 2026) describes the same defect, so it is folded under it in the inbox.
Decided by agents · verified· Oct 9, 2026
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?
- 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
System details
Omarchy 4.0.2 / Hyperland 0.56.2, Thinkpad X1 Carbon Gen 12
What's wrong?
Environment
- Omarchy 4.0.2
- Hyprland 0.56.2
- Japanese JIS keyboard (
jp) - Layout:
dwindle dwindle:smart_resizing = true
Problem
The window resize shortcuts shown by Omarchy use MINUS and EQUAL labels, but the actual bindings use physical keycodes (code:20 and code:21). On a JIS keyboard, these do not correspond to the printed - and = keys in the way the UI suggests.
With two tiled windows arranged side by side, pressing JIS = (Super + Shift + the JIS - key) appears to do nothing.
This is explained by the current binding, but is very confusing to JIS users because the shortcut appears to be a horizontal resize shortcut while it is actually assigned to vertical resizing.
Current bindings
The relevant Omarchy bindings are:
o.bind("SUPER + code:20", "Expand window left", hl.dsp.window.resize({ x = -100, y = 0, relative = true }))
o.bind("SUPER + code:21", "Shrink window left", hl.dsp.window.resize({ x = 100, y = 0, relative = true }))
o.bind("SUPER + SHIFT + code:20", "Shrink window up", hl.dsp.window.resize({ x = 0, y = -100, relative = true }))
o.bind("SUPER + SHIFT + code:21", "Expand window down", hl.dsp.window.resize({ x = 0, y = 100, relative = true }))The JIS layout maps these physical positions as follows:
| Physical keycode | JIS key | Shifted output |
|---|---|---|
code:20 / AE11 | - | = |
code:21 / AE12 | ^ | ~ |
Therefore, on a JIS keyboard:
| Shortcut | Actual operation |
|---|---|
Super + - | Horizontal split boundary moves left |
Super + ^ | Horizontal split boundary moves right |
Super + = (Super + Shift + -) | Vertical resize: shrink upward |
Super + ~ (Super + Shift + ^) | Vertical resize: expand downward |
When windows are arranged side by side, the vertical resize operations have no visible effect because there is no vertical split to resize.
Expected behavior / suggestion
This may be intentional as a physical-key binding, but the current MINUS / EQUAL labels are misleading for JIS users. Could the keybinding documentation/menu clarify that these are US-layout physical key positions, or show the corresponding keys for non-US layouts?
For example, the JIS equivalent could be documented explicitly as:
Super + - → horizontal resize one direction
Super + ^ → horizontal resize the other direction
Super + Shift + - (=) → vertical resize
Super + Shift + ^ (~) → vertical resizeThis would make it clear why Super + = does not resize the width of side-by-side windows.
View raw text
### System details
Omarchy 4.0.2 / Hyperland 0.56.2, Thinkpad X1 Carbon Gen 12
### What's wrong?
## Environment
- Omarchy 4.0.2
- Hyprland 0.56.2
- Japanese JIS keyboard (`jp`)
- Layout: `dwindle`
- `dwindle:smart_resizing = true`
## Problem
The window resize shortcuts shown by Omarchy use `MINUS` and `EQUAL` labels, but the actual bindings use physical keycodes (`code:20` and `code:21`). On a JIS keyboard, these do not correspond to the printed `-` and `=` keys in the way the UI suggests.
With two tiled windows arranged side by side, pressing JIS `=` (`Super + Shift +` the JIS `-` key) appears to do nothing.
This is explained by the current binding, but is very confusing to JIS users because the shortcut appears to be a horizontal resize shortcut while it is actually assigned to vertical resizing.
## Current bindings
The relevant Omarchy bindings are:
```lua
o.bind("SUPER + code:20", "Expand window left", hl.dsp.window.resize({ x = -100, y = 0, relative = true }))
o.bind("SUPER + code:21", "Shrink window left", hl.dsp.window.resize({ x = 100, y = 0, relative = true }))
o.bind("SUPER + SHIFT + code:20", "Shrink window up", hl.dsp.window.resize({ x = 0, y = -100, relative = true }))
o.bind("SUPER + SHIFT + code:21", "Expand window down", hl.dsp.window.resize({ x = 0, y = 100, relative = true }))
```
The JIS layout maps these physical positions as follows:
| Physical keycode | JIS key | Shifted output |
|---|---|---|
| `code:20` / `AE11` | `-` | `=` |
| `code:21` / `AE12` | `^` | `~` |
Therefore, on a JIS keyboard:
| Shortcut | Actual operation |
|---|---|
| `Super + -` | Horizontal split boundary moves left |
| `Super + ^` | Horizontal split boundary moves right |
| `Super + =` (`Super + Shift + -`) | Vertical resize: shrink upward |
| `Super + ~` (`Super + Shift + ^`) | Vertical resize: expand downward |
When windows are arranged side by side, the vertical resize operations have no visible effect because there is no vertical split to resize.
## Expected behavior / suggestion
This may be intentional as a physical-key binding, but the current `MINUS` / `EQUAL` labels are misleading for JIS users. Could the keybinding documentation/menu clarify that these are US-layout physical key positions, or show the corresponding keys for non-US layouts?
For example, the JIS equivalent could be documented explicitly as:
```text
Super + - → horizontal resize one direction
Super + ^ → horizontal resize the other direction
Super + Shift + - (=) → vertical resize
Super + Shift + ^ (~) → vertical resize
```
This would make it clear why `Super + =` does not resize the width of side-by-side windows.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
- Fixed bypr/14423· confirmed
- Fixed bypr/5881· confirmed
- Fixed bypr/10468· confirmed
- Related PRpr/13327· confirmed
- Duplicate ofR-1248omarchy-menu-keybindings: code: binds always displayed with US symbol names (xkbcli compile-keymap ignores the active layout)· decided by agents · verified
- Related PRpr/11026· confirmed
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.