Omniscio documentation
Browse all documentation
  1. Getting Started13
  2. Sessions & Agents115
  3. Inbox & Notifications59
  4. Projects & Tasks95
  5. Automation & Scheduling75
  6. Knowledge & Memory26
  7. AI Features60
  8. Integrations100
  9. Plugins & Marketplace33
  10. Cloud & Teams56
  11. Settings & Customization58
  12. Account & Billing28
  13. Troubleshooting84
  14. CLI & API Reference22
  15. Legal & Policies4
  16. Uncategorised22

Shortcut Efficiency (mouse-vs-keyboard stats with a rough time-savings estimate)

Shortcut Efficiency is a passive stats tab that shows, for the handful of common actions that have BOTH a clickable button AND a keyboard shortcut, how often you reached for the mouse versus the keyboard — and a rough estimate of how much time you could reclaim by using the shortcut instead. It lives in the Stats virtual project (the sidebar entry with the bar-chart icon, near Bookmarks / Automations).

What it is

Shortcut Efficiency is a passive stats tab that shows, for the handful of common actions that have BOTH a clickable button AND a keyboard shortcut, how often you reached for the mouse versus the keyboard — and a rough estimate of how much time you could reclaim by using the shortcut instead.

It lives in the Stats virtual project (the sidebar entry with the bar-chart icon, near Bookmarks / Automations). Open Stats, then pick Shortcut Efficiency from the left sub-sidebar — it sits in the tab list alongside Overview, Feature Usage, Trends, Usage, and Records. Like the rest of Stats, it's read-only: just a summary card and a grid of per-action cards built from usage data Omniscio already collects in the background.

The tracking layer also powers two light-touch nudges (described below): a brief whisper near the cursor the moment you click an eligible button, and an occasional Weekly Summary suggestion that shows you the current shortcut for something you keep clicking with the mouse.

What it shows

At the top, a summary card:

  • A headline count — e.g. "35 actions done by mouse that have a shortcut" — the total number of times you clicked a button for something you could have done with a key.
  • A big accent-colored time figure and a sentence: "Using the keyboard shortcuts could have reclaimed about ~6 min — a rough estimate, not a precise figure." The wording always calls it a rough estimate so the number never reads as a precise measurement.

Below that, a per-action card for each tracked action that you've actually used in the selected time range (actions you haven't touched are omitted — no empty rows). Each card shows:

  • The action's name (e.g. Archive session) and its keyboard shortcut in a little key-cap badge (e.g. Ctrl+T).
  • A small "~N min saved" / "~Ns saved" figure — the rough reclaimable time for that one action.
  • The raw counts: "30 mouse" and "10 keyboard".
  • A thin progress bar showing what percentage of the time you used the keyboard for that action (with an accessible label like "25% keyboard").

Cards are sorted by biggest savings opportunity first, so the action where switching to the keyboard would help you most is at the top.

A time-range selector in the sub-sidebar (Today / Yesterday / 7 Days / 30 Days / 90 Days / All Time) scopes every figure. If you have no shortcut activity yet, the tab shows a "No shortcut activity yet" empty state.

The tab only counts activity from Jun 9, 2026 onward — when Omniscio started excluding phone/tablet taps from these stats — and shows that start date as a small caption under the summary. Older counts couldn't tell a phone tap apart from a real mouse click (nothing recorded which device a use came from), so they're left out and even All Time starts at that date. Nothing is deleted — the old data still lives in your local database; it's just not counted here.

Where to find it

Open the Stats virtual project in the sidebar, then pick Shortcut Efficiency from its own left-hand tab list.

How it behaves

The tracked actions

Only actions that have a real button AND a real default keyboard shortcut are tracked. There are 25 keybinding actions plus 2 Question Widget pseudo-actions (which use local key handlers rather than the global keybindings system). The table below lists the original core set; seven more have since been tracked on exactly the same terms — Move session (M, the session overflow menu’s “Move to” submenu), Bookmark session (Shift+B, the Bookmarks popover), Back / Forward (the breadcrumb buttons, Ctrl+[ / Ctrl+]), Copy page link (the title-bar button, Ctrl+Shift+C), and the tool-permission banner’s Allow / Deny — each a real button with a real default binding.

Keybinding actions

