Input
Put input policy in ~/.config/aqueous/input.toml. See the
input.toml reference for the full list of accepted
keys. The sidecar overlays any [input] sections in wm.toml, and changes
apply to connected devices as well as devices added later.
Keyboard and focus
Section titled “Keyboard and focus”[input]focus_follows_mouse = false
xkb_layout = "us,de"xkb_variant = ""xkb_options = "caps:escape,grp:alt_shift_toggle"
repeat_rate = 40repeat_delay = 400repeat_rate is measured in characters per second; 0 disables key repeat.
repeat_delay is the delay in milliseconds before repeating begins. Empty or
omitted XKB values fall back to xkbcommon’s normal defaults.
Mouse and touchpad
Section titled “Mouse and touchpad”Device options are overrides. Omit a key when you want the device’s libinput default.
[input.mouse]accel_profile = "flat"accel_speed = 0.0natural_scroll = falseleft_handed = falsemiddle_emulation = false
[input.touchpad]accel_profile = "adaptive"accel_speed = 0.0natural_scroll = truetap = truedwt = trueclick_method = "clickfinger"scroll_method = "two-finger"Supported values are:
accel_profile:flatoradaptiveaccel_speed:-1.0through1.0click_method:clickfingerorbutton-areasscroll_method:two-finger,edge, orno-scroll- Boolean switches:
natural_scroll,tap,dwt,left_handed, andmiddle_emulation
Tap, click-method, and scroll-method settings are applied only to devices detected as touchpads.
Gestures
Section titled “Gestures”Gesture bindings can live in input.toml or wm.toml; the input sidecar wins
when both define the same gesture. Gesture values use the same builtin:,
set_layout:, and spawn: verbs as custom keybindings.
[gestures]swipe_3_left = "builtin:focus_workspace_down"swipe_3_right = "builtin:focus_workspace_up"pinch_4_in = "builtin:toggle_start_menu"Trackpoints and legacy pointer settings
Section titled “Trackpoints and legacy pointer settings”[input.trackpoint] accepts the same device keys, but the current application
path classifies every non-touchpad pointer as a mouse. Put effective trackpoint
policy under [input.mouse] for now.
Older configurations may use global pointer settings:
[input]pointer_acceleration = falsepointer_acceleration_factor = 0.0Per-device accel_profile and accel_speed take precedence. For a new setup,
prefer the device sections because they express intent more clearly.
