41
Usage
Anatolii Hrynchuk edited this page 2026-11-06 22:09:10 +02:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Keyboard shortcuts, clipboard and snippets

English | Українська

Settings and chat profiles — v0.6.50

Use Settings tabs to find each option. General holds conversion and startup; Languages holds the cycle and chat profiles; Shortcuts holds global keys; Clipboard holds history limits/exclusions; Tools holds Snippets, OCR, Sync and logs. Select the relevant tab before using its access letter (for example Alt+Y for Sync on Tools). Existing shortcut defaults are unchanged.

⬇ Download latest release (Windows x64, ZIP)

Far Manager snippets — v0.6.45

In Far, :r → rider . now replaces the complete trigger and leaves the cursor after the inserted text. KSwitcher uses Far's Alt+Shift+Arrow selection, Ctrl+Insert copy and Shift+Insert paste, with exact clipboard verification before and after replacement. It restores the complete temporary selection on cancellation instead of moving the caret one character. This works with panels visible or hidden. {cursor} and {enter} actions run only after verified insertion; changed focus, input or clipboard cancels further actions. Other applications retain accessibility verification.

Far replacements must be nonempty, single-line and at most 4096 caret steps. Empty or multiline replacements are rejected before selection: a pasted newline could execute a command before verification. Use an explicit {enter} after a single-line command. Example: :r → rider .{enter}. No trigger or shortcut defaults changed.

See also Utilities and the tools folder.

Default shortcuts

Action Shortcut
Next layout Ctrl+Alt+Shift+Space
Change case Ctrl+Alt+Shift+C
Transliterate Ctrl+Alt+Shift+T
Undo Ctrl+Alt+Shift+Z
Clipboard history Win+V (new settings from v0.6.1)
Screen capture Win+Shift+S
First three layouts Ctrl+Alt+Shift+1 / 2 / 3

To change a shortcut, click its field in Settings, press the desired keys and save. Backspace / Delete without modifiers clears the field. For a layout-specific shortcut, select the layout first, then change Direct layout shortcut. Previously saved shortcuts are preserved when updating.

You can assign Win+V, Win+Shift+S and other ordinary Windows shortcuts. While KSwitcher is running, the exact assigned combination performs its action. Change the shortcut or exit KSwitcher to restore the system behavior. Protected combinations such as Ctrl+Alt+Delete and Win+L cannot be assigned.

Clipboard history

See the detailed guide with screenshots. Image capture and annotation are covered in Screenshots.

Enable Record clipboard history. Open history from the tray or with its shortcut. The list shows text previews and image thumbnails and supports search and pinning. Repeated images from Snipping Tool are deduplicated.

In the history window Action
Enter Paste the selected item
Shift+Enter Paste as plain text
Ctrl+1 … Ctrl+9 Quickly paste an item
Ctrl+P Pin / unpin
Delete Delete an item
Ctrl+O Open text or edit an image in the screenshot editor
Escape Close the window

History supports text, images and file lists. HTML/RTF data preserves formatting, although previews may not reproduce every document style exactly. Copy text from image in an image's context menu uses the configured OCR engine (Windows OCR or optional Tesseract).

In Settings, you can limit the number of items, total storage and individual item size, clear history and exclude applications by process name. The tray menu also lets you pause recording temporarily.

Snippets

Open Snippets… and specify a trigger and replacement text. A snippet can contain multiple lines. {cursor} sets the cursor position after expansion; {{cursor}} inserts the literal text {cursor}.

For example, the trigger ;hello could expand to:

Hello, {cursor}!

Use snippets for greetings, signatures and repeated replies. Triggers are recognized across keyboard layouts.

Example: ;run → rider .{enter} (insert text and press Enter).

Full snippets guide and examples.

The {enter} marker presses Enter after snippet insertion and cursor placement, before queued typing resumes; {{enter}} escapes it. See the snippet guide for action semantics and editor states. For conversion failures, use the diagnostic viewer.

From v0.6.19, a silently dropped copy can be retried up to three times in total, only while the clipboard and input context remain unchanged. If verification still fails, replacement is cancelled. See copy troubleshooting and snippet failure behavior.

