A JavaScript library to convert text from one keyboard layout to other.
Useful to prevent errors on english-only fields, like a credit card owner field.
var ru = require('convert-layout/ru');
bankcardName.keyup(function () {
bankcardName.value = ru.toEn(bankcardName.value);
});
There are two ways to load a keyboard layout definition. If you plan on using a single layout, just load the file directly:
var ru = require('convert-layout/ru');
Also you can get a object with all layouts (but app size will be bigger):
var layouts = require('convert-layout');
layout = layouts[name];
Every layout has fromEn
and toEn
methods:
ru.toEn('руддщ') //=> "hello"
ru.fromEn('ghbdtn') //=> "привет"
Currently supported keyboard layouts:
- Arabic
- Belarusian
- English (QWERTY, Dvorak, Colemak)
- German
- Greek
- Kazakh
- Korean
- Russian
- Spanish
- Ukrainian
- Hebrew
- Persian
- Czech
If you want to add a new keyboard layout definition:
- Fork a project. Create a branch.
- Add a
CODE.json
file with layout buttons map. See example inru.json
. Lower case letters will be converted to upper case automatically. However, all non-letters symbols should be added both in uppercase and lowercase. - Run
yarn test
. Project will be built automatically. - Add layout to the list above.
- Send a pull request.