This runbook covers keyboard shortcut parity in Compass. The principle: anything a user can do with a mouse should also be doable with the keyboard.
Use this guide to validate:
- navigating between views with the keyboard (D, W)
- navigating between days in Day view (J, K, T)
- navigating between weeks in Week view (J, K, T)
- opening and using the command palette (Cmd+K)
- creating events with keyboard shortcuts (C, A, Shift+W, Shift+M in Week view)
- creating tasks with the keyboard (C in Day view)
- toggling the sidebar ([)
- completing tasks with the keyboard (Enter on checkbox)
- deleting tasks with the keyboard (Delete/Backspace)
- undoing with the keyboard (Cmd+Z / Ctrl+Z)
- confirming that shortcuts do not fire while typing in inputs
Do not use this guide to validate:
- full event CRUD flows (see
events.md) - full task management flows (see
tasks.md)
- Start the app with
bun run dev:web. - Log in with any account.
- Ensure no input or textarea is focused unless a scenario requires it.
Helpful notes:
- All shortcuts are context-aware. They do not fire when the user is typing in a text input, textarea, or form field — except Cmd+K / Ctrl+K, which opens the command palette from anywhere.
- Shortcuts shown as
Cmdapply on Mac. On Windows/Linux, useCtrlin place ofCmdunless noted otherwise. Modmeans Command on Mac and Control on Windows/Linux.Metain key combinations refers to the Command key on Mac and the Windows key on Windows.
| Shortcut | View | Action |
|---|---|---|
D |
Global | Navigate to Day view |
W |
Global | Navigate to Week view |
R |
Global | Edit personal reminder note |
Z |
Global | Log out |
Cmd+K / Ctrl+K |
Global | Open command palette |
[ |
Global | Toggle sidebar |
J |
Day view | Previous day |
K |
Day view | Next day |
T |
Day view | Go to today |
U |
Day view | Focus task list |
C |
Day view | Create task |
E |
Day view | Edit focused task |
Delete / Backspace |
Day view | Delete focused task |
Enter |
Day view | Mark focused task complete |
Ctrl+Meta+ArrowRight |
Day view | Move focused task to next day |
Ctrl+Meta+ArrowLeft |
Day view | Move focused task to previous day |
Cmd+Z / Ctrl+Z |
Day view | Undo last action |
J |
Week view | Previous week |
K |
Week view | Next week |
T |
Week view | Go to today |
C |
Week view | Create timed event |
A |
Week view | Create all-day event |
Shift+W |
Week view | Create Someday Week event |
Shift+M |
Week view | Create Someday Month event |
Pressing D or W from anywhere in the app (while not focused in an input) navigates to Day view or Week view respectively.
- Navigate to
/week. - Press
D. - Press
W.
Dnavigates to/day.Wnavigates to/week.- Each transition happens without a full page reload.
In Day view, J goes back one day, K goes forward one day, and T returns to today (or scrolls to the current time if already on today).
- Navigate to
/day. - Press
Kthree times. - Press
Jtwice. - Note the current date shown, then press
T.
- Each
Kadvances the view by one day. - Each
Jmoves the view back one day. Treturns the view to today's date regardless of current position.- If already on today,
Tscrolls the grid to the current time.
In Week view, J goes to the previous week, K goes to the next week, and T returns to the current week.
- Navigate to
/week. - Press
Ktwice to advance two weeks. - Press
Jonce to go back one week. - Press
T.
- Each
Kadvances the view by one week. - Each
Jmoves the view back one week. Treturns the view to the current week.
Pressing Cmd+K opens the command palette from any view, including while a text input is focused. The palette lists common actions. Pressing Escape closes it.
- Navigate to
/week. - Press Cmd+K (or Ctrl+K on Windows).
- Observe the palette contents.
- Use the search/filter to type "event".
- Select "Create Event" from the palette.
- Press Cmd+K again and then Escape.
- The command palette opens immediately.
- Items include: Create Event, Create All-Day Event, Create Week Event, Create Month Event, Go to Today, Connect Google Calendar (if not connected), Log Out.
- Typing filters the list.
- Selecting "Create Event" opens the event creation form.
- Pressing Escape closes the palette without taking action.
- Cmd+K works even when a text input elsewhere has focus.
Pressing C in Week view opens a new event creation form, equivalent to clicking an empty grid slot.
- Navigate to
/week. - Ensure no input is focused.
- Press
C.
- The event creation form opens.
- The form is equivalent to what would appear after clicking an empty grid slot.
Pressing A in Week view opens a new event form pre-configured as an all-day event.
- Navigate to
/week. - Ensure no input is focused.
- Press
A.
- The event creation form opens with the all-day toggle already enabled.
- No start/end time fields are shown.
Shift+W creates a Someday Week event and Shift+M creates a Someday Month event, both from Week view.
- Navigate to
/week. - Open the sidebar with
[if it is not open. - Press
Shift+W. - Enter a title and submit.
- Press
Shift+M. - Enter a title and submit.
Shift+Wopens an event form for a Someday Week event; the saved event appears in the sidebar Week section.Shift+Mopens an event form for a Someday Month event; the saved event appears in the sidebar Month section.
Pressing C in Day view opens an inline task input — distinct from C in Week view, which opens an event form.
- Navigate to
/day. - Ensure no input is focused.
- Press
C. - Type a title and press Enter.
- An inline task input appears in the task panel (not an event form).
- The saved task appears in the task list.
Pressing [ toggles the sidebar open or closed from any view.
- Navigate to
/week. - Press
[to close the sidebar (if open). - Press
[again to reopen it. - Navigate to
/dayand repeat.
[toggles the sidebar in both Week view and Day view.- The calendar grid expands to fill the space when the sidebar is closed.
Pressing Enter while a task checkbox is focused marks the task as complete — equivalent to clicking the checkbox.
- Navigate to
/dayand create a task. - Tab to or click the task checkbox to focus it.
- Press Enter.
- The task is marked as completed.
- The task moves below any remaining incomplete tasks and appears faded.
- This is functionally identical to clicking the checkbox with the mouse.
Pressing Delete or Backspace while a task checkbox is focused removes the task — equivalent to a mouse-driven delete action.
- Navigate to
/dayand create a task. - Focus the task checkbox.
- Press Delete (or Backspace).
- The task is removed from the list.
- An undo toast appears.
- This is functionally identical to a mouse-driven delete.
After deleting an event or task, pressing Cmd+Z (Mac) or Ctrl+Z (Windows/Linux) restores it — equivalent to clicking the undo toast.
- In Day view, delete a task.
- Immediately press Cmd+Z (Mac) or Ctrl+Z (Windows/Linux).
- The deleted task is restored with its original properties.
- The undo toast dismisses.
All view-navigation and action shortcuts are suppressed when the user is focused inside a text input, textarea, or other form control. This prevents accidental navigation or destructive actions while the user is typing.
- Navigate to
/day. - Click the Create Task button to open the inline task input.
- With the input focused, press
D,W,N,J,K. - Press
Delete. - Press Cmd+K.
D,W,N,J,K, andDeletedo not trigger any navigation or action while the task input is focused. The characters type normally into the input.- Cmd+K (or Ctrl+K) still opens the command palette even from inside the input.
- After pressing Escape to cancel the input, the same shortcuts resume normal behavior.
If time is limited, run these checks before shipping shortcut-related changes:
D,W,Nnavigate to the correct views from any starting view.JandKnavigate days in Day view and weeks in Week view.Treturns to today from any offset in both Day and Week view.- Cmd+K opens the command palette; Escape closes it without action.
Cin Week view opens an event form;Cin Day view opens a task input.Ain Week view opens an all-day event form.Shift+WandShift+Mcreate Someday events in the correct sidebar sections.[toggles the sidebar in both Week and Day view.- Enter on a focused task checkbox marks the task complete.
- Delete/Backspace on a focused task checkbox removes the task.
- Cmd+Z / Ctrl+Z restores the last deleted task or event.
- No shortcuts fire inside a focused text input except Cmd+K.