Conversion cycle (v0.6.21)

From v0.6.21, Next layout skips enabled layouts whose conversion leaves the text unchanged, following the configured cycle until a changed result is found. Russian рф skips Ukrainian and becomes English ha; Ukrainian шььш skips Russian and becomes English immi when English follows in the configured cycle. Each candidate is calculated from the original text. Only enabled convertible layouts are considered.

If none changes the text (for example, 123 or shared letters with only Russian and Ukrainian enabled), the text stays unchanged and the operation advances one layout. The Windows input layout switches only when Switch Windows input layout after conversion is enabled. Direct layout shortcuts still target the chosen language. Default shortcuts and automatic correction are unchanged.

Partial-selection recovery (v0.6.22)

From v0.6.22, recent-text conversion, repeat conversion and undo can recover a partial selection. If copying returns a verified suffix of the expected text, KSwitcher extends the selection with paced Shift+Left presses and copies again. It replaces text only after the complete expected range is verified. Recovery is attempted once; an empty or unrelated range is not extended, and a changed input context still cancels the operation.

Recent-text verification maps physical keys through convertible layouts, including Cyrillic and mixed case. Examples include Switcher from PuntoSwitcher , зштп from the layout equivalent of snipping , and лувШт from LinkedIn . Diagnostics now include the expected previous result and suffix-recovery stages. Shortcut assignments, layout-cycle settings and paste readback checks are unchanged.

Native regression tests cover suffix verification, and isolated-editor integration tests cover recovery of PuntoSwitcher and clipboard restoration. Direct validation in LinkedIn and ChatGPT is still outstanding. Editors may process simulated input differently; if full verification fails, conversion is cancelled. Include the copied diagnostic details when reporting another failure.

Chrome and Edge selection (v0.6.23)

Chrome and Edge now use paced selection, as already used for Teams/WebView: individual Shift+Left presses have 25 ms pauses. This reduces bursts of events that asynchronous editors may not process in time. Recent-text conversion, repeat conversion and Undo still verify the full copied range before replacement; partial-selection recovery remains available.

The reported browser-editor failure has not yet been verified live after this change. If previous-result-verification-mismatch persists, stop repeating the shortcut, explicitly select the intended word and try manual conversion. Include diagnostic details in a new report. Original text remained and Paste not verified are separate readback outcomes; this change does not guarantee paste delivery or remove the existing verification checks.

Screenshot editor shortcuts (v0.6.24)

Triangle: G; trapezoid: B; arc (open half ellipse): U. Ctrl++ / Ctrl+- / Ctrl+wheel zoom; Ctrl+0 resets the view; middle-button drag pans. Shape rotation handles support Shift for 15-degree steps. After automatic pencil improvement, Ctrl+Z restores the original stroke. Full editor guide.

Synchronize settings (v0.6.26)

Settings → Tools → Sync… is visible to everyone; enable it only after configuring your own OpenBao. Save / Sign in / Sync performs ordinary bidirectional synchronization. Download remote / Upload local replace an entire profile; use them for deliberate replacement/recovery; ordinary Sync merges on the first connection. Resolve individual conflicts… chooses individual values. Automatic checks run at startup, every 10 minutes and shortly after Save. Complete guide.

Menu and form access keys (v0.6.27)

With a menu open, press its underlined letter. The tray menu uses H for clipboard history, C for capture, S for Settings, N for Snippets, K for shortcuts, W for keep awake, P for pause, O for the data folder, L for logs, U for update, A for About and X for Exit. In the pause submenu: R resumes, 1 pauses for 10 minutes, H for one hour and U until restart.

In forms, press Alt+the underlined letter to activate a button, toggle a checkbox or focus a labeled field. Settings uses Alt+S for Save, Alt+C for Cancel, Alt+K for Keep screen awake and Alt+Y for Sync. The same mechanism is available in Snippets, Logs, OCR, dictionaries, synchronization and conflict dialogs. Letters are unique within each form and follow the English captions.