Action Where the button is Default shortcut
Archive session Session ⋯ overflow menu → Archive Ctrl+W / E
Snooze session Session ⋯ overflow menu → Snooze H
File explorer Session ⋯ overflow menu → File Explorer Ctrl+E
Pause session Session ⋯ overflow menu → Pause P
Tag session Session ⋯ overflow menu → Tag T
New session Sidebar "+ New Session" Ctrl+T / N
Go to inbox Inbox button Ctrl+Q / I
Search "Search conversations" menu item Ctrl+K
Quick scratchpad Toolbar scratchpad icon Ctrl+Shift+S
Super Prompts Toolbar Super Prompts icon Ctrl+Shift+K
Plain Speak toggle Plain Speak chip below message V
Help & Docs Toolbar help icon Ctrl+Shift+/
Attach files Composer attach-file button Ctrl+U
Send AI suggestion 1 First AI suggestion chip Alt+1
Send AI suggestion 2 Second AI suggestion chip Alt+2
Send AI suggestion 3 Third AI suggestion chip Alt+3
Continue / Check in session Composer "Continue" / "Check in" banner button C
Keep waiting Composer "Keep waiting" banner button W

2 Question Widget pseudo-actions

The Question Widget has its own local keyboard handlers (A–F to pick options, Enter / Ctrl+Enter to submit) that are outside the global keybindings system. These are tracked under a separate synthetic registry and appear in the same Shortcut Efficiency report.

Action Mouse path Keyboard path
Question Widget — pick option Click an option pill Press A–F
Question Widget — submit Click the Send button Enter (on last question) / Ctrl+Enter

(Your bindings may differ if you've customized them in Settings → Keyboard Shortcuts; the badge on each card shows the action's first default binding. Question Widget pseudo-actions show a fixed key hint since they are not rebindable.)

Alternate keys count too. When two different shortcuts do the same thing, pressing either one counts toward that action. Today the one case is the inbox: it's tracked as Go to inbox (badge Ctrl+Q), but you can also open it with Ctrl+1 (the "jump to first project" key — the inbox sits first), and a Ctrl+1 press is counted as a keyboard use of Go to inbox. Only the counting is shared; the card's badge still shows the main shortcut.

How the time estimate works

The estimate is deliberately coarse. Each tracked action carries a fixed seconds-saved-per-use value — bigger for actions buried in a menu (the mouse has to open the menu first, ~3 seconds) and smaller for a single top-level or toolbar click (~1.5–2 seconds). The reclaimable time for an action is simply:

reclaimable seconds = (number of times you used the mouse) × (seconds saved per use)

Keyboard uses don't count toward "reclaimable" because you already saved that time by using the shortcut. The summary total is just the sum across every tracked action. It's a back-of-the-envelope figure meant to give you a sense of scale ("oh, that's an hour a month") — not a stopwatch-accurate measurement, which is why the UI always labels it a rough estimate.

Privacy

Shortcut Efficiency is privacy-safe. The only thing recorded for each use is which action it was (a fixed identifier from a closed list) and whether it was mouse or keyboard. No message contents, session IDs, project names, file paths, or any other detail is ever stored. Everything stays in your local Omniscio database — nothing about this tab is sent to Anthropic, our servers, or anywhere off your machine.

Keyboard-shortcut nudges

Instant Whisper

The moment you click a button that has a keyboard shortcut — whether it's a top-level button or one of the actions inside a session's ⋯ overflow menu — Omniscio briefly shows a small or press <key> hint near your cursor, then slides it away after about 1.5 seconds. The hint always stays readable: it uses the same dark, near-solid "glass" look as Omniscio's tooltips, so it stands out over whatever's behind it (toolbars, cards, the composer — surfaces that used to make it look see-through) in any theme, light or dark. It stays fully opaque while it moves, and if you click near a window edge it's nudged back on-screen so it never gets cut off or wraps onto two lines.

Once you've used a shortcut's keyboard version a few times (the threshold is 3), the hint stops showing for that action — Omniscio considers it learned and gets out of your way.

The session ⋯ overflow-menu actions (Archive, Snooze, Pause, File Explorer, Aside, Tag) get the whisper too: the menu still prints the key next to each item, and the floating hint is an extra active nudge right after you click. The composer Continue / Nudge (C) and Keep waiting (W) banner buttons behave the same way, and also show the key in a hover tooltip. The only thing still excluded is the Question Widget option pills — the A–F letter badges on each pill already serve that purpose.

The whisper is for keyboard-capable devices only — it never appears on a phone or tablet (any touch-only screen with no hover-capable pointer), where there's no physical keyboard to reach for. Taps on a phone or tablet also don't count toward the Shortcut Efficiency stats or the keyboard-shortcut nudge below: there's no shortcut to "miss" when there's no keyboard, so a tap there isn't recorded as a mouse-instead-of-keyboard choice. (A touch device WITH a real keyboard still counts your keyboard presses normally — only mouse/tap input on a touch-only device is skipped, and a laptop's trackpad still counts because it can hover.)

You can turn this off at any time: Settings → Session behavior → "Show keyboard-shortcut hints when I click" (the toggle is on by default).

Periodic Weekly Summary nudge

