Two-Face supports extensive keyboard customization. This guide covers all available keybind actions.
Keybinds are defined in keybinds.toml:
[keybinds."ctrl+l"]
action = "layout_editor"
[keybinds."f1"]
action = "help"
[keybinds."ctrl+1"]
macro = "attack target"
Modifier Format
Control ctrl+
Alt alt+
Shift shift+
Meta/Super meta+
Key Format
F1-F12 f1 to f12
Enter enter
Escape escape
Tab tab
Backspace backspace
Delete delete
Insert insert
Home home
End end
Page Up pageup
Page Down pagedown
Arrows up, down, left, right
Space space
"ctrl+s" # Ctrl + S
"ctrl+shift+s" # Ctrl + Shift + S
"alt+f4" # Alt + F4
"f1" # F1 alone
"shift+tab" # Shift + Tab
Action Description
scroll_upScroll window up
scroll_downScroll window down
page_upPage up
page_downPage down
scroll_topJump to top
scroll_bottomJump to bottom
focus_nextFocus next window
focus_prevFocus previous window
focus_mainFocus main window
focus_inputFocus command input
Action Description
layout_editorOpen layout editor
window_editorOpen window editor
toggle_borderToggle window border
toggle_titleToggle window title
maximize_windowMaximize current window
restore_windowRestore window size
close_windowClose current popup
Action Description
highlight_browserOpen highlight browser
keybind_browserOpen keybind browser
color_browserOpen color browser
theme_browserOpen theme browser
settings_editorOpen settings
Action Description
history_prevPrevious command history
history_nextNext command history
clear_inputClear command input
submit_commandSubmit current command
cancelCancel current operation
Action Description
select_allSelect all text
copyCopy selection
cutCut selection
pastePaste clipboard
searchOpen search
search_nextFind next
search_prevFind previous
Action Description
next_tabNext tab
prev_tabPrevious tab
tab_1 to tab_9Jump to tab by number
close_tabClose current tab
Action Description
quitExit application
helpShow help
reload_configReload all config
reload_colorsReload colors
reload_highlightsReload highlights
reload_keybindsReload keybinds
reload_layoutReload layout
Action Description
reconnectReconnect to server
disconnectDisconnect
Send game commands:
[keybinds."ctrl+1"]
macro = "attack target"
[keybinds."ctrl+2"]
macro = "stance defensive"
[keybinds."ctrl+h"]
macro = "hide"
Separate with semicolons:
[keybinds."f5"]
macro = "stance offensive;attack target"
Use $input for prompted input:
[keybinds."ctrl+g"]
macro = "go $input"
# Prompts for input, then sends "go <input>"
Key Action
EscapeCancel/close popup
Ctrl+CCopy
Ctrl+VPaste
Ctrl+XCut
Ctrl+ASelect all
Key Action
Page UpScroll up
Page DownScroll down
HomeScroll to top
EndScroll to bottom
TabFocus next
Shift+TabFocus prev
Key Action
EnterSubmit command
UpHistory prev
DownHistory next
Ctrl+LClear input
Key Action
Up/kNavigate up
Down/jNavigate down
EnterSelect
DeleteDelete item
EscapeClose
Some keybinds only work in specific contexts:
# Only in Normal mode
[keybinds."ctrl+l"]
action = "layout_editor"
mode = "normal"
# Only in Navigation mode
[keybinds."j"]
action = "scroll_down"
mode = "navigation"
Keybinds are processed in order:
Global keybinds - Always active
Menu keybinds - In popup/editor
User keybinds - Game mode
Default input - Character insertion
# Quick attacks
[keybinds."f1"]
macro = "attack target"
[keybinds."f2"]
macro = "stance offensive;attack target"
[keybinds."f3"]
macro = "stance defensive"
[keybinds."f4"]
macro = "hide"
# Movement
[keybinds."numpad8"]
macro = "go north"
[keybinds."numpad2"]
macro = "go south"
[keybinds."numpad4"]
macro = "go west"
[keybinds."numpad6"]
macro = "go east"
[keybinds."ctrl+1"]
macro = "prep 101;cast"
[keybinds."ctrl+2"]
macro = "prep 103;cast"
[keybinds."ctrl+3"]
macro = "prep 107;cast target"
[keybinds."ctrl+shift+up"]
action = "scroll_top"
[keybinds."ctrl+shift+down"]
action = "scroll_bottom"
[keybinds."alt+1"]
action = "focus_main"
[keybinds."alt+2"]
macro = ".focus combat"
[keybinds."ctrl+l"]
macro = "look"
[keybinds."ctrl+i"]
macro = "inventory"
[keybinds."ctrl+e"]
macro = "experience"
[keybinds."ctrl+w"]
macro = "wealth"
.keybinds
Features:
Browse all keybinds
Add new keybinds
Edit existing keybinds
Delete keybinds
Filter by type
If two keybinds use the same key:
Higher priority wins
Later definition overwrites earlier
Context-specific beats general
Check for conflicts:
.keybinds
Look for duplicate key combos.
Check for conflicts
Verify key format is correct
Check context/mode setting
Reload: .reload keybinds
Some keys may not be captured:
System shortcuts (Alt+Tab, etc.)
Terminal shortcuts
Media keys
Some terminals don’t report all modifiers:
Try different modifier combos
Use function keys (F1-F12) as alternatives