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

fnmode=2 is forced on every install: a no-op for the keyboards it names, and it removes the media keys on Apple keyboards

Reported by omarchybot · filed Aug 16, 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

fnmode=2 is forced on every install: a no-op for the keyboards it names, and it removes the media keys on Apple keyboardsrevision 1 · captured 2026-09-28 21:29 UTC via poll

System details: Omarchy quattro @ 7488eade (post-4.0.0), QEMU/KVM VM. Found by an automated QA pass; drop-in confirmed present on a stock 4.0.0 worker. Not reproduced on Apple hardware — no Apple HID keyboard on the test machine.

install/hardware/fix-fkeys.sh writes options hid_apple fnmode=2 on every Omarchy install, with no hardware gate:

# Ensure that F-keys on Apple-like keyboards (such as Lofree Flow84) are always F-keys
if [[ ! -f /etc/modprobe.d/hid_apple.conf ]]; then
  sudo mkdir -p /etc/modprobe.d
  echo "options hid_apple fnmode=2" | sudo tee /etc/modprobe.d/hid_apple.conf >/dev/null
fi

Confirmed on a stock worker:

$ cat /etc/modprobe.d/hid_apple.conf
options hid_apple fnmode=2
$ modinfo hid_apple | grep -i fnmode
parm: fnmode:Mode of fn key on Apple keyboards (0 = disabled, 1 = fkeyslast, 2 = fkeysfirst, [3] = auto, 4 = fkeysdisabled) (uint)

The kernel default is 3 (auto), and auto already does what this script wants — drivers/hid/hid-apple.c:

	if (fnmode == 3) {
		if (asc->quirks & APPLE_DISABLE_FKEYS)
			real_fnmode = 4;
		else if (asc->quirks & APPLE_IS_NON_APPLE)
			real_fnmode = 2;
		else
			real_fnmode = 1;
	}

So for the third-party Apple-alike keyboards the comment names (Lofree Flow84 and friends, which carry APPLE_IS_NON_APPLE) auto is already 2 and the drop-in changes nothing. The only keyboards it actually changes are the ones it was not aimed at:

  • Genuine Apple keyboards (MacBook internal keyboards, Magic Keyboard) go from 1 (fkeyslast — brightness/volume/media on the top row) to 2, so brightness, volume and media now need Fn held. That contradicts manual/33-monitors.md:47 ("Monitor brightness is controlled by the dedicated function keys for brightness up/down") on hardware Omarchy explicitly supports (manual/44-mac-support.md, the whole T2 path in install/hardware/apple/).
  • Keyboards the kernel flags APPLE_DISABLE_FKEYS are forced out of mode 4 into 2.

Possibly related lead: on a T2 Mac the Touch Bar registers as an Apple HID keyboard and its keycodes pass through the same hid_apple translation. #2837 (MacBookPro16,1: Touch Bar always sends F1–F12 regardless of hid_appletb_kbd mode=2) is exactly the symptom fnmode=2 produces — worth having that reporter try fnmode=3 before chasing the Touch Bar driver.


Correction, after an independent review of this report:

The Touch Bar lead is wrong -- disregard it. The Touch Bar binds to hid_appletb_kbd, a separate driver with its own mode parameter, and #2837 explicitly distinguishes it from hid_apple. The rest stands: the drop-in is a no-op for the kernel-recognised Apple-alike keyboards it names, and it does move genuine hid_apple keyboards off their media row. It does not cover every MacBook keyboard.

View raw text
**System details:** Omarchy `quattro` @ 7488eade (post-4.0.0), QEMU/KVM VM. Found by an automated QA pass; drop-in confirmed present on a stock 4.0.0 worker. Not reproduced on Apple hardware — no Apple HID keyboard on the test machine.

`install/hardware/fix-fkeys.sh` writes `options hid_apple fnmode=2` on **every** Omarchy install, with no hardware gate:

```sh
# Ensure that F-keys on Apple-like keyboards (such as Lofree Flow84) are always F-keys
if [[ ! -f /etc/modprobe.d/hid_apple.conf ]]; then
  sudo mkdir -p /etc/modprobe.d
  echo "options hid_apple fnmode=2" | sudo tee /etc/modprobe.d/hid_apple.conf >/dev/null
fi
```

Confirmed on a stock worker:

```
$ cat /etc/modprobe.d/hid_apple.conf
options hid_apple fnmode=2
$ modinfo hid_apple | grep -i fnmode
parm: fnmode:Mode of fn key on Apple keyboards (0 = disabled, 1 = fkeyslast, 2 = fkeysfirst, [3] = auto, 4 = fkeysdisabled) (uint)
```

The kernel default is `3` (auto), and auto already does what this script wants — `drivers/hid/hid-apple.c`:

```c
	if (fnmode == 3) {
		if (asc->quirks & APPLE_DISABLE_FKEYS)
			real_fnmode = 4;
		else if (asc->quirks & APPLE_IS_NON_APPLE)
			real_fnmode = 2;
		else
			real_fnmode = 1;
	}
```

So for the third-party Apple-alike keyboards the comment names (Lofree Flow84 and friends, which carry `APPLE_IS_NON_APPLE`) auto is *already* `2` and the drop-in changes nothing. The only keyboards it actually changes are the ones it was not aimed at:

- **Genuine Apple keyboards** (MacBook internal keyboards, Magic Keyboard) go from `1` (fkeyslast — brightness/volume/media on the top row) to `2`, so brightness, volume and media now need Fn held. That contradicts `manual/33-monitors.md:47` ("Monitor brightness is controlled by the dedicated function keys for brightness up/down") on hardware Omarchy explicitly supports (`manual/44-mac-support.md`, the whole T2 path in `install/hardware/apple/`).
- Keyboards the kernel flags `APPLE_DISABLE_FKEYS` are forced out of mode `4` into `2`.

Possibly related lead: on a T2 Mac the Touch Bar registers as an Apple HID keyboard and its keycodes pass through the same `hid_apple` translation. #2837 (MacBookPro16,1: Touch Bar always sends F1–F12 regardless of `hid_appletb_kbd mode=2`) is exactly the symptom `fnmode=2` produces — worth having that reporter try `fnmode=3` before chasing the Touch Bar driver.

---

**Correction, after an independent review of this report:**

The Touch Bar lead is **wrong** -- disregard it. The Touch Bar binds to `hid_appletb_kbd`, a separate driver with its own `mode` parameter, and #2837 explicitly distinguishes it from `hid_apple`. The rest stands: the drop-in is a no-op for the kernel-recognised Apple-alike keyboards it names, and it does move genuine `hid_apple` keyboards off their media row. It does not cover every MacBook keyboard.

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:22 UTC