Every now and then the Weekly Summary (if you have it and AI Coaching enabled) may point out an action you keep doing with the mouse that has a keyboard shortcut — e.g. "You clicked Keep waiting 6 times over the last two weeks without using its shortcut — about 15 seconds of extra clicking." The card shows you that action's current shortcut right there, as a little key-cap, so you never have to go hunting for it. It reads the key live from your bindings, so if you've rebound it the card shows your key — and it's framed as "you already have a shortcut for this, press it instead of clicking," not as "go set one up" (the action always has a shortcut assigned — that's how it got noticed). A Change shortcut button opens Settings → Keyboard Shortcuts if you'd rather rebind it. The key is never hardcoded into the suggestion text — the card resolves and draws your live binding — so what you see is always current, even after a rebind.

This nudge covers at most one action per summary — whichever is costing you the most time, measured across every shortcut in Omniscio (not just the ones on this Efficiency tab) and weighted by how deep in a menu you had to reach — and only where you've clicked it at least 5 times without a single keyboard use. It won't fire if AI Coaching or Weekly Summary is turned off.

For agents

How it works (for agents)

Each use of a tracked action records one row in the feature_events table with feature='hotkey_efficiency', action='mouse' or 'keyboard', and metadata={ actionId }.

  • The tracked-action set, each action's human label, and its secondsSaved value live in one place: TRACKED_HOTKEY_ACTIONS in /src/shared/hotkey-efficiency-actions.ts. This is the single source of truth — changing what's tracked or its savings figure happens here.
  • The renderer records a use via trackHotkeyEfficiency(actionId, source) in /src/renderer/src/lib/hotkey-efficiency-tracker.ts. It first resolves action aliases (an alternate action id for the same operation) to the canonical tracked id via resolveTrackedHotkeyActionId, then no-ops for any action that is neither tracked nor a known alias, no-ops for a mouse use on a touch-only device — gated on isTouchOnlyDevice() (no hover-capable pointer ⇒ no keyboard to reach for), which is broader than the old getIsMobile() width<768 check, so phones AND tablets/landscape phones are excluded — and is fire-and-forget (a tracking failure never breaks the action you took). The only alias today is jumpToProject1 (Ctrl+1) → goToInbox; the alias is deliberately not itself a tracked action (no row/button of its own), and the resolved id is what crosses IPC in metadata.actionId (locked by an-alias-counts-as-the-action-it-performs).
  • Keyboard uses are recorded once at the top of executeAction in /src/renderer/src/hooks/keyboard-shortcuts/registry.ts — the keyboard-only entry point, so a single call covers every shortcut. The KEYBOARD_TAP_EXCLUDED actions (closePanel, continueSession, keepWaiting) are the exception: they are context-dependent, so they are tapped at their real fire-point instead — Archive in its session-archive branch; Continue/Nudge + Keep-waiting in useContinueHotkeyListener (which also avoids a double count, since the C/W keys fan out to a window event the visible panel handles). Mouse uses are recorded in each button's click handler (in App.tsx, SessionsSidebar.tsx, SessionOverflowMenu.tsx, and SessionComposerBanners.tsx). The underlying archiveSession store action deliberately does NOT emit, so a programmatic/auto archive can't inflate the count.
  • The report is computed by getHotkeyEfficiencyReport(timeRange, floorIso = MOBILE_AWARE_TRACKING_SINCE) in /src/main/db/queries-feature-events.ts: it groups events by (source, actionId), joins TRACKED_HOTKEY_ACTIONS for the label + savings, computes estReclaimSeconds = mouseCount × secondsSaved, drops actions with no events in range, and sorts by estReclaimSeconds descending. It floors the window start at floorIso (default MOBILE_AWARE_TRACKING_SINCE — the date the touch-only guard shipped), so pre-guard rows that can't be split mobile-vs-desktop are never counted, even for All Time; this is non-destructive (rows stay in feature_events). It's served over IPC channel stats:hotkey-efficiency and rendered by /src/renderer/src/features/statistics/HotkeyEfficiencyTab.tsx.

The full set of test-locked invariants (event shape, no-double-count, registry join, the savings formula, the locked 19-action set, the central classification guard, and the PII guarantee) and the safe-change checklist live in the feature contract: /.claude/memory/contracts/hotkey-efficiency-contract.md.

Related

  • stats.md — the parent Stats virtual project: Overview / Feature Usage / Trends / Usage / Records tabs and the time-range selector. Shortcut Efficiency is one of its tabs; the generic Feature Usage tab also lists hotkey_efficiency as a mouse-vs-keyboard total.
  • keyboard-shortcuts.md — the full list of Omniscio shortcuts and how to rebind them in Settings → Keyboard Shortcuts.
  • records.md — the Records / trophy-case sibling tab in the same Stats project.

Last verified 2026-10-06