Global keyboard shortcuts Ctrl+Shift+L/S/K/H — keyboard-first workflow for Output Console
A power user doesn't want to click. A power user wants Ctrl+Shift+something and see an effect. Since v2.13.75 JustZix added 4 global shortcuts for Output Console — all live in a capture-phase listener on document, so they work even when focus is in an app textarea, when the page has a vim mode, or when you're stuck on a modal popup. The only condition: at least one Output Console pane lives on the page.
Four shortcuts — what they do
| Shortcut | Action | Affects | Since |
|---|---|---|---|
| Ctrl+Shift+L | Clear log | All Output Consoles on the page | v2.13.75 |
| Ctrl+Shift+S | Toggle search box | All OC | v2.13.78 |
| Ctrl+Shift+K | Cycle viewMode [C+J] → [C] → [J] → [C+J] | All OC | v2.13.78 |
| Ctrl+Shift+H | Show / hide API help popup | Singleton overlay | v2.13.78 |
All shortcuts broadcast to every rendered Output Console — if you have 3 OC panes in a tab (e.g. one filtered by "fetch", another by "GTM", a third raw), Ctrl+Shift+L clears all three.
Why Ctrl+Shift, not just Ctrl?
Previously (v2.13.69-74) Output Console had Ctrl+L as clear. Problem: Ctrl+L in some browsers focuses the address bar if focus is outside a textarea. No clean conflict resolution — the content script listener doesn't always block the native browser shortcut.
Ctrl+Shift+L has no collision with native shortcuts. Bonus: same pattern as the others (Ctrl+Shift+S/K/H) — easier to remember ("they all start with Ctrl+Shift").
Capture-phase listener — why this works everywhere
Picture a typical keydown flow on a page:
document (capture) ↓
body (capture) ↓
div.container (capture) ↓
textarea#commentBox (target) ← user types here
div.container (bubble) ↑
body (bubble) ↑
document (bubble) ↑
JustZix attaches a listener on document in capture phase — first in the chain, before any page handler. On a match (Ctrl+Shift+L/S/K/H), JustZix calls e.preventDefault() + e.stopPropagation() and the page never sees the event. Works even when focus is in a textarea — where Ctrl+L would normally "select all text".
Use case 1 — Keyboard-first QA workflow
You're cyclically testing 5 flows in an app. Each flow:
- Perform an action (click around in the app)
- Check Output Console — does the log look OK
- Clear the log before the next flow
Without shortcuts: step 3 = right-click on Output Console header → "Clear log". With a shortcut: Ctrl+Shift+L. 5× faster, hands stay on the keyboard, focus stays on the tested app.
Bonus: if a flow logs hundreds of lines, after using it you may want only your JZ.log: Ctrl+Shift+K twice → [J] mode → only your logs visible. Another Ctrl+Shift+K → [C] (only the page). A third → [C+J] (everything).
Use case 2 — API discovery via Ctrl+Shift+H
A new JustZix user. Knows there's JUSTZIX.log(), but doesn't remember what else. Instead of opening the docs:
Ctrl+Shift+H → an overlay with a popup:
- JZ API: list of action methods (JZ.click, JZ.value, JZ.setValue, JZ.action)
- Aliases: window.JUSTZIX (primary), window.__JUSTZIX__ (always), window.JZ (when free)
- Console capture: which events are captured (console.log/warn/error/info/debug + JZ.log)
- Shortcuts: Ctrl+Shift+L/S/K/H with descriptions
Esc / click outside / re-Ctrl+Shift+H close it. Since v2.13.80 the popup is draggable by the header — you can move it aside to see something underneath, clamped to viewport so it can't fly off-screen.
Use case 3 — Search without reaching for the mouse
Output Console shows 800 lines. You're searching for "purchase". Mode one: scroll and Ctrl+F (browser search) — works, but Ctrl+F also finds text in other page elements.
Mode two: Ctrl+Shift+S → search box slides out above the log, focus there, you type "purchase" → live filter shows only matching lines. Esc clears search. Another Ctrl+Shift+S closes the search box.
Bonus: search is per-tab persistent in sessionStorage. F5 → the search returns with the old filter.
Use case 4 — Multi-monitor power user
Monitor 1: the app under test. Monitor 2: the same tab in another window (Chrome "Move to other window" + drag). The first tab triggers a flow, the second tab shows Output Console full-screen. Ctrl+Shift+L with focus on monitor 2 → clears both tabs? No — the shortcut works per-tab, so only the tab where you left focus.
For cross-tab sync → use a JS rule + JUSTZIX.log on both, with a timestamp to filter.
Pitfalls
- Shortcuts require ≥1 Output Console rendered. Without an OC on the page the listener doesn't even attach. If the JustZix rule doesn't match the current domain → no OC → no shortcuts. That's intentional — listener attached only when needed.
- Some browsers override Ctrl+Shift+letter for their own shortcuts (e.g. Ctrl+Shift+T = restore closed tab). JustZix preventDefaults, but some browser shortcuts run in native code and beat our capture listener. If you spot a conflict — change the shortcut in the extension (planned; for now hardcoded).
- Help popup z-index 2147483646. One below max int32 (2147483647). Drag handles of other panes have z-index 2147483645, so the popup is always above. Some pages also use max int — JustZix still wins by one over page modals.
- viewMode cycle skips no states even when [J] would be empty. v2.13.78 always cycles [C+J] → [C] → [J] → [C+J], even if [J] would be empty. Intentional — shows that the mode is active even when there are no logs.
- Shortcuts do NOT pause when focus is in JS Console / JS pane. There the user is typing code — Ctrl+Shift+L might interfere. The listener does preventDefault, so the shortcut still works without deleting text. Best practice: if you're actively typing in a pane, use the mouse for Clear / Mode toggle.
What's next
Global shortcuts are a "power user layer" over Output Console — most users will be fine clicking buttons in the pane header. But if a QA toolbar is your daily tool, these 4 shortcuts will save you tens of minutes per week.
Check also related:
- Output Console deep-dive — full panel API
- window.JUSTZIX + JZ helpers — the programmatic API that shortcuts expose in the help popup
- Mini-IDE in a tab — full map of all windows
Install JustZix — completely free, no account, no server.
Rate this post
No ratings yet — be the first.