Add basic documentation
This commit is contained in:
parent
a2860e9c73
commit
22eac5c508
40
README.mdwn
Normal file
40
README.mdwn
Normal file
@ -0,0 +1,40 @@
|
||||
cldr2json
|
||||
=========
|
||||
|
||||
This script converts Unicode CLDR android keyboard layouts to JSON usable by
|
||||
GNOME Shell.
|
||||
|
||||
CLDR keyboard layouts can be found at
|
||||
<http://www.unicode.org/Public/cldr/latest/keyboards.zip>
|
||||
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
./cldr2json <input file or directory> <output directory>
|
||||
|
||||
example:
|
||||
|
||||
./cldr2json cldr/keyboards/android/ json_layouts/
|
||||
|
||||
|
||||
Keyboard layout mapping
|
||||
=======================
|
||||
|
||||
Unicode CLDR layout identifiers are language codes, while XKB layout
|
||||
identifiers are... something else. The mapping between the two currently uses
|
||||
heuristic based on the layout descriptions, in this order:
|
||||
|
||||
- if the CLDR layout description matches an XKB layout description, chose its
|
||||
XKB identifier
|
||||
- if one word of the CLDR layout description matches an XKB layout
|
||||
description, chose its XKB identifier
|
||||
- if the CLDR layout description matches one word of an XKB layout description,
|
||||
chose its XKB identifier
|
||||
|
||||
That doesn't always work. For instance it fails for "en" language, that should
|
||||
match "us" XKB identifier. For such cases, there is a mapping in
|
||||
LOCALE_TO_XKB_OVERRIDES at the top of the script. If you discover a weird
|
||||
mapping of if you get a "failed to find XKB mapping for <locale>" warning then
|
||||
please consider adding an override there.
|
||||
|
Loading…
Reference in New Issue
Block a user