Skip to content

JS library to convert text from one keyboard layout to other

License

Notifications You must be signed in to change notification settings

krasnyd/convert-layout

 
 

Repository files navigation

Convert Layout

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);
});
Sponsored by Evil Martians

Usage

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') //=> "привет"

Layouts

Currently supported keyboard layouts:

  • Arabic
  • Belarusian
  • English (QWERTY, Dvorak, Colemak)
  • German
  • Kazakh
  • Korean
  • Russian
  • Spanish
  • Ukrainian
  • Hebrew
  • Persian
  • Czech

If you want to add a new keyboard layout definition:

  1. Fork a project. Create a branch.
  2. Add a CODE.json file with layout buttons map. See example in ru.json. Lower case letters will be converted to upper case automatically. However, all non-letters symbols should be added both in uppercase and lowercase.
  3. Run yarn test. Project will be built automatically.
  4. Add layout to the list above.
  5. Send a pull request.

About

JS library to convert text from one keyboard layout to other

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%