19
FAQ
Anatolii Hrynchuk edited this page 2026-11-02 11:54:58 +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.

Updates, data and frequently asked questions

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

⬇ Download latest release (Windows x64, ZIP)

How do I update?

Check for updates from KSwitcher's tray menu. For v0.3.x–v0.4.1, updating takes two steps: install the compatible v0.4.2 bridge first, then check again for the current release. From v0.5.0, the updater uses a file manifest with SHA-256 hashes and supports additional EXEs in the package. User data and custom dictionaries are preserved.

Close screenshot editors before replacing files. Keep KSwitcher.exe, KSwitcher.Config.exe and KSwitcher.Screenshot.exe together.

To update manually:

  1. Download the ZIP from Releases.
  2. Close KSwitcher using Exit in the tray menu.
  3. Back up the data folder and your changes in dictionaries.
  4. Replace the application files while preserving your data, then run KSwitcher.exe.

Where is data stored?

KSwitcher tries to use a data folder beside the EXE. If that location is not writable, it uses a folder in LocalAppData. Open data folder opens the location actually in use.

Clipboard history is encrypted with Windows DPAPI for the current user. Settings and snippets are stored as text. Copying encrypted history to another Windows account is not a supported migration method. Settings can be transferred with Import settings… / Export settings….

Why does the shortcut not replace Win+V in Task Manager?

If the target window runs as administrator, a normal KSwitcher process may lack permission to intercept keys and send input. For that scenario, enable Start with Windows and Start with Windows as administrator. Confirm the UAC prompt; KSwitcher creates a logon task for the current user in Task Scheduler. Saving this option does not elevate the already running process: restart it as administrator or sign in to Windows again.

What should I check if auto-correction does not work?

  • The feature is enabled and settings have been saved.
  • The language is selected in Auto-correction options… and its layout is enabled in the cycle.
  • The word was typed on the keyboard, followed by a space; a typing pause is no longer required.
  • The application is not excluded, and the word meets the minimum length and dictionary threshold.
  • The word is not in Never correct these words and has not been rejected with Undo during this session.

Dictionary correction skips ambiguous cases and known words. Explicit custom replacement pairs can override known words; otherwise use manual conversion.

Does it work in Teams?

KSwitcher includes handling for selected and recently typed text in Teams / WebView2 fields. If an editor does not allow the text range to be determined safely, select the text manually and retry. Behavior depends on the input field and process privileges.

Do dictionaries need an internet connection?

No. Auto-correction uses local files. New application versions are downloaded through Releases.

Can I run Typlo at the same time?

Avoid running both applications with the same shortcuts: they may compete for keyboard events. Close Typlo or assign different shortcuts.

License

KSwitcher's code is licensed under MIT. Dictionary data is licensed under CC BY-SA 4.0. The distribution and repository include the exact sources and license notices.

Wait for background OCR to finish. For Ukrainian, enable optional Tesseract with the installed ukr model. Check installation / Ready only checks availability: enable the checkbox, then click OK and Save. Changing languages refreshes older results. See OCR setup and troubleshooting.

Update progress and completion

Current 0.6.x versions update directly to the newest release: you do not need to install every intermediate version. Versions 0.2.3 and earlier require a manual update.

The updater shows download percentage and size, package verification, installation and restart. After the new process confirms startup, the window shows the installed version and Done. There is no separate completion notification. Errors and rollback are shown in the same window. This interface comes from the installed updater, so older versions gain it for subsequent updates after upgrading.

Diagnostics

Open Settings → View log… (also available from the tray). Each new problem operation has a row with Time, Program, Command, Source layout, Target layout and Result. Click a heading to sort; filter by Program, Command or Result, or use Only problems. Reset filters restores the full saved list. Select a row to see original, expected and read-back text, verification status, timing and preceding stages in the separate panel.

With Write log enabled, manual conversion reads the focused editor through Windows Accessibility after paste. It does not move the caret, change the selection or copy again. Outcomes distinguish Conversion unchanged, Original text remained, Readback differs, and Paste not verified. A manual operation that calculates the original text is a problem even if the detected source and target layouts match. An inaccessible/protected control, changed focus, or readback limit is reported explicitly; sending Ctrl+V alone does not prove success. Readback is limited to 4096 characters; delayed editor updates and provider-specific character units can prevent verification.

Successful operations do not create separate file entries. Their stages stay in memory, bounded to 128 events and 30 seconds, and are saved only as context when a problem occurs. Disabling Write log clears that context and skips the additional readback check. Normal application errors may also be logged. This works in the normal Release build.

Select Current log or Previous log and click Refresh. Copy selected / Ctrl+C copies rows with their details; Ctrl+A selects all. Copied diagnostics are excluded from clipboard history. Clear log clears only the selected file. Older unstructured records remain readable in Details, but do not gain the new filter fields retroactively. The current file rotates after exceeding 256 KiB, retaining one previous file. Summary text fields are bounded to 4096 UTF-16 units and show truncation; older stage fields retain 512 units. Review captured text before sharing diagnostics.

From v0.6.16, update checks do not offer to reinstall the same or an older version. An up-to-date installation stays running without downloading another package.

What if a copy operation is silently dropped?

Another process can briefly hold the Windows clipboard open, and some editors silently ignore Ctrl+C in that situation. From v0.6.19, KSwitcher makes at most three copy attempts while its clipboard and input context remain unchanged. A retry stage can appear in the bounded diagnostic context; successful operations still do not create separate file rows. If copying still fails, the text cannot be verified and replacement is cancelled. Do not treat a sent Ctrl+V as confirmation that an editor accepted the paste; the existing readback diagnostics and limitations still apply.

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.

Recover settings after reinstalling Windows (v0.6.26)

With OpenBao synchronization enabled, configure the same server/account/profile on the new installation and choose Download remote. Passwords stay in Windows Credential Manager; the local sync baseline and pre-download backup use DPAPI and cannot be moved to another Windows account/machine. Clipboard history, local paths and startup settings are not uploaded. For older snapshots, restore a KV version in OpenBao and download it. Update every participating PC to support sync format 2.

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.

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.