From v0.6.33, tray/history menus show access letters in the right-hand column. Dialog underline visibility still follows Windows preferences; press Alt in a dialog to reveal them. In an open menu, press the letter without Alt: Alt dismisses the menu. These are local access keys while the window/menu is active; they do not replace configurable global shortcuts. Use an input layout that produces the displayed English letter. A focused shortcut-capture field still records Alt combinations: press Tab to leave it before using access keys. Historical screenshots may omit menu access-letter hints; use the current instructions above.

Selection diagnostics — v0.6.28

With logging enabled, failed selection verification shows Expected selection, the verification target and Read back. The incident includes copied text before/after suffix recovery, Shift+Left progress or batch delivery counts, clipboard sequence changes, copy retries and elapsed times. Input interruptions identify keyboard, mouse, settings or layout-refresh events. Focus, caret geometry and layout are included when Windows exposes them; native EDIT selection offsets are reported, otherwise explicitly unavailable. The bounded context holds up to 128 events for 30 seconds. This release improves diagnosis, not the underlying asynchronous-editor selection behavior. If a mismatch recurs, copy the complete operation details from Logs; include whether you selected text manually and where the caret was.

Partial synchronization can keep this PC’s layouts and direct shortcuts while syncing other settings. Sync.

Clear all clipboard history — v0.6.29

Use Clear history… at the bottom of the Clipboard history window, beside Edit image / Open item. Alt+H activates it. Confirm with Yes to delete all saved entries, including pinned items and entries hidden by the current search. No is selected by default; cancelling leaves the history unchanged. This is not the Delete action, which removes only the selected entry. The button remains accessible when resizing or scrolling the window. The existing Settings → Clipboard → Clear history action is still available. Clearing history does not clear the current Windows clipboard or disable future clipboard recording.

Failed paste and repeat conversion — v0.6.30

When manual-conversion readback confirms that the expected replacement was not inserted (Original text remained or Readback differs), KSwitcher clears repeat-conversion state and does not switch the Windows layout. A subsequent command no longer keeps searching for a fictional previous result. A mismatch while verifying a previous result also clears that stale state.

For a writable native Windows EDIT field, KSwitcher may retry an ignored paste once. This requires Write log (which enables manual readback), readback equal to the original text, and fresh native checks showing exactly that original range still selected with the same focus and input context. Protected/read-only fields, other control types, changed selections and unknown readback are not retried. A confirmed failure after the retry still clears repeat state without switching layout; the transaction restores its clipboard snapshot when ownership is unchanged.

Example: converting =nhtdjuf to =тревога in a custom replacement field must not record =тревога as the previous result if the field still contains =nhtdjuf. The isolated native-editor test covers an ignored first paste and permanently blocked/changed paste results. The original cause of every ignored paste is not established, and this does not claim to fix all asynchronous selection behavior in ChatGPT or browser editors. Keep Write log enabled and share the complete operation details if it recurs.

Trailing spaces omitted by an editor — v0.6.31

Viber can expose Ghbdsn as the selected text but put only Ghbdsn on the clipboard. From v0.6.31, KSwitcher can recover one or more trailing ordinary spaces when Windows accessibility confirms that the actual selection is exactly the clipboard text followed by those spaces. Recent-text and previous-result verification still require the complete expected text. This also applies to automatic correction, repeat conversion and Undo.

The same focused control and selection are checked again before replacement. Recovered replacements are read back even with Write log disabled. Unknown or mismatching readback does not record a previous result or switch the input layout. Missing letters, tabs, line breaks, empty clipboard text and inaccessible/ambiguous selections are not reconstructed. If verification cannot establish the intended range, recent-text conversion remains cancelled. No new setting or shortcut is required.

The Viber issue reproduced for v0.6.31 is clipboard trimming, not proof that the space failed to reach the editor. Enabling logs includes a Copy: trailing spaces verified via accessibility event when recovery succeeds. General browser-editor and clipboard limitations still apply.

Unsaved settings — v0.6.33

Closing Settings with the close button, Alt+F4 or Cancel checks for unsaved changes, including changes accepted with OK in Auto-correction or OCR options.

