Table of Contents
- Оновлення, дані та поширені запитання
- Зник значок в області сповіщень
- LAN-підключення та збереження — v0.6.63
- Збережена пара без з’єднання — v0.6.58
- Оновлення спарованих ПК і Save — v0.6.57
- Профілі чатів і нові вкладки — v0.6.50
- Сніпети у Far Manager — v0.6.45
- Найновіший запис при відкритті історії — v0.6.44 (2026-11-05)
- Як оновити програму?
- Де зберігаються дані?
- Чому хоткей не замінює Win+V у Task Manager?
- Що перевірити, якщо автовиправлення не спрацювало?
- Чи працює в Teams?
- Чи потрібен інтернет для словників?
- Чи можна одночасно запускати Typlo?
- Ліцензія
- Чому пошук не знаходить текст із картинки?
- Прогрес оновлення та завершення
- Діагностика
- Що робити, якщо команда копіювання не спрацювала?
- Циклічна конвертація (v0.6.21)
- Відновлення часткового виділення (v0.6.22)
- Виділення у Chrome та Edge (v0.6.23)
- Відновлення після перевстановлення Windows (v0.6.26)
- Діагностика виділення — v0.6.28
- Невдала вставка та повторна конвертація — v0.6.30
- Редактор відкидає кінцеві пробіли — v0.6.31
- Виправлення тесту панорамування при високому DPI — v0.6.32
- Незбережені налаштування — v0.6.33
- Пам’ять і очищення під час простою — v0.6.35
- Реєстрація сповіщень і пам’ять — v0.6.36
- Нестабільні збої вставлення у Viber — v0.6.36
- Історія зображень та OCR — v0.6.37
- Заміри пам’яті OCR — v0.6.37
- Процес історії та пам’ять буфера — v0.6.40
- Чекбокс закріплених і розташування пошуку — v0.6.42
- Mouse Without Borders і перевірені сніпети — v0.6.43
- Профілі Viber вимкнені — v0.6.50
- Telegram Web і сніпети програм — v0.6.51
- Telegram Web K у Chrome — v0.6.51
- Як зрозуміти, чи налаштування збережені — v0.6.54
- Довгі сніпети в ChatGPT або Codex — v0.6.55
- KSwitcher LAN — v0.6.57
- Чому Add mouse event повідомляє, що кнопка вже є у списку?
Оновлення, дані та поширені запитання
English | Українська
Зник значок в області сповіщень
Якщо після входу в Windows працюють гарячі клавіші або дії миші, а значка немає, зачекайте, поки запуститься Провідник Windows. Починаючи з v0.6.66, KSwitcher повторює реєстрацію значка приблизно щосекунди, якщо Windows його не приймає. Після перезапуску Провідника KSwitcher також реєструє значок повторно. Якщо значка досі не видно, перевірте приховані значки в області сповіщень. Двічі клацніть значок, щоб відкрити налаштування, коли він з’явиться.
LAN-підключення та збереження — v0.6.63
LAN автоматично пробує пряме TCP, зворотне TCP і зашифрований UDP. Connection help надає команди брандмауера з копіюванням після невдалих спроб. Парування показує перебіг; LAN-зміни зберігаються одразу й не потребують основної кнопки Save. Оновіть обидва ПК через Update у треї.
Збережена пара без з’єднання — v0.6.58
Виправлено залежність TCP-з’єднань від тимчасової видимості ПК у пошуку. Статуси відрізняють збережену пару від готового каналу вводу; журнал показує причини помилок слухача. Див. LAN. Інший ID тієї самої машини потребує нового парування. Залишайте власну data кожного ПК.
Оновлення спарованих ПК і Save — v0.6.57
Оновіть усі LAN-клієнти до v0.6.57: протокол вводу v2 не з’єднується зі старими версіями для однієї пари. Залишайте кожному ПК власну data/: DPAPI-історію та ID парування не можна переносити від іншого Windows-користувача. Копіюйте лише файли програми або використовуйте оновлювач. Якщо data видалена, поверніть налаштування через підтримувані синхронізацію/імпорт і спаруйте ПК знову; чужа зашифрована історія не розшифрується. Save об’єднує незалежні зміни й пропонує вибір для конфліктного поля, не закриваючи правки. Див. Налаштування і LAN.
Профілі чатів і нові вкладки — v0.6.50
Дивіться нове розміщення у Settings. Якщо чату немає в Languages for a chat..., відкрийте його у Telegram/Teams і знову відкрийте діалог; непідтримувані заголовки не вгадуються. Однакові назви мають спільний профіль, перейменованому чату потрібен новий, профілі Viber неактивні з v0.6.50. З v0.6.53 профілі синхронізуються через OpenBao; спочатку оновіть усі залучені ПК. Суперечливі зміни одного чату потребують вибору в діалозі Sync. Use languages змінює чернетку; завершіть через Save. Повні обмеження.
⬇ Завантажити останній реліз (Windows x64, ZIP)
Сніпети у Far Manager — v0.6.45
У Far :r → rider . тепер замінює весь тригер і залишає курсор після вставленого тексту. KSwitcher використовує команди Far: Alt+Shift+стрілка для виділення, Ctrl+Insert для копіювання та Shift+Insert для вставлення, з точним порівнянням копій буфера до й після заміни. При скасуванні відновлюється все тимчасове виділення, а не виконується один крок курсора. Працює з видимими й прихованими панелями. Дії {cursor} і {enter} виконуються лише після перевіреного вставлення; зміна фокусу, введення чи буфера скасовує наступні дії. Для інших програм збережено перевірку accessibility.
Заміна у Far має бути непорожньою, однорядковою та не довшою за 4096 кроків курсора. Порожні й багаторядкові заміни відхиляються до виділення: вставлення нового рядка могло б виконати команду до перевірки. Для запуску однорядкової команди використовуйте явний {enter}. Приклад: :r → rider .{enter}. Типові тригери й хоткеї не змінені.
Див. також Utilities і папку tools.
Найновіший запис при відкритті історії — v0.6.44 (2026-11-05)
Відкриття історії буфера тепер вибирає найновіший запис, що відповідає фільтрам, і прокручує список до нього замість відновлення старого вибору. Після запису нового скриншота відкрийте історію знову, щоб вибрати його. Пошук і ★ Pinned only зберігаються: очистіть пошук і вимкніть фільтр, якщо новий скриншот прихований. Фонові оновлення буфера/OCR зберігають вибраний запис під час перегляду. Повторне натискання хоткея історії, коли її вікно вже активне, зберігає наявну поведінку швидкого вставлення. Нових хоткеїв і налаштувань немає; знімки розташування елементів залишаються актуальними.
Як оновити програму?
Використовуйте перевірку оновлень у меню трея KSwitcher. Для v0.3.x–v0.4.1 шлях складається з двох оновлень: спочатку сумісна v0.4.2, потім повторна перевірка й перехід на поточний реліз. Із v0.5.0 програма використовує маніфест файлів із SHA-256 і підтримує додаткові EXE в пакеті. Дані користувача та власні словники зберігаються.
Перед заміною файлів закрийте редактори скріншотів. У пакеті є KSwitcher.exe, KSwitcher.Config.exe і KSwitcher.Screenshot.exe; залишайте їх разом.
Ручне оновлення, якщо потрібне:
- Завантажте ZIP із Releases.
- Закрийте KSwitcher через Exit у меню трея.
- Зробіть резервну копію папки
dataта власних змін уdictionaries. - Замініть файли програми, зберігши свої дані, і запустіть
KSwitcher.exe.
Де зберігаються дані?
Програма намагається використовувати папку даних поруч з EXE; якщо вона недоступна для запису — каталог у LocalAppData. Пункт Open data folder відкриває фактичне місце зберігання.
Історія буфера шифрується Windows DPAPI для поточного користувача. Налаштування та snippets зберігаються як текст. Копіювання зашифрованої історії до іншого облікового запису не є підтримуваним способом перенесення. Для налаштувань є Import settings… / Export settings….
Чому хоткей не замінює Win+V у Task Manager?
Якщо цільове вікно працює з правами адміністратора, звичайному процесу KSwitcher може бракувати прав для перехоплення клавіш та введення. Для такого сценарію увімкніть Start with Windows і Start with Windows as administrator. Підтвердіть запит UAC; програма створює завдання входу для поточного користувача через Task Scheduler. Збереження цієї опції не підвищує права вже запущеного звичайного процесу: перезапустіть його з правами адміністратора або увійдіть у Windows знову.
Що перевірити, якщо автовиправлення не спрацювало?
- Функцію увімкнено та налаштування збережено.
- Мова обрана у Correction options..., а її розкладка включена в цикл.
- Слово набране фізично, завершене пробілом; чекати паузи більше не потрібно.
- Програма не у винятках, слово відповідає мінімальній довжині та словниковому порогу.
- Слово не входить до Never correct these words і не було відхилене через Undo в цій сесії.
Функція навмисно пропускає неоднозначні випадки та відомі слова початкової мови. Для них використовуйте ручне виправлення.
Чи працює в Teams?
У програмі є обробка полів Teams / WebView2 для виділеного та щойно набраного тексту. Якщо редактор не дає безпечно визначити діапазон, виділіть текст вручну та повторіть команду. Поведінка залежить від конкретного поля введення й прав процесів.
Чи потрібен інтернет для словників?
Ні. Автовиправлення працює з локальними файлами. Завантаження нових версій виконується через Releases.
Чи можна одночасно запускати Typlo?
Уникайте одночасної роботи з однаковими комбінаціями: обидві програми можуть конкурувати за клавіатурні події. Закрийте Typlo або розведіть хоткеї.
Ліцензія
Код KSwitcher — MIT. Дані словників — CC BY-SA 4.0. Точні джерела та повідомлення про ліцензії містяться в дистрибутиві й репозиторії.
Чому пошук не знаходить текст із картинки?
Дочекайтеся фонового OCR. Для української ввімкніть опціональний Tesseract з установленою моделлю ukr. Check installation / Ready лише перевіряє наявність: увімкніть галочку, натисніть OK і Save. Зміна мов оновить старі результати. Див. Налаштування OCR та перевірка пошуку.
Прогрес оновлення та завершення
Поточні версії 0.6.x оновлюються одразу до найновішого релізу — встановлювати кожен проміжний реліз не потрібно. Версії 0.2.3 та старіші слід оновити вручну.
Оновлювач показує відсоток і обсяг завантаження, перевірку пакета, встановлення й перезапуск. Після підтвердження запуску нової версії у вікні з’являються її номер і Done. Окремого сповіщення про завершення немає. Помилка та відновлення попередніх файлів відображаються в тому самому вікні. Цей інтерфейс постачається встановленою версією оновлювача, тому для старої версії він з’явиться після переходу на нову.
Діагностика
Відкрийте Settings → Tools → View log… або журнал із меню трея. Кожна нова проблемна операція має рядок із колонками Time, Program, Command, Source layout, Target layout, Result. Натискайте заголовок для сортування; фільтруйте за Program, Command, Result або ввімкніть Only problems. Reset filters повертає повний збережений список. Вибір рядка показує початковий, очікуваний і прочитаний текст, стан перевірки, тривалість та попередні етапи в окремій панелі.
Коли ввімкнено Write log, після ручної конвертації програма читає активне поле через Windows Accessibility, не рухаючи курсор, не змінюючи виділення й не копіюючи повторно. Результати розрізняють Conversion unchanged — розрахунок не змінив текст; Original text remained — у полі залишився початковий текст; Readback differs — прочитане відрізняється; Paste not verified — вставку не підтверджено. Незмінений результат ручної команди вважається проблемою навіть за однакових визначених розкладок. Недоступне чи захищене поле, зміна фокуса або перевищення ліміту позначаються явно: саме надсилання Ctrl+V не доводить успіх. Читання обмежено 4096 символами; затримки редактора й особливості обліку символів можуть завадити перевірці.
Успішні операції не створюють окремих записів у файлі. Їхні етапи зберігаються в пам’яті: до 128 подій за 30 секунд, і потрапляють у файл лише як контекст проблеми. Вимкнення Write log очищає цей контекст і вимикає додаткове читання результату. Звичайні помилки застосунку також можуть записуватися. Усе працює у звичайній Release-збірці.
Оберіть Current log або Previous log і натисніть Refresh. Copy selected / Ctrl+C копіює рядки з подробицями; Ctrl+A вибирає всі. Скопійований журнал не додається до історії буфера. Clear log очищає лише вибраний файл. Старі неструктуровані записи залишаються доступними в подробицях, але нові поля фільтрації для них не відновлюються. Після перевищення 256 KiB поточний файл ротується, зберігається один попередній. Текстові поля підсумку обмежено 4096 одиницями UTF-16 із позначкою обрізання; старі поля етапів — 512 одиницями. Перед поширенням перевіряйте записаний текст на особисті дані.
Від v0.6.16 перевірка оновлень не пропонує повторно встановити поточну чи старішу версію. Актуальний застосунок продовжує працювати без завантаження пакета.
Що робити, якщо команда копіювання не спрацювала?
Інший процес може ненадовго утримувати буфер Windows відкритим, і деякі редактори тоді мовчки ігнорують Ctrl+C. Від v0.6.19 KSwitcher виконує не більше трьох спроб копіювання, поки його буфер і контекст введення не змінилися. Етап повтору може потрапити до обмеженого діагностичного контексту; успішні операції й надалі не створюють окремих рядків у файлі. Якщо копіювання не вдалося, текст неможливо перевірити й заміна скасовується. Надсилання Ctrl+V не доводить, що редактор прийняв вставлення; попередня діагностика фактичного тексту та її обмеження залишаються чинними.
Циклічна конвертація (v0.6.21)
Від v0.6.21 команда Next layout пропускає ввімкнені розкладки, для яких конвертація не змінює текст, і шукає змінений результат у заданому порядку циклу. Російське рф пропускає українську й стає англійським ha; українське шььш пропускає російську й стає англійським immi, якщо англійська йде наступною в налаштованому циклі. Кожен варіант обчислюється з початкового тексту. Враховуються лише ввімкнені розкладки з підтримкою конвертації.
Якщо жодна з них не змінює текст (наприклад, 123 або спільні літери, коли ввімкнено лише російську й українську), текст залишається незмінним, а операція переходить на одну розкладку вперед. Мова введення Windows перемикається лише за ввімкненої опції Switch Windows input layout after conversion. Прямі комбінації розкладок і далі використовують обрану мову. Типові комбінації клавіш та автовиправлення не змінюються.
Відновлення часткового виділення (v0.6.22)
Від v0.6.22 конвертація щойно набраного тексту, повторна конвертація та Undo можуть відновлювати часткове виділення. Якщо копіювання повернуло перевірений суфікс очікуваного тексту, KSwitcher розширює виділення натисканнями Shift+Left із паузами й копіює повторно. Заміна виконується лише після перевірки всього очікуваного фрагмента. Спроба відновлення одна; порожній або сторонній фрагмент не розширюється, а зміна контексту введення й далі скасовує операцію.
Для щойно набраного тексту фізичні клавіші зіставляються через розкладки з підтримкою конвертації, з урахуванням кирилиці й великих літер. Приклади: Switcher замість PuntoSwitcher , зштп замість повного розкладкового відповідника snipping та лувШт для LinkedIn . Діагностика тепер містить очікуваний попередній результат і етапи відновлення суфікса. Комбінації клавіш, налаштування циклу та перевірка результату вставлення не змінюються.
Регресійні тести перевіряють зіставлення суфіксів; інтеграційні тести в окремому редакторі — відновлення PuntoSwitcher і буфера обміну. Перевірку безпосередньо в LinkedIn та ChatGPT ще не завершено. Редактори можуть по-різному обробляти імітоване введення; якщо повна перевірка не вдалася, конвертація скасовується. Для повідомлення про повторний збій додайте скопійовані деталі діагностики.
Виділення у Chrome та Edge (v0.6.23)
Chrome та Edge тепер використовують виділення з паузами, як Teams/WebView: окремі натискання Shift+Left розділено паузами 25 мс. Це зменшує серії подій, які асинхронний редактор може не встигнути обробити. Конвертація щойно набраного тексту, повторна конвертація та Undo й далі перевіряють увесь скопійований фрагмент перед заміною; відновлення часткового виділення залишається доступним.
Повідомлений браузерний збій після цієї зміни ще не перевірено наживо. Якщо previous-result-verification-mismatch повторюється, припиніть повторювати хоткей, явно виділіть потрібне слово й спробуйте ручну конвертацію. До нового повідомлення додайте деталі діагностики. Original text remained та Paste not verified — окремі результати зчитування; ця зміна не гарантує вставлення та не прибирає наявні перевірки.
Відновлення після перевстановлення Windows (v0.6.26)
Якщо ввімкнено синхронізацію OpenBao, на новій інсталяції вкажіть той самий сервер, акаунт і профіль та натисніть Download remote. Пароль залишається у Windows Credential Manager; локальна спільна копія й резервна копія перед завантаженням захищені DPAPI та не переносяться на інший акаунт/ПК. З v0.6.65 копія містить налаштування миші, профілі застосунків, шляхи до програм і автозапуск. Вміст історії буфера залишається на ПК. За потреби встановіть додаткові програми й виправте шляхи. Для давнішого стану відновіть версію KV у OpenBao й завантажте її. Перед синхронізацією оновіть до v0.6.65 або новішої версії всі клієнти спільного серверного профілю.
Діагностика виділення — v0.6.28
З увімкненим журналюванням невдала перевірка показує Expected selection, очікуваний фрагмент та Read back. Контекст містить скопійований текст до/після довиділення, натискання Shift+Left або кількість доставлених пакетних подій, зміни версії буфера, повтори копіювання та час. Переривання позначають події клавіатури, миші, зміну налаштувань чи оновлення розкладок. Фокус, геометрія курсора й розкладка записуються, коли Windows їх надає; межі виділення доступні для native EDIT, інакше зазначено unavailable. Зберігається до 128 подій за 30 секунд. Цей реліз покращує діагностику, але не виправляє сам механізм асинхронного виділення у вебредакторах. При повторенні збою скопіюйте повні деталі операції з Logs та вкажіть, чи виділяли текст вручну і де був курсор.
Невдала вставка та повторна конвертація — v0.6.30
Якщо читання після ручної конвертації підтверджує, що очікувана заміна не відбулася (Original text remained або Readback differs), KSwitcher очищає стан повторної конвертації та не перемикає розкладку Windows. Наступна команда більше не шукає вигаданий попередній результат. Невідповідність під час перевірки попереднього результату також очищає застарілий стан.
У звичайному доступному для редагування полі Windows EDIT дозволено один повтор пропущеної вставки. Потрібне ввімкнене Write log (воно активує перевірку ручної вставки), прочитаний текст має дорівнювати оригіналу, а свіжі native-перевірки — підтверджувати точне незмінне виділення оригіналу, фокус та контекст введення. Захищені поля, поля лише для читання, інші типи елементів, змінене виділення й невідомий результат не повторюються. Підтверджений збій після повтору також очищає стан без зміни розкладки; транзакція відновлює буфер, якщо його власник не змінився.
Приклад: конвертація =nhtdjuf у =тревога в полі власних замін не повинна запам’ятовувати =тревога, якщо в полі лишилося =nhtdjuf. Ізольований тест native-редактора перевіряє пропущену першу вставку, постійно заблоковану вставку та сторонній результат. Першопричину кожного випадку пропущеної вставки не встановлено; це не обіцянка виправлення всіх асинхронних виділень у ChatGPT чи браузерах. Залиште Write log увімкненим і надішліть повні деталі операції при повторенні.
Редактор відкидає кінцеві пробіли — v0.6.31
Viber може показувати виділення Ghbdsn , але копіювати до буфера лише Ghbdsn. Починаючи з v0.6.31, KSwitcher відновлює один або кілька кінцевих звичайних пробілів, лише якщо Windows accessibility підтверджує: фактичне виділення точно дорівнює тексту буфера з цими пробілами. Перевірка нещодавно набраного тексту та попереднього результату й надалі вимагає повного збігу. Це також працює для автокорекції, повторної конвертації та Undo.
Перед заміною повторно перевіряються те саме поле у фокусі та повне виділення. Результат такої заміни читається навіть із вимкненим Write log. Невідомий результат або розбіжність не зберігаються як попередній результат і не перемикають розкладку. Відсутні літери, табуляція, перенесення рядків, порожній буфер і недоступні або неоднозначні виділення не відновлюються. Якщо потрібний діапазон неможливо підтвердити, конвертація нещодавно набраного тексту залишається скасованою. Нових налаштувань чи комбінацій клавіш немає.
Відтворена для v0.6.31 причина у Viber — обрізання тексту при копіюванні, а не доказ того, що пробіл не потрапив до редактора. Якщо логування ввімкнене, успішне відновлення додає подію Copy: trailing spaces verified via accessibility. Загальні обмеження браузерних редакторів і буфера залишаються чинними.
Виправлення тесту панорамування при високому DPI — v0.6.32
Падіння screenshot UI-тесту, зазначене для v0.6.31, було помилкою підготовки тесту, а не свідченням несправності панорамування. При масштабуванні Windows 250% (240 DPI) тестове зображення навіть після фіксованого збільшення вміщувалося в області перегляду. Редактор правильно залишав його по центру, а тест очікував зсув. Тепер тест розраховує масштаб за фактичними розмірами області та перевіряє, що зображення перевищує її по обох осях із запасом для перетягування.
Поведінка панорамування не змінилася: перетягування середньою кнопкою миші переміщує збільшене зображення лише по тих осях, де воно перевищує область перегляду. Зображення, яке вміщується, залишається по центру. Для панорамування збільште масштаб; Ctrl+0 повертає вписане зображення. Нових налаштувань, комбінацій клавіш або користувацьких функцій немає. Відновлення пробілів у Viber із v0.6.31 та його обмеження accessibility залишаються чинними.
Незбережені налаштування — v0.6.33
Закриття Settings хрестиком, через Alt+F4 або Cancel перевіряє незбережені зміни, включно зі змінами, прийнятими через OK у параметрах автокорекції чи OCR.
Запит Unsaved settings пропонує Yes (зберегти, застосувати й закрити), No (відкинути й закрити) та Cancel (продовжити редагування; типовий вибір). Без змін або після відновлення початкових значень запиту немає. Некоректні зміни можна відкинути. Якщо збереження не вдалося, вікно залишається відкритим із чернеткою.
OK у вікні параметрів і далі оновлює чернетку Settings. Для застосування натисніть Save у Settings або Yes у запиті при закритті. Автозбереження, хоткеї та типові значення не змінюються. Snippets і Sync зберігають окремі процедури збереження.
Від v0.6.33 літери доступу видно праворуч у меню трея й історії; натискайте літеру без Alt. Поведінка клавіш доступу в діалогах не змінюється: використовуйте Alt+літеру; видимість підкреслень залежить від налаштувань Windows. Alt у відкритому меню закриває його. Системні налаштування Windows не змінюються.
Пам’ять і очищення під час простою — v0.6.35
Private working set — приватна пам’ять, що зараз перебуває в ОЗУ; private bytes — виділена приватна пам’ять процесу. Загальний working set також містить сторінки спільних бібліотек. Порівнюйте однакові показники, словники, навантаження й час після запуску. Зображення, OCR та операції буфера можуть збільшувати споживання; звільнення об’єктів не завжди одразу повертає всі сторінки купи Windows.
У контрольному локальному тесті з трьома словниками після перезапуску виміряно приблизно 4,65 МіБ private working set і 5,70 МіБ private bytes. Це спостереження на одному ПК, а не фіксовані ліміти. Порівняння виконано з іншою збіркою розробки, не опублікованою v0.6.34.
Таймер простою тепер прибирає діагностичний контекст старший за 30 секунд, не чекаючи нової події журналу. Текст Undo звільняється після наявного двохвилинного строку доступності, коли немає активної операції. Тимчасові дані синхронізації звільняються після успіху, помилки чи відхилення застарілої відповіді; невирішені конфлікти залишаються. Наявні файли журналу й збережена історія буфера цим очищенням не видаляються.
Реєстрація сповіщень і пам’ять — v0.6.36
Реєстрація сповіщень тепер виконується в наявному допоміжному KSwitcher.Screenshot.exe. Під час старту він запускається асинхронно, а основний процес перевіряє код завершення без блокування роботи з клавіатурою. Сповіщення про оновлення теж реєструються через helper з обмеженим очікуванням у фоновому потоці. Під час встановлення або переміщення тримайте всі три EXE разом. Натискання сповіщень скриншотів і перегляд оновлення зберігають попередню поведінку; UI Automation залишається в основному процесі. Налаштування та комбінації клавіш не змінені.
Локальне порівняння свіжих запусків показало 4,69 → 4,18 МіБ private working set, приблизно 0,51 МіБ економії (по п’ять вимірів, однакове встановлення й налаштування). Це окреме спостереження, а не фіксований обсяг чи гарантія пам’яті під час тривалого простою. Оптимізації словників, кешів і простою з v0.6.35 збережені.
Нестабільні збої вставлення у Viber — v0.6.36
KSwitcher тепер очікує 75 мс після запису даних у буфер перед Ctrl+V у Viber, потім повторно перевіряє фокус, стан введення та власника буфера. Це пом’якшення ймовірної гонки сповіщень буфера. На попередній збірці відтворено нестабільне пошкодження кирилиці; той самий текст також успішно перетворювався при повторі. На зміненій тестовій збірці пройшли вісім реальних перетворень у Viber: виділений текст, повторні хоткеї без виділення, довгі рядки та збереження сусіднього тексту й кінцевих пробілів.
Це не доказ усунення всіх часових збоїв Viber. Перевірка виділення, захист парольних полів та UI Automation не змінені; сліпого повторення вставлення немає. Якщо збій повториться, зазначте, чи був текст виділений або це був повторний хоткей, і додайте діагностику, прибравши особистий текст. Відновлення обрізаних пробілів із v0.6.31 є окремим механізмом і надалі потребує підтвердження accessibility.
Історія зображень та OCR — v0.6.37
Захоплення зображень із буфера та автоматичний/ручний OCR історії без готового кешованого результату тепер виконуються в короткочасних процесах KSwitcher.Screenshot.exe. Тримайте всі три EXE разом. Допоміжний процес зберігає вихідні формати буфера, виключення приватності та налаштовані ліміти зображень. Запити й відповіді OCR зашифровані; основний процес зберігає текст лише для наявного запису та відповідного профілю фонового OCR. Завершення програми або зміна профілю скасовують фонову роботу. Windows OCR, необов’язковий Tesseract, автоматичне розпізнавання, кеш результатів і пошук тексту залишаються доступними.
Послідовні дублікати визначаються за SHA-256-відбитками всередині зашифрованого індексу: повного запису, байтів зображення та декодованих пікселів. Новий текст не завантажує попереднє зображення. Старі записи отримують відбитки під час першого порівняння, без масової міграції. Закріплення та результати OCR зберігаються; копії, між якими був інший запис, залишаються окремими записами історії. Хоткеї, налаштування й типові значення не змінені.
Заміри пам’яті OCR — v0.6.37
Пік OCR ізольовано, а не усунуто. Три контрольні запуски з однаковими зображенням і налаштуваннями залишали приблизно на 0,8 МіБ менше приватної ОЗУ в процесі, що викликає OCR. Сумарний пік основного й допоміжного процесів становив близько 55,6 МіБ до та 56,6 МіБ після зміни. Окремий живий тест скриншота завершився на 4,41 МіБ в основному процесі після OCR; це не фіксоване споживання. Порівнюйте всі допоміжні процеси разом, однакові зображення, рушій OCR та метрику пам’яті.
OCR не потребує двохвилинного очікування: допоміжний процес завершується після роботи. Довше спостереження за простоєм потрібне лише для пошуку відкладеного росту. Синхронізація буфера може приносити додаткові події з іншого комп’ютера; для контрольного тесту вимкніть її. Наявні приклади скриншотів/редактора залишаються актуальними, оскільки цей реліз не змінює елементи керування чи хоткеї.
Процес історії та пам’ять буфера — v0.6.40
Історія відкривається в окремому короткочасному екземплярі KSwitcher.exe. Esc закриває її навіть із фокусом на самому вікні чи кнопці дії; разом із процесом звільняються системні виділення пам’яті інтерфейсу. Основний процес зберігає перехоплення клавіатури, запис буфера й керування сховищем історії. Пошук і фільтр закріплених зберігаються в зашифрованому стані перегляду. Починаючи з v0.6.44, кожне нове відкриття вибирає та показує найновіший запис, що відповідає фільтрам; фонові оновлення зберігають вибраний запис під час перегляду. Якщо відкритий перегляд повного тексту, допоміжний процес працює до закриття останнього такого вікна. Закріплення, видалення, форматоване/просте вставлення та OCR залишаються доступними; налаштування й типові хоткеї не змінені.
Мініатюри декодуються в KSwitcher.Screenshot.exe, який повертає лише обмежені пікселі прев’ю. Резервне копіювання й відновлення зображення буфера також використовують цей процес і зашифровані тимчасові файли з перевіркою версії буфера перед відновленням. Читання виділення не завантажує формати зображень. Тримайте всі три EXE разом; четвертий файл не потрібний. Після закриття історії вставлення коротко очікує передачі фокусу, зберігаючи перевірки скасування. UI Automation залишається в основному процесі.
Живий тест розробницької збірки показав 4,37 МіБ до історії та 4,35 МіБ після двох циклів відкриття/Esc, порівняно з попереднім плато приблизно 8–9 МіБ. Тест резервування того самого зображення залишав 12,78 МіБ до та 0,05 МіБ після зміни. Це private working set, а не гарантоване повне споживання. Під час активної роботи враховуйте всі допоміжні процеси: сумарна пам’ять може бути більшою, поки історія відкрита. Примусове обрізання робочого набору не використовується. Наявні скриншоти й хоткеї залишаються актуальними. Підхід v0.6.38 зі збереженням прихованого вікна історії/RichEdit замінено завершенням процесу.
Чекбокс закріплених і розташування пошуку — v0.6.42
Замість випадаючого списку тепер є чекбокс ★ Pinned only: увімкніть його для закріплених записів, вимкніть — для всіх. Фільтр перемикається одним кліком. Чекбокс стоїть зліва, поле пошуку — одразу поруч із невеликим проміжком; його правий край збігається зі списком історії також при зміні розміру вікна. Пошук, негайне зникнення запису після Unpin і запам’ятовування фільтра працюють як раніше. Збережений стан фільтра не скидається. Порожній список означає, що жоден закріплений запис не відповідає пошуку. Clear history… після підтвердження й далі видаляє всі записи, включно з прихованими пошуком чи чекбоксом. Хоткеї й типові значення не змінені.
Mouse Without Borders і перевірені сніпети — v0.6.43
Оновіть KSwitcher на обох ПК, особливо на комп’ютері, що передає введення з фізичної клавіатури. KSwitcher спочатку пропускає події через наступні перехоплювачі клавіатури та ігнорує поглинуті події на відправнику. Доставлене віддалене введення й далі підтримує гарячі клавіші, відстеження набору, автокорекцію та сніпети. Старий екземпляр на відправнику може запускати дубльовані операції та публікувати службові маркери буфера. Його закриття — тимчасовий обхідний шлях до оновлення.
Поза Far Manager (див. виняток v0.6.45 у Сніпетах) сніпети потребують перевірки виділеного тригера й вставленої заміни через засоби доступності Windows навіть із вимкненим Write log. Недоступна початкова перевірка зупиняє розгортання до вставлення. Невідповідний текст або недоступне зчитування зупиняють наступні дії курсора та {enter}. Неправильно вставлений текст може залишитися для перевірки; він не надсилається автоматично й не замінюється повторно навмання. Введення з черги відтворюється. Синтаксис, типові налаштування та гарячі клавіші незмінні.
Ідентична повторна публікація буфера дозволена лише після спостереження виділеного вмісту, що належить цільовій програмі, зі збігом тексту й метаданих виділення. Зайві байти після Unicode-тексту та порядок форматів не впливають на порівняння. Інший вміст, відсутні метадані й непідтверджені сторонні копії відхиляються. Власний звичайний текст заміни також допускає ідентичну повторну публікацію. Зміни буфера під час вставлення зупиняють наступні дії. До виділення створення знімка може повторюватися до трьох спроб, якщо буфер змінюється, а контекст введення незмінний. Відновлення не перезаписує новіший сторонній вміст.
Натисніть попередження, щоб відкрити Logs. Увімкніть Write log, відтворіть збій один раз і скопіюйте всю операцію. Відхилені копії тепер містять локальний службовий маркер, початковий і поточний текст, власника й номери змін буфера. Перегляньте записаний текст перед поширенням.
Регресійні тести перевіряють справжній ланцюжок пересилання, звичайні сніпети та пригнічення Enter після неправильного вставлення. Перевірка двох реальних комп’ютерів з оновленими екземплярами ще очікується. Наявні знімки екрана актуальні: розташування елементів не змінилося.
Профілі Viber вимкнені — v0.6.50
OCR заголовка Viber, доданий у v0.6.49, вимкнено через затримки від повторного розпізнавання. OCR Viber не запускається у фоні, під час перемикання/конвертації та відкриття профілів. Наявні профілі збережені й показані як Viber (inactive), але не обмежують мови. У Viber діють звичайне системне перемикання та загальний набір Next layout. Профілі Telegram і Teams не змінено. OCR буфера/зображень і налаштування Tesseract залишаються доступними. Скидати налаштування не потрібно. Для завантаження збережених профілів Viber усе ще потрібна v0.6.49 або новіша; перед поверненням на стару версію збережіть резервну копію.
Telegram Web і сніпети програм — v0.6.51
Telegram Web K у Chrome — v0.6.51
Відкрийте потрібний чат на https://web.telegram.org/k/ у Google Chrome, а потім виберіть Telegram Web: назва у Languages for a chat.... Вебпрофілі окремі від Telegram Desktop. Зіставлення використовує видиму назву: однойменні чати різних акаунтів або профілів Chrome мають спільний вебпрофіль. Після перейменування чату оновіть профіль.
Адреса Telegram і заголовок чату читаються через доступність Chrome. Зміни активного вікна, фокуса, адреси та заголовка оновлюють кеш; OCR, таймерів опитування й розширень немає. Історія повідомлень не сканується. Коли фокус в адресному рядку, на головній Telegram або без розпізнаного чату, вебпрофіль не застосовується. Web A та інші браузери не перевірені як підтримувані.
Для налаштувань із профілями Telegram Web потрібна v0.6.51 або новіша. Перед поверненням на стару версію збережіть резервну копію.
Дивіться сніпети для окремих програм: обмеження, загальний резервний сніпет і сумісність синхронізації.
Як зрозуміти, чи налаштування збережені — v0.6.54
No unsaved changes і неактивна Save означають, що змін немає. Unsaved changes — click Save to apply означає, що треба натиснути Save у Settings, зокрема після Use languages або OK у дочірніх параметрах. Повна поведінка збереження. Згладжування олівця 0–100% описано в посібнику редактора.
Довгі сніпети в ChatGPT або Codex — v0.6.55
Оновіться до v0.6.55: додано виділення з паузами та доповнення перевіреної частини тригера. Зберігайте фокус у редакторі під час розгортання. Підтримуються різні розкладки й кілька дозволених програм. Див. усунення збоїв сніпетів.
KSwitcher LAN — v0.6.57
LAN: кілька ПК на сітці, переходи миші та клавіатури, нові текст і зображення буфера для всіх доступних пар. Оновіть усі ПК; пошук типово вимкнений.
Чому Add mouse event повідомляє, що кнопка вже є у списку?
KSwitcher розпізнав стандартну кнопку Windows, наприклад XButton2, і виділив її наявний рядок. Щоб змінити дію, відкрийте рядок подвійним кліком. Якщо кнопки немає в обох лічильниках, перевірте її призначення в утиліті миші. Для Logitech MX Anywhere можна закрити Logi Options+ і вимкнути та ввімкнути мишу, щоб перевірити стандартні сигнали. Дивіться налаштування миші.