-- Keep only your personal input overrides here. Uncommented settings below -- replace Omarchy's defaults. -- Keyboard layout and options. -- See https://wiki.hypr.land/Configuring/Basics/Variables/#input -- hl.config({ -- input = { -- -- Use multiple keyboard layouts and switch between them with Left Alt + Right Alt. -- kb_layout = "us,dk,eu", -- kb_options = "compose:caps,shift:both_capslock_cancel,grp:alts_toggle", -- -- -- Use a specific keyboard variant if needed (e.g. intl for international keyboards). -- kb_variant = "intl", -- -- -- Change speed of keyboard repeat. -- repeat_rate = 40, -- repeat_delay = 250, -- -- -- Start with numlock on by default. -- numlock_by_default = true, -- -- -- Increase sensitivity for mouse/trackpad (default: 0). -- sensitivity = 0.35, -- -- -- Turn off mouse acceleration (default: adaptive). -- accel_profile = "flat", -- -- touchpad = { -- -- Use traditional (non-inverse) scrolling. -- natural_scroll = false, -- -- -- Re-enable tap-to-click (one-finger tap = left, two-finger = right). -- tap_to_click = true, -- -- -- Use two-finger clicks for right-click instead of lower-right corner. -- clickfinger_behavior = true, -- -- -- Control the speed of your scrolling. -- scroll_factor = 0.4, -- -- -- Enable the touchpad while typing. -- disable_while_typing = false, -- -- -- Left-click-and-drag with three fingers. -- drag_3fg = 1, -- }, -- }, -- }) -- App-specific touchpad scroll speeds. -- o.window("(Alacritty|kitty|foot)", { scroll_touchpad = 1.5 }) -- o.window("com.mitchellh.ghostty", { scroll_touchpad = 0.2 }) -- Enable touchpad gestures for changing workspaces. -- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Gestures/ -- hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" }) -- Enable touchpad gestures for moving focus (helpful on scrolling layout). -- hl.gesture({ fingers = 3, direction = "left", action = function() hl.dispatch(hl.dsp.focus({ direction = "l" })) end }) -- hl.gesture({ fingers = 3, direction = "right", action = function() hl.dispatch(hl.dsp.focus({ direction = "r" })) end }) -- lan-mouse (handoff) virtual pointer: DO NOT add sensitivity/accel_profile rules here. -- -- Tried and measured as INERT on 2026-10-10. `hl.device({name="unknown-device", ...})` does -- match the device (proven by toggling scroll_factor and watching hyprctl report it), but -- `sensitivity` and `accel_profile` are libinput pointer-acceleration settings and a -- wlr-virtual-pointer is not a libinput device, so they have nothing to act on. Measured -- travel with `lan-mouse test-emulation` + hyprctl cursorpos was 398x198px at sensitivity 0 -- AND at -0.9 -- identical, and exactly 1:1 with the raw deltas. Both machines measure the -- same 398x198, so neither end scales. -- -- Corollary: global `accel_profile = "flat"` would also be a no-op for the virtual pointer -- while permanently changing how the real trackpad feels. Pure loss -- do not do it. -- The magnitude of forwarded motion originates on the SENDING machine's trackpad. -- -- ROOT CAUSE FOUND 2026-10-10: lan-mouse 0.11.0 forwards UNACCELERATED deltas. -- input-capture/src/layer_shell.rs:887 destructures the relative-pointer event as -- `dx_unaccel: dx, dy_unaccel: dy, ..` -- the `..` throws away the accelerated dx/dy that the -- same event carries. So the accel curve is stripped at the SENDER and nothing replaces it at -- the receiver. Consequence: sensitivity/accel_profile are inert for forwarded motion on BOTH -- ends, so "sync the sensitivity between the laptops" is impossible by configuration. -- The only fix is a source patch to use the accelerated dx/dy. -- See memory: lan-mouse-forwards-unaccelerated-deltas.md