The Unsaved settings prompt offers Yes (save, apply and close), No (discard and close), and Cancel (keep editing; the default). Unchanged or reverted settings close without a prompt. Invalid edits can be discarded. If saving fails, the window stays open with the draft intact.

OK in an options dialog still updates the Settings draft. Click Save in Settings, or Yes in the close prompt, to apply it. Automatic saving, shortcuts and defaults are unchanged. Snippets and Sync retain their separate save flows.

Undo and idle memory — v0.6.35

Undo retains its existing two-minute eligibility window and input-context checks. Once that window expires, idle maintenance releases the original/result text when no operation is busy. It does not shorten the window or interrupt a running operation. Diagnostic context older than 30 seconds is also released during idle time; see memory and diagnostics.

Intermittent Viber paste failures — v0.6.36

KSwitcher now waits 75 ms after publishing clipboard data before sending Ctrl+V to Viber, then rechecks focus, input generation and clipboard ownership. This mitigates a suspected clipboard-notification timing race. An intermittent Cyrillic paste corruption was reproduced on the prior build; the same text also passed on retry. Eight actual Viber conversions passed on the changed development build, including selected text, repeated shortcuts without selection, long text and preservation of surrounding text and trailing spaces.

This is not proof that every Viber timing issue is resolved. Selection verification, password protection and UI Automation are unchanged; no blind paste retry was added. If a failure recurs, record whether text was selected or this was a repeated shortcut, and include diagnostic details with personal text removed. The v0.6.31 recovery of omitted trailing spaces remains separate and still requires accessibility proof.

Image history and OCR — v0.6.37

Image clipboard capture and automatic/uncached manual history OCR now run in short-lived KSwitcher.Screenshot.exe processes. Keep all three executables together. The helper preserves original clipboard formats, privacy exclusions and configured image limits. OCR requests/results are encrypted; the main process saves recognized text only for an existing entry and the applicable background OCR profile. Shutdown/profile changes cancel background work. Windows OCR and optional Tesseract, automatic recognition, cached results and text search remain available.

Consecutive duplicates use SHA-256 fingerprints inside the encrypted index: full payloads, image bytes and decoded pixels. New text does not load the preceding image. Old entries acquire fingerprints on first comparison, without a bulk migration. Duplicate detection preserves pins and OCR results; copies separated by another entry still remain separate history entries. No shortcut, setting or default changed.

History process and clipboard memory — v0.6.40

History opens in a separate, short-lived instance of KSwitcher.exe. Esc closes it even when focus is on the window or an action button, releasing Windows UI allocations with the process. The resident keeps keyboard hooks, clipboard capture and history storage. Search and the pinned-only filter are preserved in encrypted view state. From v0.6.44, each fresh opening selects and reveals the newest matching entry; background refreshes preserve the selected record while browsing. If a full-text item viewer is still open, the helper stays alive until the last viewer closes. Pin/delete, formatted/plain paste and OCR remain available; settings and default shortcuts are unchanged.

Image thumbnails are decoded in KSwitcher.Screenshot.exe, returning only bounded preview pixels. Image clipboard backup/restore also uses that helper and encrypted temporary files, with clipboard-sequence checks before restoring. Selection reads avoid loading image formats. Keep all three executables together; no fourth executable is required. Paste allows a brief foreground handoff after history closes while preserving cancellation checks. UI Automation remains in the resident.

A live development-build test measured 4.37 MiB before history and 4.35 MiB after two open/Esc cycles, compared with an earlier roughly 8–9 MiB plateau. A same-image clipboard-backup benchmark retained 12.78 MiB before versus 0.05 MiB after. These measure private working set, not a guaranteed total footprint. Include all helpers when measuring active use: combined memory can be higher while history is open. No forced working-set trimming is used. Existing screenshots and shortcuts remain applicable. The v0.6.38 approach of retaining a hidden history window/RichEdit control is superseded by process termination.

Pinned checkbox and search layout — v0.6.42

The former filter dropdown is now a ★ Pinned only checkbox: check it for pinned entries, uncheck it for all entries. One click toggles the filter. The checkbox sits on the left with a small gap before the search box; the search box stretches to the same right edge as the history list when resizing. Text search, immediate removal after Unpin and remembered filter state still work. Existing saved filter state is preserved. An empty list means no pinned entries match the search. Clear history… still deletes all entries after confirmation, including those hidden by search or the checkbox. No shortcut or default changed.

