-- ─────────────────────────────────────────────────────────────────────────────
-- Input
--
-- Deliberately GNOME-like: click-to-focus, no focus-follows-mouse, no mouse
-- acceleration changes. The goal is that muscle memory transfers untouched.
-- ─────────────────────────────────────────────────────────────────────────────

local prefs = require("prefs")

hl.config({
    input = {
        kb_layout  = prefs.get("keyboardLayout", "us"),
        kb_variant = prefs.get("keyboardVariant", ""),
        kb_model   = "",
        kb_options = prefs.get("keyboardOptions", "caps:escape_shifted_capslock"),
        kb_rules   = "",

        numlock_by_default = prefs.get("numlockByDefault", true),

        -- GNOME's defaults are 500ms delay / 33Hz repeat.
        repeat_delay = prefs.get("keyRepeatDelay", 500),
        repeat_rate  = prefs.get("keyRepeatRate", 33),

        -- 1 = FOLLOW. The window under the pointer takes focus. This comment
        -- previously claimed 1 was "click to focus, GNOME's behaviour", which
        -- is the opposite of what Hyprland does -- `hyprctl descriptions` gives
        -- map: [{"separate":3},{"detached":2},{"follow":1},{"disabled":0}],
        -- so click-to-focus is 0. Changing the shipped value is a behaviour
        -- decision rather than a correction, so the value is left alone and
        -- only the description is fixed; Settings exposes all four.
        follow_mouse = prefs.getInt("followMouse", 1),

        -- Softens follow_mouse: with this off, focus changes only when the
        -- pointer crosses a window boundary, not on every movement inside one.
        -- Still focus-follows-pointer, just less twitchy.
        mouse_refocus = false,

        -- Flat pointer response, no acceleration. Matters for gaming.
        sensitivity   = prefs.get("pointerSensitivity", 0),
        accel_profile = "flat",

        -- Clicking a floating window raises and focuses it.
        float_switch_override_focus = 2,
    },
})

-- Desktop machine: no touchpad, no gestures worth wiring. If a laptop ever
-- runs this config, add touchpad settings in overrides.lua.

return true
