diff --git a/apps/desktop/src/app/shell/keybind-panel.tsx b/apps/desktop/src/app/shell/keybind-panel.tsx index 835c966ad25..c9661855d7e 100644 --- a/apps/desktop/src/app/shell/keybind-panel.tsx +++ b/apps/desktop/src/app/shell/keybind-panel.tsx @@ -14,6 +14,7 @@ import { type KeybindReadonly } from '@/lib/keybinds/actions' import { formatCombo } from '@/lib/keybinds/combo' +import { arraysEqual } from '@/lib/storage' import { $bindings, $capture, @@ -143,6 +144,7 @@ function KeybindRow({ action }: { action: KeybindActionMeta }) { const combos = bindings[action.id] ?? [] const capturing = capture === action.id const label = k.actions[action.id] ?? action.id + const isDefault = arraysEqual(combos, [...action.defaults]) const conflict = combos .flatMap(combo => conflictsFor(action.id, combo).map(other => k.actions[other] ?? other)) @@ -181,15 +183,21 @@ function KeybindRow({ action }: { action: KeybindActionMeta }) { )} - + {/* Reset only shows once a binding diverges from its default; the spacer + holds the column otherwise so rows stay aligned. */} + {isDefault ? ( + + ) : ( + + )} ) }