diff --git a/src/app/cards/DpiCard.tsx b/src/app/cards/DpiCard.tsx index 6ae5ad39..2c257afb 100644 --- a/src/app/cards/DpiCard.tsx +++ b/src/app/cards/DpiCard.tsx @@ -209,6 +209,11 @@ function DpiStageEditor({ const setSlider = (index: number, numeric: number): void => setValue(index, String(numeric)); const setActive = (index: number): void => { + // In the single-DPI view the row number picks that preset, like its tickbox. + if (mode === "generic") { + if (!rows[index].enabled) setEnabled(index, true); + return; + } if (!rows[index].enabled) return; if (mode === "logitech") { control.setDpiSlotDefault(compactIndex(index)); @@ -285,13 +290,13 @@ function DpiStageEditor({ className="dpi-editor-tick" aria-label={tp(locale, "dpi.stageToggle", { n: index + 1 })} checked={row.enabled} - disabled={locked || fixedStageCount || !stagesWritable} + disabled={locked || fixedStageCount || (mode === "stage" && !stagesWritable)} onChange={() => setEnabled(index, !row.enabled)} />