Config Reference
Input
Keyboard, pointer focus, gestures, physical device classes, touch, and exact-name overrides.
Defaults
Defaults shown here are the effective built-in defaults for the selected wiki version.
Default Config Shape
Use this as the section shape when editing halley.rune.
input:
repeat-rate 30
repeat-delay 500
focus-mode "click"
raise-on-click true
keyboard:
layout "us"
variant ""
options ""
model ""
end
gestures:
client-passthrough true
pinch-to-zoom true
compositor-scope "empty-field"
modifier "mod"
end
endinput
Top-level input behavior and nested device groups.
| Option | Type | Default | Notes |
|---|---|---|---|
repeat-rate | i32 | 30 | Keyboard repeat frequency. 0 disables repeat. |
repeat-delay | i32 ms | 500 | Delay before repeat begins. |
focus-mode | click | hover | click | Hover follows the pointer without implicitly raising windows. |
raise-on-click | bool | true | Raises a clicked window independently of focus mode. |
keyboard | nested block | see input.keyboard | XKB layout, model, variant, and options. |
gestures | nested block | see input.gestures | Client passthrough and compositor gesture routing. |
touchpad | mouse | trackpoint | trackball | touchscreen | nested blocks | libinput | Class defaults applied to matching native devices. |
devices | nested block | none | Exact, ASCII-case-insensitive full device-name overrides. |
input.keyboard
XKB keyboard configuration.
| Option | Type | Default | Notes |
|---|---|---|---|
layout | string | us | XKB layout name. |
model | string | XKB model; empty uses the XKB default. | |
variant | string | XKB layout variant. | |
options | string | Comma-separated XKB options. |
input.gestures
Hybrid client/compositor gesture routing and remappable discrete actions.
| Option | Type | Default | Notes |
|---|---|---|---|
enabled | bool | true | Master switch for Halley camera gestures. |
client-passthrough | bool | true | Forwards swipe, pinch, and hold sequences to clients when Halley does not consume them. |
touch-passthrough | bool | true | Exposes raw touchscreen contacts through wl_touch. |
pinch-to-zoom | bool | true | Enables compositor pinch zoom. |
pinch-scope | empty-field | global | empty-field | Where pinch zoom is eligible. |
compositor-scope | empty-field | global | empty-field | Where compositor pan and ordinary action gestures are eligible. |
modifier | modifier | mod | off | mod | Modifier that forces eligible gestures to Halley; exact left/right modifiers are accepted. |
scroll-pan | off | empty-field | empty-field | Controls two-finger scroll panning. |
pan-fingers | u32 | 3 | Finger count for continuous swipe panning; 0 disables it. |
pan-momentum | bool | true | Continues camera motion after a flick. |
pan-decay-rate | f32 | 6.0 | Momentum decay rate. |
flick-min-px-per-s | f32 | 200.0 | Minimum velocity treated as a flick. |
swipe-threshold-px | f32 | 120.0 | Distance required to commit a discrete swipe. |
swipe-<direction>-<fingers> | action | map defaults | Maps a 1-32 finger swipe to a built-in compositor action. |
apogee-swipe-<direction>-<fingers> | action | map defaults | Independent action map used while Apogee is open. |
hold-<fingers> | action | none | Maps a 1-32 finger hold to a built-in compositor action. |
input.touchpad / mouse / trackpoint / trackball
Optional libinput defaults; omitted fields retain each device's own default.
| Option | Type | Default | Notes |
|---|---|---|---|
enabled | bool | libinput | Enables or disables this device class. Omit to retain the device default. |
natural-scroll | bool | libinput | Controls natural scrolling. |
accel-speed | f32 | libinput | Acceleration speed from -1.0 through 1.0. |
accel-profile | string | libinput | Accepted values: adaptive, flat. |
scroll-method | string | libinput | Accepted values: none, two-finger, edge, on-button-down. |
scroll-button | u32 | libinput | Linux input button code used by on-button scrolling. |
scroll-button-lock | bool | libinput | Keeps on-button scrolling active after the button is released. |
left-handed | bool | libinput | Controls left-handed button mapping. |
middle-emulation | bool | libinput | Controls middle-button emulation. |
tap | bool | libinput | Touchpad tap-to-click. |
tap-button-map | string | libinput | left-right-middle or left-middle-right. |
dwt | bool | libinput | Touchpad disable-while-typing. |
click-method | string | libinput | clickfinger or button-areas. |
drag | bool | libinput | Touchpad tap-and-drag. |
drag-lock | bool | libinput | Touchpad drag lock. |
disabled-on-external-mouse | bool | libinput | Disables a touchpad while an external mouse is present. |
input.touchscreen
Touch device enablement, output mapping, and calibration.
| Option | Type | Default | Notes |
|---|---|---|---|
enabled | bool | libinput | Enables or disables touchscreen events. |
map-to-output | string | unset | Exact connector to which contacts are mapped. |
calibration-matrix | [f32; 6] | libinput | Row-major 2x3 affine calibration matrix. |
input.devices.<name>
Per-device values layered over the relevant class block.
| Option | Type | Default | Notes |
|---|---|---|---|
<full device name> | nested block | none | Exact full device name, compared without ASCII case. |
<supported device option> | class option | inherited | Overrides a supported setting for this device only. |