How the keymap works#
Every shortcut in Pyx comes from a keymap, a plain TOML file that maps keys to actions. The built-in keymap ships the bindings below. Nothing requires the keyboard, but everything is faster with it.
On macOS the command key is written Cmd throughout.
Global shortcuts#
These work everywhere in the app.
| Shortcut | What it does |
|---|---|
| CmdK | Open the command palette |
| CmdP | Open the palette focused on symbol search |
Escape | Close the palette or the current overlay |
| CmdR | Sync now, refreshing accounts and prices |
| CmdB | Show or hide the sidebar |
| CmdJ | Show or hide the activity log |
| CmdShiftM | Mask or reveal every amount |
| CmdShiftT | Open the theme picker |
| CmdShiftI | Import a CSV file |
/ | Jump to the filter or search box |
| CmdN | Create a new blank chart workspace |
| CmdS | Save the current workspace to a file |
| CtrlTab / CtrlShiftTab | Step back and forward through visited views |
Go anywhere with two keys#
Views answer to short sequences: press g, release, then a letter.
| Sequence | Opens |
|---|---|
g o | Overview |
g h | Holdings |
g a | Allocation |
g p | Performance |
g c | Charts |
g x | Transactions |
g t | Tags |
g n | Accounts |
g s | Settings |
Holdings list shortcuts#
| Shortcut | What it does |
|---|---|
Up / Down | Move between rows |
Enter | Open the detail drawer for the selected row |
Escape | Close the drawer |
t | Open the tag picker for the selected security |
Chart shortcuts#
Active while a chart workspace has focus.
| Shortcut | What it does |
|---|---|
] | Step to a longer time range |
[ | Step to a shorter time range |
i | Show or hide the indicator panel |
a | Open the symbol picker to add a ticker to the active pane |
| CmdO | Open a saved workspace from a file |
| CtrlTab | Cycle workspace tabs while a chart is focused |
t | Cycle the chart type forward |
| ShiftT | Cycle the chart type backward |
| Cmd1 to Cmd8 | Jump to a specific chart type |
n | Cycle the normalize mode: Absolute, Percent, Log Scale |
| Arrow keys | Move the selected pane |
| ShiftArrows | Add the neighboring pane to your selection |
Drawing tool keys#
Single letters switch tools while a chart is focused.
| Key | Tool |
|---|---|
l | Trend line |
h | Horizontal line |
v | Vertical line |
r | Rectangle |
c | Channel |
f | Fibonacci |
x | Text note |
m | Measurement |
Escape | Back to the normal cursor |
Delete | Remove the selected drawing |
| CmdC / CmdV | Copy and paste drawings |
Notes editor shortcuts#
Active while writing a note.
| Shortcut | What it does |
|---|---|
| CmdB | Bold the selection |
| CmdI | Italicize the selection |
| CmdShiftX | Strike through the selection |
| CmdK | Wrap the selection as a markdown link |
Enter | Continue the current list, checkbox, or quote |
Vim mode#
Turn on Vim mode under Settings, Keyboard. It adds modal navigation to lists: j and k move through rows, Enter opens a row, c opens the selected holding as a chart, and / focuses search.
Vim mode is off by default. Turning it on does not remove arrow-key navigation, it adds to it. If your hands already know these keys from an editor, the holdings table starts to feel like a buffer.
Custom keymaps#
Shortcuts are data, not code. Each binding in a keymap file looks like this:
[[bind]]
key = "k"
mods = ["meta"]
context = "Global"
action = "TogglePalette"
keyis the key pressed.modslists modifiers held with it:meta(Cmd),ctrl,shift,alt.contextis where the binding applies:Global,InList, orInChart.actionis the command to run.
To change a shortcut, copy a binding, edit key or mods, and keep the action. The keyboard settings panel flags bindings that collide, so a conflict shows up before it bites.
You can also assign per-command hotkeys by right-clicking entries in the command palette, no file editing required.
Where the keymap files live and how the layers stack is covered in Configure Pyx with TOML files.