kokey

한글 · русский · українська · עברית · ελληνικά · ไทย · العربية · ქართული ↔ QWERTY

Restore text typed with the wrong keyboard layout · TypeScript-first · zero-dependency

npm CI GitHub

Live demo — try it yourself

enToKo — QWERTY → 한글

Latin keystrokes compose into Hangul. Try dkssudgktpdy

koToEn — 한글 → QWERTY

Restored even with the Korean IME left on. Try ㅇㄴㅁ쇼2068601

data-kokey="ru" — QWERTY → русский

ЙЦУКЕН enforced as you type. Try ghbdtn → привет

data-kokey="en" — restore anything

Script auto-detected. Try привет안녕שלום

Converter — both directions at once

Paste anything below — toEn auto-detects all 8 layouts.

Install

# npm
npm install @devslab/kokey

# CDN — no build step
<script src="https://cdn.jsdelivr.net/npm/@devslab/kokey/dist/kokey.global.js"></script>

Usage

import { koToEn, enToKo, register, toEn, observe } from '@devslab/kokey'
import { ru } from '@devslab/kokey/ru'   // /uk /he /el /th /ar /ka

koToEn('안녕')   // 'dkssud'
enToKo('dkssud') // '안녕'

register(ru)
toEn('привет안녕') // 'ghbdtndkssud'

// Vue / React: v-model & controlled inputs
// <KokeyInput v-model="v" mode="ru" />

observe() // bind every <input data-kokey="ko|ru|en|…">