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.
Keyboard layout bar widget can switch the wrong device on T2 Macs ("Apple Headset" phantom keyboard not excluded)
Reported by brwaters · filed Aug 13, 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
On T2 Macs, the T2 coprocessor (apple-bce/bce-vhci) exposes the headphone jack's inline remote as a fake USB HID keyboard (Bus=0003 Vendor=05ac Product=8103, name "Apple Headset"). KeyboardLayoutModel.js's UNTYPED_KEYBOARDS regex already excludes other non-typing devices (hl-virtual-keyboard, power-button, sleep-button, lid-switch, video-bus) but not this one, so the bar widget's selectKeyboard() treats it as a real, typeable keyboard.
selectKeyboard() picks whichever "typed" keyboard is furthest advanced through the layout list. If Apple Headset happens to be further along than the real keyboard, it gets selected, and clicking the widget runs hyprctl switchxkblayout "Apple Headset" next — switching a device nobody types on, while the real keyboard (and therefore every app reading from it, including terminals) stays on the old layout. The bar label then shows the new layout even though nothing you actually type reflects it.
Repro (T2 Mac only):
1. Set a multi-layout kb_layout (e.g. us,gr) with grp:alts_toggle
2. Click the keyboard-layout bar widget
3. Bar label updates, but typed input in terminals/apps reading the real keyboard doesn't change
4. Using the actual Alt+Alt shortcut works correctly, confirming the real keyboard's layout never moved — only Apple Headset's did
Suggested fix: add Apple Headset (or a broader pattern matching apple-bce-enumerated non-typing HID devices) to UNTYPED_KEYBOARDS in shell/plugins/bar/widgets/KeyboardLayoutModel.js.
Confirmed via hyprctl devices -j showing split state (apple-headset -> Greek, real keyboard -> English (US)) and cross-referenced against /proc/bus/input/devices:
I: Bus=0003 Vendor=05ac Product=8103
N: Name="Apple Headset"
S: Sysfs=.../0000:01:00.1/apple-bce/apple-bce/bce-vhci/usb5/...Environment: Omarchy 4.0.0rc3-1 (Quattro RC), T2 MacBook.
View raw text
On T2 Macs, the T2 coprocessor (`apple-bce`/`bce-vhci`) exposes the headphone jack's inline remote as a fake USB HID keyboard (`Bus=0003 Vendor=05ac Product=8103`, name `"Apple Headset"`). `KeyboardLayoutModel.js`'s `UNTYPED_KEYBOARDS` regex already excludes other non-typing devices (`hl-virtual-keyboard`, `power-button`, `sleep-button`, `lid-switch`, `video-bus`) but not this one, so the bar widget's `selectKeyboard()` treats it as a real, typeable keyboard. `selectKeyboard()` picks whichever "typed" keyboard is furthest advanced through the layout list. If `Apple Headset` happens to be further along than the real keyboard, it gets selected, and clicking the widget runs `hyprctl switchxkblayout "Apple Headset" next` — switching a device nobody types on, while the real keyboard (and therefore every app reading from it, including terminals) stays on the old layout. The bar label then shows the new layout even though nothing you actually type reflects it. **Repro (T2 Mac only):** 1. Set a multi-layout `kb_layout` (e.g. `us,gr`) with `grp:alts_toggle` 2. Click the keyboard-layout bar widget 3. Bar label updates, but typed input in terminals/apps reading the real keyboard doesn't change 4. Using the actual Alt+Alt shortcut works correctly, confirming the real keyboard's layout never moved — only `Apple Headset`'s did **Suggested fix:** add `Apple Headset` (or a broader pattern matching `apple-bce`-enumerated non-typing HID devices) to `UNTYPED_KEYBOARDS` in `shell/plugins/bar/widgets/KeyboardLayoutModel.js`. Confirmed via `hyprctl devices -j` showing split state (`apple-headset -> Greek`, real keyboard -> `English (US)`) and cross-referenced against `/proc/bus/input/devices`: ``` I: Bus=0003 Vendor=05ac Product=8103 N: Name="Apple Headset" S: Sysfs=.../0000:01:00.1/apple-bce/apple-bce/bce-vhci/usb5/... ``` Environment: Omarchy `4.0.0rc3-1` (Quattro RC), T2 MacBook.
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 04:02 UTC