Mouse Without Borders and verified snippets — v0.6.43

Update KSwitcher on both PCs, especially the computer sharing its physical keyboard. KSwitcher now lets downstream keyboard hooks route events before processing them and ignores consumed events on the source computer. Delivered remote input still supports shortcuts, recent typing, automatic correction and snippets. An older source-side instance can still start duplicate operations and publish temporary clipboard markers. Closing that instance is a temporary workaround until it is updated.

Outside Far Manager (see the v0.6.45 exception in Snippets), snippets require accessibility verification of the selected trigger and pasted replacement even with Write log disabled. Unavailable initial verification stops expansion before paste. Incorrect or unavailable readback stops subsequent cursor and {enter} actions. Incorrect inserted text can remain for inspection; it is not automatically submitted or blindly replaced again. Buffered typing resumes. Syntax, default settings and shortcuts are unchanged.

Identical clipboard relays are accepted only after target-owned selection contents have been observed, with matching text and editor selection metadata. Unicode allocation padding and format order do not affect comparison. Different contents, missing metadata and unobserved foreign copies remain rejected. Own plain-text replacement payloads also tolerate identical relays. Clipboard changes during paste stop subsequent actions. Before selection, snapshot capture may retry up to three times if the clipboard changes and input context remains unchanged. Restoration does not overwrite unrelated newer clipboard contents.

Click a warning notification to open Logs. Enable Write log for incident details, reproduce once and copy the complete operation. Rejected copies now include the local sentinel, target/current text, owner and sequence numbers. Review captured text before sharing.

Regression tests exercise a real downstream forwarding hook, normal snippet expansion and suppression of Enter after an incorrect paste. Live validation on two computers with both installations updated remains outstanding. Existing screenshots still apply; no control layout changed.

Viber profiles disabled — v0.6.50

Viber header OCR introduced in v0.6.49 is disabled because repeated recognition caused delays. No Viber OCR runs in the background, during switching/conversion or when opening profiles. Existing profiles remain stored and appear as Viber (inactive); they do not restrict languages. Viber uses ordinary Windows layout switching and the global Next layout cycle. Telegram and Teams profiles are unchanged. Clipboard/image OCR and Tesseract options remain available. No settings reset is needed. Saved Viber profiles still require v0.6.49 or newer to load; keep a backup before downgrading.

Telegram Web and application snippets — v0.6.51

Telegram Web K in Chrome — v0.6.51

Open the desired chat at https://web.telegram.org/k/ in Google Chrome, then select Telegram Web: name in Languages for a chat.... Web profiles are separate from Telegram Desktop profiles. Matching uses the visible chat name; identically named chats across accounts or Chrome profiles share a web profile. Rename the profile after a chat rename.

Chrome accessibility supplies the trusted address and chat header. Foreground/focus changes and address/header events refresh the cached identity; there is no OCR, polling timer or extension. Message history is not scanned. With the address bar focused, on Telegram home or without a recognizable chat, no web profile applies. Web A and other browsers are not validated as supported.

Settings containing Telegram Web profiles require v0.6.51 or newer. Keep a backup before downgrading.

See application-specific snippets for application restrictions, global fallback and synchronization compatibility.

Chat languages in synchronization — v0.6.53

Chat language profiles are included in settings synchronization. Update all PCs to v0.6.53 or newer, save the profile, then use Settings → Tools → Sync... → Save / Sign in / Sync. Merging, conflicts and missing layouts.

Are my settings saved? — v0.6.54

No unsaved changes and disabled Save mean no edits are pending. Unsaved changes — click Save to apply means press Save in Settings, including after Use languages or OK in child preferences. Full save behavior. See the editor guide for 0–100% pencil smoothing.

KSwitcher LAN — v0.6.58

LAN: multiple PCs on a grid, mouse/keyboard edge routing, and new text/image clipboard copies shared with online pairs. Update all PCs; discovery is off by default.