A good Cherokee keyboard layout for Linux

Mol_Bolom
A good Cherokee keyboard layout for Linux

Postby Mol_Bolom » 2009-06-09, 23:53

You will need two files.
.XCompose which should be located in your home directory.
/home/your_user_name/.XCompose
(Note: the period is needed before XCompose)

A file called tsa, or if you know how to use xkb files then you can name it whatever you want.
In slackware this file should be placed at /etc/X11/xkb/symbols

.XCompose

Code: Select all

# ~/.XCompose
# This file defines custom Compose sequences for Unicode characters

# Import default rules from the system Compose file:
include "/usr/share/X11/locale/en_US.UTF-8/Compose"

#g + g = gi
<U13A6> <U13A6> : U13A9
#g + a, e, i, o, u, v
<U13A6> <U13A0>   : U13A6
<U13A6> <U13A1>   : U13A8
<U13A6> <U13A2>   : U13A9
<U13A6> <U13A3>   : U13AA
<U13A6> <U13A4>   : U13AB
<U13A6> <U13A5>   : U13AC

#k + k = go
<U13A7> <U13A7> : U13AA
#k + a, e, i, o, u, v
<U13A7> <U13A0>   : U13A7
<U13A7> <U13A1>   : U13A8
<U13A7> <U13A2>   : U13A9
<U13A7> <U13A3>   : U13AA
<U13A7> <U13A4>   : U13AB
<U13A7> <U13A5>   : U13AC

#g + w + a, e, i, o, u, v
<U13A6> <U13E9> <U13A0>   : U13C6
<U13A6> <U13E9> <U13A1>   : U13C7
<U13A6> <U13E9> <U13A2>   : U13C8
<U13A6> <U13E9> <U13A3>   : U13C9
<U13A6> <U13E9> <U13A4>   : U13CA
<U13A6> <U13E9> <U13A5>   : U13CB

#In the Nahuatl language, if a syllable ends in uc it is pronounced almost like the kw in
# Cherokee ulvkwdi.
#w + k = kwi
<U13E9> <U13A7>  : U13C8
#k + w + a, e, i, o, u, v
<U13A7> <U13E9> <U13A0>   : U13C6
<U13A7> <U13E9> <U13A1>   : U13C7
<U13A7> <U13E9> <U13A2>   : U13C8
<U13A7> <U13E9> <U13A3>   : U13C9
<U13A7> <U13E9> <U13A4>   : U13CA
<U13A7> <U13E9> <U13A5>   : U13CB

#h + h = hi
<U13AD> <U13AD> : U13AF
#h + e, i, o, u, v
<U13AD> <U13A0>   : U13AD
<U13AD> <U13A1>   : U13AE
<U13AD> <U13A2>   : U13AF
<U13AD> <U13A3>   : U13B0
<U13AD> <U13A4>   : U13B1
<U13AD> <U13A5>   : U13B2

#l +l = li
<U13B3> <U13B3>  : U13B5
#l + e, i, o, u, v
<U13B3> <U13A0>   : U13B3
<U13B3> <U13A1>   : U13B4
<U13B3> <U13A2>   : U13B5
<U13B3> <U13A3>   : U13B6
<U13B3> <U13A4>   : U13B7
<U13B3> <U13A5>   : U13B8

#m+m = ma
<U13B9> <U13B9> : U13B9
#m + e, i, o, u, v
<U13B9> <U13A0>   :U13B9
<U13B9> <U13A1>   : U13BA
<U13B9> <U13A2>   : U13BB
<U13B9> <U13A3>   : U13BC
<U13B9> <U13A4>   : U13BD

#h + n + a
<U13AD> <U13BE> <U13A0>   : U13BF
#n+h = nah
<U13BE> <U13AD> : U13C0
#n+n = nv
<U13BE> <U13BE> : U13C5
#n + a, e, i, o, u, v
<U13BE> <U13A0>   : U13BE
<U13BE> <U13A1>   : U13C1
<U13BE> <U13A2>   : U13C2
<U13BE> <U13A3>   : U13C3
<U13BE> <U13A4>   : U13C4
<U13BE> <U13A5>   : U13C5

