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-1869GitHub issuePublicDecided· Out of scope

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

Decided: Out of scope — decided by agents · verified 4 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

Keyboard layout bar widget can switch the wrong device on T2 Macs ("Apple Headset" phantom keyboard not excluded)revision 1 · captured 2026-09-28 21:29 UTC via poll

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