Skip to main content

Keyboard Settings

Key Repeat

repeat_rate
integer
default:"25"
Number of key repeats per second when a key is held down
repeat_rate=25
repeat_delay
integer
default:"600"
Delay in milliseconds before key repeat starts
repeat_delay=600

Keyboard Layout

xkb_rules_layout
string
default:"us"
Keyboard layout using XKB rulesCommon layouts:
  • us - US English
  • gb - UK English
  • de - German
  • fr - French
  • es - Spanish
  • us,ru - Multiple layouts (US and Russian)
xkb_rules_layout=us

Num Lock

numlockon
boolean
default:"0"
Enable Num Lock on startup
  • 1 - Num Lock on at startup
  • 0 - Num Lock off at startup
numlockon=0

Keyboard Examples

# Fast key repeat
repeat_rate=35
repeat_delay=300

# Dual layout (US and German)
xkb_rules_layout=us,de

# Enable Num Lock
numlockon=1

Mouse Settings

Mouse settings require logging out and back in to take effect.
mouse_natural_scrolling
boolean
default:"0"
Enable natural (reversed) scrolling for mouse
  • 1 - Natural scrolling (content moves with scroll direction)
  • 0 - Traditional scrolling
mouse_natural_scrolling=0

Trackpad Settings

Trackpad settings require logging out and back in to take effect.

Basic Trackpad Settings

disable_trackpad
boolean
default:"0"
Disable trackpad completely
disable_trackpad=0
tap_to_click
boolean
default:"1"
Enable tap-to-click on trackpad
tap_to_click=1
tap_and_drag
boolean
default:"1"
Enable tap-and-drag gesture
tap_and_drag=1
drag_lock
boolean
default:"1"
Enable drag lock (continue dragging after lifting finger)
drag_lock=1

Trackpad Scrolling

trackpad_natural_scrolling
boolean
default:"0"
Enable natural (reversed) scrolling for trackpad
  • 1 - Natural scrolling (content moves with finger direction)
  • 0 - Traditional scrolling
trackpad_natural_scrolling=0

Typing and Gestures

disable_while_typing
boolean
default:"1"
Disable trackpad while typing to prevent accidental touches
disable_while_typing=1
swipe_min_threshold
integer
default:"1"
Minimum distance threshold for swipe gestures
swipe_min_threshold=1

Hand Orientation

left_handed
boolean
default:"0"
Swap left and right button behavior for left-handed use
left_handed=0

Button Emulation

middle_button_emulation
boolean
default:"0"
Enable middle button emulation (click left + right buttons simultaneously)
middle_button_emulation=0

Complete Trackpad Configuration

# Basic settings
disable_trackpad=0
tap_to_click=1
tap_and_drag=1
drag_lock=1

# Scrolling
trackpad_natural_scrolling=0

# Typing protection
disable_while_typing=1

# Gestures
swipe_min_threshold=1

# Orientation
left_handed=0

# Button emulation
middle_button_emulation=0

Focus and Cursor Behavior

Focus Settings

sloppyfocus
boolean
default:"1"
Enable sloppy focus (focus follows mouse without clicking)
  • 1 - Focus follows mouse
  • 0 - Click to focus
sloppyfocus=1
warpcursor
boolean
default:"1"
Warp cursor to focused window
warpcursor=1
focus_on_activate
boolean
default:"1"
Focus windows when they request activation
focus_on_activate=1
focus_cross_monitor
boolean
default:"0"
Allow focus to move across monitors automatically
focus_cross_monitor=0
focus_cross_tag
boolean
default:"0"
Allow focus to switch tags automatically
focus_cross_tag=0

Floating Window Behavior

enable_floating_snap
boolean
default:"0"
Enable snapping for floating windows
enable_floating_snap=0
snap_distance
integer
default:"30"
Distance in pixels for window snapping
snap_distance=30
drag_tile_to_tile
boolean
default:"1"
Allow dragging tiled windows to swap positions
drag_tile_to_tile=1

Idle Inhibition

idleinhibit_ignore_visible
boolean
default:"0"
Ignore idle inhibitors from visible windowsIdle inhibitors prevent screen blanking/sleep (e.g., video players)
idleinhibit_ignore_visible=0

Example Configurations

Laptop User (Natural Scrolling)

# Keyboard
repeat_rate=25
repeat_delay=600
xkb_rules_layout=us
numlockon=0

# Trackpad
disable_trackpad=0
tap_to_click=1
tap_and_drag=1
trackpad_natural_scrolling=1
disable_while_typing=1

# Focus
sloppyfocus=1
warpcursor=1

Desktop User (External Mouse)

# Keyboard
repeat_rate=30
repeat_delay=400
xkb_rules_layout=us
numlockon=1

# Mouse
mouse_natural_scrolling=0

# Disable trackpad
disable_trackpad=1

# Focus
sloppyfocus=0
warpcursor=0
focus_on_activate=1

Programmer (Fast Keyboard)

# Fast key repeat for navigation
repeat_rate=50
repeat_delay=200

# Multiple layouts
xkb_rules_layout=us,ru

# Precise focus control
sloppyfocus=0
warpcursor=0
focus_cross_monitor=0
focus_cross_tag=0

Left-Handed User

# Trackpad
left_handed=1
tap_to_click=1
tap_and_drag=1

# Mouse bindings should also be adjusted
# See keybindings configuration

Finding Key Names

To configure keyboard layouts and key bindings, you may need to find key names:

Using wev (Wayland)

wev

Using xev (X11)

xev
Press keys and look for their names in the output.

XKB Layout Options

For advanced keyboard configuration, you can combine layouts with options:
# Multiple layouts with Caps Lock as Ctrl
xkb_rules_layout=us,de
# Note: Mango may support additional xkb options in future versions
Common XKB layouts:
  • us - US English
  • gb - UK English
  • de - German
  • fr - French
  • es - Spanish
  • ru - Russian
  • jp - Japanese
  • cn - Chinese
  • kr - Korean

Build docs developers (and LLMs) love