#s+s = so
<U13CC> <U13CC> : U13D0
#s + a, e, i, o, u, v
<U13CC> <U13A0>   : U13CC
<U13CC> <U13A1>   : U13CE
<U13CC> <U13A2>   : U13CF
<U13CC> <U13A3>   : U13D0
<U13CC> <U13A4>   : U13D1
<U13CC> <U13A5>   : U13D2

#d+d = da
<U13D3> <U13D3> : U13D3
#d + a, e, i, o, u, v
<U13D3> <U13A0>   :U13D3
<U13D3> <U13A1>   : U13D5
<U13D3> <U13A2>   : U13D7
<U13D3> <U13A3>   : U13D9
<U13D3> <U13A4>   : U13DA
<U13D3> <U13A5>   : U13DB

#t+t = ti
<U13D4> <U13D4> : U13D8
#t + a, e, i, o, u, v
<U13D4> <U13A0>   :U13D4
<U13D4> <U13A1>   : U13D6
<U13D4> <U13A2>   : U13D8
<U13D4> <U13A3>   : U13D9
<U13D4> <U13A4>   : U13DA
<U13D4> <U13A5>   : U13DB

#t + l + a, e, i, o, u, v
<U13D4> <U13B3> <U13A0>   : U13DD
<U13D4> <U13B3> <U13A1>   : U13DE
<U13D4> <U13B3> <U13A2>   : U13DF
<U13D4> <U13B3> <U13A3>   : U13E0
<U13D4> <U13B3> <U13A4>   : U13E1
<U13D4> <U13B3> <U13A5>   : U13E2

#d + l + a, e, i, o, u, v
<U13D3> <U13B3> <U13A0>   : U13DC
<U13D3> <U13B3> <U13A1>   : U13DE
<U13D3> <U13B3> <U13A2>   : U13DF
<U13D3> <U13B3> <U13A3>   : U13E0
<U13D3> <U13B3> <U13A4>   : U13E1
<U13D3> <U13B3> <U13A5>   : U13E2

#j+j = tsi
<U13E3> <U13E3> : U13E5
#j + a, e, i, o, u, v
<U13E3> <U13A0>   :U13E3
<U13E3> <U13A1>   : U13E4
<U13E3> <U13A2>   : U13E5
<U13E3> <U13A3>   : U13E6
<U13E3> <U13A4>   : U13E7
<U13E3> <U13A5>   : U13E8

#t + s + a, e, i, o, u, v
<U13D4> <U13CC> <U13A0>   :U13E3
<U13D4> <U13CC> <U13A1>   : U13E4
<U13D4> <U13CC> <U13A2>   : U13E5
<U13D4> <U13CC> <U13A3>   : U13E6
<U13D4> <U13CC> <U13A4>   : U13E7
<U13D4> <U13CC> <U13A5>   : U13E8

#w + w = wa
<U13E9> <U13E9>  : U13E9
#w + a, e, i, o, u, v
<U13E9> <U13A0>   :U13E9
<U13E9> <U13A1>   : U13EA
<U13E9> <U13A2>   : U13EB
<U13E9> <U13A3>   : U13EC
<U13E9> <U13A4>   : U13ED
<U13E9> <U13A5>   : U13EE

#y + y = ya
<U13EF> <U13EF>  : U13EF
#y + a, e, i, o, u, v
<U13EF> <U13A0>   :U13EF
<U13EF> <U13A1>   : U13F0
<U13EF> <U13A2>   : U13F1
<U13EF> <U13A3>   : U13F2
<U13EF> <U13A4>   : U13F3
<U13EF> <U13A5>   : U13F4


tsa

Code: Select all



