@devslab/kokey
v0.4.0
Published
Keyboard layout converter — restore text typed with the wrong layout (한글, русский, עברית, ελληνικά, ไทย, العربية, українська, ქართული ↔ QWERTY). TypeScript-first, zero-dependency, ESM/CJS dual.
Maintainers
Readme
kokey
Конвертер розкладок клавіатури — відновлює текст, набраний не в тій розкладці. TypeScript-first, без залежностей, ESM/CJS.
English · 한국어 · Русский · Українська · עברית · Ελληνικά · ไทย · العربية · ქართული
Набирали ghbdsn, коли хотіли написати привіт? Забули перемкнути
розкладку — і замість пароля чи артикула вийшла кирилична каша? kokey
перетворює «що набралося» на «що малося на увазі» — в обидва боки, точно за
розкладкою Windows «Українська (розширена)»: і/є/ї на своїх місцях,
апостроф на клавіші `, ₴ через Shift.
Встановлення
npm install @devslab/kokeyВикористання
import { ukToEn, enToUk } from '@devslab/kokey/uk'
ukToEn('привіт') // 'ghbdsn'
enToUk('ghbdsn') // 'привіт'
enToUk("']s") // 'єїі'Літера ґ доступна лише через AltGr, тому власної латинської клавіші не має —
у зворотному напрямку вона відновлюється як u: ukToEn('ґанок') === 'ufyjr'.
Автовизначення письма (змішаний текст теж працює):
import { register, toEn } from '@devslab/kokey'
import { uk } from '@devslab/kokey/uk'
register(uk)
toEn('привіт hello 123') // 'ghbdsn hello 123'Українська та російська розкладки розрізняються автоматично: привіт
розпізнається як українська (літера і), привет — як російська.
DOM: поле, що виправляє себе саме
<input data-kokey="uk"> <!-- латинські натискання стають українським текстом -->
<input data-kokey="en"> <!-- будь-яке зареєстроване письмо → QWERTY -->import { observe, register } from '@devslab/kokey'
import { uk } from '@devslab/kokey/uk'
register(uk)
observe()Vue / React
<KokeyInput v-model="value" mode="uk" /><KokeyInput mode="en" value={v} onChange={(e) => setV(e.target.value)} />Компонент виконує перетворення всередині потоку даних фреймворку, тому
v-model / controlled-інпути завжди отримують уже перетворене значення.
Повна документація
Повний опис API (усі розкладки, defineLayout, хуки, директиви) —
в англійському README.
Ліцензія
MIT © devslab