default
partial alphanumeric_keys
xkb_symbols "cherokee" {

   
    name[Group1]= "Cherokee / US";

    // Alphanumeric section
    key <TLDE> { [       grave,   asciitilde                 ] };
    key <AE01> { [           1,       exclam                 ] };
    key <AE02> { [           2,           at                 ] };
    key <AE03> { [           3,   numbersign                 ] };
    key <AE04> { [           4,       dollar                 ] };
    key <AE05> { [           5,      percent                 ] };
    key <AE06> { [           6,  asciicircum                 ] };
    key <AE07> { [           7,    ampersand                 ] };
    key <AE08> { [           8,     asterisk                 ] };
    key <AE09> { [           9,    parenleft                 ] };
    key <AE10> { [           0,   parenright                 ] };
    key <AE11> { [       minus,   underscore                 ] };
    key <AE12> { [       equal,         plus                 ] };
    key <AD01> { [       q,    Q,   U13CA           ] };
    key <AD02> { [       w,    W,   U13E9           ] };
    key <AD03> { [       e,    E,   U13A1           ] };
    key <AD04> { [       r,    R,   U13D2           ] };
    key <AD05> { [       t,    T,   U13D4           ] };
    key <AD06> { [       y,    Y,   U13EF           ] };
    key <AD07> { [       u,    U,   U13A4           ] };
    key <AD08> { [       i,    I,   U13A2           ] };
    key <AD09> { [       o,    O,   U13A3           ] };
    key <AD10> { [       p,    P,   U13E2           ] };
    key <AD11> { [ bracketleft,    braceleft                 ] };
    key <AD12> { [bracketright,   braceright                 ] };
    key <AC01> { [       a,    A,   U13A0           ] };
    key <AC02> { [       s,    S,   U13CC           ] };
    key <AC03> { [       d,    D,   U13D3           ] };
    key <AC04> { [       f,    F,   U13B8           ] };
    key <AC05> { [       g,    G,   U13A6           ] };
    key <AC06> { [       h,    H,   U13AD           ] };
    key <AC07> { [       j,    J,   U13E3           ] };
    key <AC08> { [       k,    K,   U13A7           ] };
    key <AC09> { [       l,    L,   U13B3           ] };
    key <AC10> { [   semicolon,        colon                 ] };
    key <AC11> { [  apostrophe,     quotedbl                 ] };
    key <AB01> { [       z,    Z,   U13C3           ] };
    key <AB02> { [       x,    X,   U13CD           ] };
    key <AB03> { [       c,    C,   U13E3           ] };
    key <AB04> { [       v,    V,   U13A5           ] };
    key <AB05> { [       b,    B,   U13F4           ] };
    key <AB06> { [       n,    N,   U13BE           ] };
    key <AB07> { [       m,    M,   U13B9           ] };
    key <AB08> { [       comma,         less                 ] };
    key <AB09> { [      period,      greater                 ] };
    key <AB10> { [       slash,     question                 ] };
    key <BKSL> { [   backslash,          bar                 ] };

  key <RWIN> {type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level3_Shift ], locks=True };

};


Note: To change to the tsa (Cherokee) keyboard layout, you would switch it by pressing the Right window key, if you want to use another key, then change RWIN to the appropriate key.

In your xorg.conf file, make these changes...

Code: Select all

Section "InputDevice"
     Option "XkbLayout"  "tsa"
EndSection


Or, if you want another keyboard layout, then...

Code: Select all

Section "InputDevice"
     Option "XkbLayout"  "Your_preferred_layout, tsa"
     Option "XkbOptions"   "grp:shifts_toggle"
EndSection

(The shifts_toggle means that by pressing both shift keys together would change which layout you are using. The RWIN key to change to Cherokee is only used in the tsa file. It is a copy of the English keyboard layout, so quite frankly, you will not need the us keyboard layout, unless you use a different variant.)

Next, you need to set X to use the .XCompose file. Which this can be a pain to accomplish on some distros.

In Slackware, and Zenwalk 6.0 I had and have it set up in my .xinitrc file located in my home directory. (Note: Do not delete anything in your .xinitrc file, instead add these lines before your window manager executes, which should be something like exec openbox-session (as on my computer), or exec gnome-session (or it might even be exec gnome, I don't know I've never used it, :hmm: )...
/home/your_user_name/.xinitrc

Code: Select all

export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim


Now, oddly enough, in certain cercumstances xim will not work, but uim might. Such as when I had Zenwalk 5.2 uim was what I had to use. In order to use uim, though, you have to install it, so search the repositories of your distro then give this a try if xim doesn't work for you.

Code: Select all

export GTK_IM_MODULE=uim
export QT_IM_MODULE=uim


If you have any problems, or you wish another keyboard layout other than the US keyboard layout to be used with the Cherokee keyboard, feel free to PM me and I'll see if I can modify the keyboard layout you prefer.

This is what the keyboard looks like...(On my keyboard, your's may be different, but the keys will be identical.
Cherokee layout:

Code: Select all

Unshifted>
Shifted>

U> `1234567890-=
S> ~!@#$%^&*()_+

U> ᏊᏩᎡᏒᏘᏯᎤᎢᎣᏢ[]\
S> qwertyuiop{}|

U> ᎠᏐᏓᎸᎩᎯᏥᎪᎵ;'
S> asdfghjkl:"

U> ᏃᏍᏥᎥᏴᏅᎹ,./
S> zxcvbnm<>?

As you can see, this keyboard layout allows you to use all the normal keys on the keyboard, while allowing you to type all the characters of the Cherokee alphabet, and a few extras that are common, at least with me they are common.

Since the keys w, t, y, s, d, g, h, j, k, l, m, n, c are set up as dead keys, therefore, by pressing them twice will yield the characters you see in their place up above.

Also, by pressing n+h will give the character Ꮐ. Quite frankly I couldn't think of a better key arrangement for that one that was easy, so I just stuck with nh.

However, the best way to see it and understand it is to try it, so give it a try if you would like to do so, and write here what you think about it, or anything you'd like to see changed...

ᏩᏙ, ᎤᎵᎮᎵᏍᏗ ᎰᏪᎵᏍᎪᎢ.

User avatar
ᏩᏯᏩᏯ
Posts:135
Joined:2010-03-26, 23:24
Real Name:M Joyner
Gender:male
Location:Marietta
Country:USUnited States (United States)
Contact:

Re: A good Cherokee keyboard layout for Linux

Postby ᏩᏯᏩᏯ » 2010-07-05, 19:03

Mol_Bolom wrote:
Also, by pressing n+h will give the character Ꮐ. Quite frankly I couldn't think of a better key arrangement for that one that was easy, so I just stuck with nh.



Imported into my XCompose...

Code: Select all

# ~/.XCompose
# This file defines custom Compose sequences for Unicode characters

# Import default rules from the system Compose file:
include "/usr/share/X11/locale/en_US.UTF-8/Compose"

#a -> v
<U13A0> :   "Ꭰ" #a Ꭰ
<U13A1> :   "Ꭱ" #e Ꭱ
<U13A2> :   "Ꭲ" #i Ꭲ
<U13A3> :   "Ꭳ" #o Ꭳ
<U13A4> :   "Ꭴ" #u Ꭴ
<U13A5> :   "Ꭵ" #v Ꭵ

#ga -> gv
<U13A6><U13A0>: "Ꭶ" #ga
<U13B8><U13A0>: "Ꭷ" #ka
<U13A6><U13A1>: "Ꭸ" #ge
<U13A6><U13A2>: "Ꭹ" #gi
<U13A6><U13A3>: "Ꭺ" #go
<U13A6><U13A4>: "Ꭻ" #gu
<U13A6><U13A5>: "Ꭼ" #gv

#ha -> hv
<U13AF><U13A0>: "Ꭽ" #ha
<U13AF><U13A1>: "Ꭾ" #he
<U13AF><U13A2>: "Ꭿ" #hi
<U13AF><U13A3>: "Ꮀ" #ho
<U13AF><U13A4>: "Ꮁ" #hu
<U13AF><U13A5>: "Ꮂ" #hv

#(la)
<U13B5><U13A0>: "Ꮃ" #la
<U13B5><U13A1>: "Ꮄ" #le
<U13B5><U13A2>: "Ꮅ" #li
<U13B5><U13A3>: "Ꮆ" #lo
<U13B5><U13A4>: "Ꮇ" #lu
<U13B5><U13A5>: "Ꮈ" #lv

#(ma)
<U13C5><U13A0>: "Ꮉ" #ma
<U13C5><U13A1>: "Ꮊ" #me
<U13C5><U13A2>: "Ꮋ" #mi
<U13C5><U13A3>: "Ꮌ"  #mo
<U13C5><U13A4>: "Ꮍ" #mu

#(na)
<U13BE><U13A0>: "Ꮎ" #na
<U13AF><U13BE><U13A0>: "Ꮏ" #hna
<U13BE><U13CC>: "Ꮐ" #nah/(typed: nA)
<U13BE><U13AF>: "Ꮐ" #nah/(typed: nh)
<U13BE><U13A1>: "Ꮑ" #ne
<U13BE><U13A2>: "Ꮒ" #ni
<U13AF><U13BE><U13A2>: "Ꮒ" #hni
<U13BE><U13A3>: "Ꮓ" #no
<U13AF><U13BE><U13A3>: "Ꮓ" #hno
<U13BE><U13A4>: "Ꮔ" #nu
<U13BE><U13A5>: "Ꮕ" #nv

#(qua)
<U13AA><U13A4><U13A0>: "Ꮖ" #qua
<U13AA><U13A4><U13A1>: "Ꮗ" #que
<U13AA><U13A4><U13A2>: "Ꮘ" #qui
<U13AA><U13A4><U13A3>: "Ꮙ" #quo
<U13AA><U13A4><U13A4>: "Ꮚ" #quu
<U13AA><U13A4><U13A5>: "Ꮛ" #quv

#(gwa) <U13A6><U13B3>
<U13A6><U13B3><U13A0>: "Ꮖ" #qua
<U13A6><U13B3><U13A1>: "Ꮗ" #que
<U13A6><U13B3><U13A2>: "Ꮘ" #qui
<U13A6><U13B3><U13A3>: "Ꮙ" #quo
<U13A6><U13B3><U13A4>: "Ꮚ" #quu
<U13A6><U13B3><U13A5>: "Ꮛ" #quv

#(sa)
<U13CD><U13A0>: "Ꮜ" #sa
<U13CE>: "Ꮝ" #s / (typed S)
<U13CD><U13CD>: "Ꮝ" #s / (typed ss)
<U13CD><U13A1>: "Ꮞ" #se
<U13CD><U13A2>: "Ꮟ" #si
<U13CD><U13A3>: "Ꮠ" #so
<U13CD><U13A4>: "Ꮡ" #su
<U13CD><U13A5>: "Ꮢ" #sv

#(da)
<U13D7><U13A0>: "Ꮣ" #da
<U13D4><U13A0>: "Ꮤ" #ta
<U13D7><U13A1>: "Ꮥ" #de
<U13D4><U13A1>: "Ꮦ" #te
<U13D7><U13A2>: "Ꮧ" #di
<U13D4><U13A2>: "Ꮨ" #ti
<U13D7><U13A3>: "Ꮩ" #do
<U13D4><U13A3>: "Ꮩ" #do (type to)
<U13D7><U13A4>: "Ꮪ" #du
<U13D4><U13A4>: "Ꮪ" #du (typed tu)
<U13D7><U13A5>: "Ꮫ" #dv

#(dla)
<U13D7><U13B5><U13A0>: "Ꮬ" #dla
<U13D4><U13B5><U13A0>: "Ꮭ" #tla
<U13D4><U13B5><U13A1>: "Ꮮ" #tle
<U13D4><U13B5><U13A2>: "Ꮯ" #tli
<U13D4><U13B5><U13A3>: "Ꮰ" #tlo
<U13D4><U13B5><U13A4>: "Ꮱ" #tlu
<U13D4><U13B5><U13A5>: "Ꮲ" #tlv

#(hla) <U13AF>
<U13AF><U13B5><U13A0>: "Ꮭ" #tla
<U13AF><U13B5><U13A1>: "Ꮮ" #tle
<U13AF><U13B5><U13A2>: "Ꮯ" #tli
<U13AF><U13B5><U13A3>: "Ꮰ" #tlo
<U13AF><U13B5><U13A4>: "Ꮱ" #tlu
<U13AF><U13B5><U13A5>: "Ꮲ" #tlv

#(tsa)
<U13D4><U13CD><U13A0>: "Ꮳ" #tsa
<U13D4><U13CD><U13A1>: "Ꮴ" #tse
<U13D4><U13CD><U13A2>: "Ꮵ" #tsi
<U13D4><U13CD><U13A3>: "Ꮶ" #tso
<U13D4><U13CD><U13A4>: "Ꮷ" #tsu
<U13D4><U13CD><U13A5>: "Ꮸ" #tsv

#(ja)
<U13DA><U13A0>: "Ꮳ" #tsa
<U13DA><U13A1>: "Ꮴ" #tse
<U13DA><U13A2>: "Ꮵ" #tsi
<U13DA><U13A3>: "Ꮶ" #tso
<U13DA><U13A4>: "Ꮷ" #tsu
<U13DA><U13A5>: "Ꮸ" #tsv

#(wa)
<U13B3><U13A0>: "Ꮹ" #wa
<U13B3><U13A1>: "Ꮺ" #we
<U13B3><U13A2>: "Ꮻ" #wi
<U13B3><U13A3>: "Ꮼ" #wo
<U13B3><U13A4>: "Ꮽ" #wu
<U13B3><U13A5>: "Ꮾ" #wv

#(wa) for when 'intrusive h' is typed.
<U13AF><U13B3><U13A0>: "Ꮹ" #wa
<U13AF><U13B3><U13A1>: "Ꮺ" #we
<U13AF><U13B3><U13A2>: "Ꮻ" #wi
<U13AF><U13B3><U13A3>: "Ꮼ" #wo
<U13AF><U13B3><U13A4>: "Ꮽ" #wu
<U13AF><U13B3><U13A5>: "Ꮾ" #wv


#(ya)
<U13EF><U13A0>: "Ꮿ" #ya
<U13EF><U13A1>: "Ᏸ" #ye
<U13EF><U13A2>: "Ᏹ" #yi
<U13EF><U13A3>: "Ᏺ" #yo
<U13EF><U13A4>: "Ᏻ" #yu
<U13EF><U13A5>: "Ᏼ" #yv

#remap numbers and symbols back to US English use.
# `: "`"
# 1: "1"
# 2: "2"
# 3: "3"
<U13D9>: "4" # Ꮩ4
<U13E6>: "5" # Ꮶ5
<U13DC>: "6" # Ꮬ6
<U13CB>: "7" # Ꮛ7
<U13D6>: "8" # Ꮦ8
<U13D2>: "9" # Ꮢ9
<U13C4>: "0" # Ꮔ0
<U13BF>: "-" # Ꮏ-
<U13F3>: "=" # Ᏻ=

<U13CA>: "~" #Ꮚ~
<U13B1>: "!" #Ꮁ!
<U13C7>: "@" #Ꮗ@
<U13E7>: "#" #Ꮷ#
<U13B0>: "$" #Ꮀ$
<U13B9>: "%" #Ꮉ%
<U13DD>: "^" #Ꮭ^
<U13E1>: "&" #Ꮱ&
<U13BA>: "*" #Ꮊ*
#(: "("
#): ")"
<U13BC>: "_" #Ꮌ_
<U13BD>: "+" #Ꮍ+

<U13D5>: "[" #Ꮥ[
<U13B6>: "]" #Ꮆ]
<U13C0>: "\\" #ᏩᏩ\

<U13D1>: "{" #Ꮡ{
<U13E4>: "}" #Ꮴ}
<U13EE>: "|" #Ꮾ|

<U13E8>: ";" #Ꮸ;
#': "'"

<U13E0>: ":" #Ꮰ:
#": "\""

#,: ","
#.: "."
<U13C2>: "/" #Ꮒ/

<U13E2>: "<" #Ꮲ<
<U13B4>: ">" #Ꮄ>
<U13C9>: "?" #Ꮙ?


Return to “North American Indigenous Languages”

Who is online

Users browsing this forum: No registered users and 10 guests