1default partial alphanumeric_keys
2xkb_symbols "basic" {
3
4    include "us"
5
6    name[Group1]= "English (Ghana)";
7
8    key <AE04> { [          4, 0x010020B5,     dollar,       cent ] };
9    include "level3(ralt_switch)"
10};
11
12partial alphanumeric_keys
13xkb_symbols "akan" {
14    include "gh(basic)"
15
16    name[Group1]= "Akan";
17
18    key <AD01> { [ 0x0100025B, 0x01000190,          q,          Q ] };
19    key <AB02> { [ 0x01000254, 0x01000186,          x,          X ] };
20};
21
22partial alphanumeric_keys
23xkb_symbols "ga" {
24    include "gh(basic)"
25
26    name[Group1]= "Ga";
27
28    key <AD01> { [ 0x0100025B, 0x01000190,          q,          Q ] };
29    key <AB02> { [ 0x01000254, 0x01000186,          x,          X ] };
30    key <AB03> { [ 0x0100014B, 0x0100014A,          c,          C ] };
31};
32
33partial alphanumeric_keys
34xkb_symbols "ewe" {
35    include "gh(basic)"
36
37    name[Group1]= "Ewe";
38
39    key <AD01> { [ 0x0100025B, 0x01000190,          q,          Q ] };
40    key <AB03> { [ 0x0100014B, 0x0100014A,          c,          C ] };
41    key <AD11> { [ 0x01000254, 0x01000186,  braceleft,  braceleft ] };
42    key <AD12> { [ 0x0100028B, 0x010001B2, braceright, braceright ] };
43    key <BKSL> { [ 0x01000256, 0x01000189,  backslash,  backslash ] };
44    key <AC07> { [ 0x01000192, 0x01000191,          j,          J ] };
45    key <AC05> { [          g,          G, 0x01000263, 0x01000194 ] };
46};
47
48partial alphanumeric_keys
49xkb_symbols "fula" {
50    include "gh(basic)"
51
52    name[Group1]= "Fula";
53
54    key <AD01> { [ 0x01000071, 0x01000051,          q,          Q ] };
55    key <AD02> { [ udiaeresis, Udiaeresis,          w,          W ] };
56    key <AD03> { [          e,          E,   EuroSign,	     cent ] };
57    key <AD11> { [ 0x010001B4, 0x010001B3,bracketleft,  braceleft ] };
58    key <AD12> { [     gcaron,     Gcaron,bracketright, braceright] };
59    key <AC03> { [ 0x01000257, 0x0100018A,         d,           D ] };
60    key <AC10> { [ 0x01000131, 0x01000130, semicolon,       colon ] };
61    key <AC11> { [ 0x010001DD, 0x0100018E,apostrophe,    quotedbl ] };
62    key <AB01> { [ 0x01000272, 0x0100019D,         z,           Z ] };
63    key <AB07> { [     ntilde,     Ntilde,         m,           M ] };
64    key <AB09> { [   ccedilla,   Ccedilla,    period,     greater ] };
65    key <AB10> { [   scedilla,   Scedilla,     slash,    question ] };
66};
67
68partial alphanumeric_keys
69xkb_symbols "hausa" {
70    include "gh(fula)"
71
72    name[Group1]= "Hausa (Ghana)";
73};
74
75partial alphanumeric_keys
76xkb_symbols "generic" {
77    include "gh(basic)"
78
79    name[Group1]= "English (Ghana, multilingual)";
80
81    key <AD03> { [          e,	        E, 0x0100025b, 0x01000190 ] };
82    key <AB03> { [          c,          C, 0x01000254, 0x01000186 ] };
83    key <AC03> { [          d,          D, 0x01000256, 0x01000189 ] };
84    key <AC04> { [          f,          F, 0x01000192, 0x01000191 ] };
85    key <AC05> { [          g,          G, 0x01000263, 0x01000194 ] };
86    key <AB06> { [          n,          N, 0x0100014b, 0x0100014a ] };
87    key <AB01> { [          z,          Z, 0x010001B6, 0x010001B5 ] };
88    key <AB04> { [          v,          V, 0x0100028B, 0x010001B2 ] };
89	key <AE04> { [          4,     dollar, 0x010020B5,       cent ] };
90    include "level3(ralt_switch)"
91};
92
93partial alphanumeric_keys
94xkb_symbols "avn" {
95    include "gh(basic)"
96
97    name[Group1]= "Avatime";
98
99    key <TLDE> { [      grave,     asciitilde,   0x01000300,  0x01000303 ] }; // combining grave; combining tilde
100    key <AE04> { [          4,         dollar,         cent,  0x010020B5 ] }; // ¢, ₵
101    key <AE11> { [      minus,     underscore,   0x01000304,  0x01000304 ] }; // combining macron
102    key <AD01> { [ 0x0100028B,      0x010001B2                           ] }; // ʋ, Ʋ
103    key <AD07> { [          u,              U,   0x0100028A,  0x010001B1 ] }; // ʊ, Ʊ
104    key <AD08> { [          i,              I,   0x01000269,  0x01000196 ] }; // ɩ, Ɩ
105    key <AD11> { [ 0x0100025B,      0x01000190, bracketleft,  braceleft  ] }; // ɛ, Ɛ
106    key <AC03> { [          d,              D,   0x01000256,  0x01000189 ] }; // ɖ, Ɖ
107    key <AC04> { [          f,              F,   0x01000192,  0x01000191 ] }; // ƒ, Ƒ
108    key <AC07> { [ 0x0100014B,      0x0100014A                           ] }; // ŋ, Ŋ
109    key <AC11> { [ apostrophe,       quotedbl,   0x01000301,  0x01000301 ] }; // combining acute
110    key <AB03> { [ 0x01000254,      0x01000186                           ] }; // ɔ, Ɔ
111
112    include "level3(ralt_switch)"
113};
114
115// This keyboard layout fully imitates the 'Ghana Unicode' layout which is used in GILLBT on Windows with Keyman.
116// However, in this layout a 3rd level key (R ALT) is used rather than dead keys.
117// Also it has three additional features:
118// 1) combining macron above: <R ALT> + <SHIFT> + <->
119// 2) cent: <R ALT> + <4> or <R ALT> + <SHIFT> + <4>
120// 3) ʊ/Ʊ: <R ALT> + <u>/<U>
121
122partial alphanumeric_keys
123xkb_symbols "gillbt" {
124    include "gh(basic)"
125
126    name[Group1]= "English (Ghana, GILLBT)";
127
128    key <TLDE> { [ grave,      asciitilde,  0x01000300,   0x01000303  ] }; // combining grave; combining tilde
129    key <AE04> { [ 4,          dollar,      cent,         0x010020B5  ] }; // ¢, ₵
130    key <AE06> { [ 6,          asciicircum, 0x01000302,   0x01000302  ] }; // combining circumflex accent
131    key <AE11> { [ minus,      underscore,  0x01000331,   0x01000304  ] }; // combining macron below; combining macron above
132    key <AE12> { [ 0x0100014B, 0x0100014A,  equal,        plus        ] }; // ŋ, Ŋ
133    key <AD01> { [ 0x0100028B, 0x010001B2,  q,            Q           ] }; // ʋ, Ʋ
134    key <AD03> { [ e,          E,           0x010001DD,   0x0100018E  ] }; // ǝ, Ǝ
135    key <AD07> { [ u,          U,           0x0100028A,   0x010001B1  ] }; // ʊ, Ʊ
136    key <AD11> { [ 0x0100025B, 0x01000190,  bracketleft,  braceleft   ] }; // ɛ, Ɛ
137    key <AD12> { [ 0x01000254, 0x01000186,  bracketright, braceright  ] }; // ɔ, Ɔ
138    key <AC03> { [ d,          D,           0x01000256,   0x01000189  ] }; // ɖ, Ɖ
139    key <AC04> { [ f,          F,           0x01000192,   0x01000191  ] }; // ƒ, Ƒ
140    key <AC05> { [ g,          G,           0x01000263,   0x01000194  ] }; // ɣ, Ɣ
141    key <AC11> { [ apostrophe, quotedbl,    0x01000301,   0x01000301  ] }; // combining acute
142    key <AB01> { [ z,          Z,           0x01000292,   0x010001B7  ] }; // ʒ, Ʒ
143    key <AB02> { [ 0x01000269, 0x01000196,  x,            X           ] }; // ɩ, Ɩ
144    key <AB03> { [ c,          C,           0x010000E7,   0x010000C7  ] }; // ç, Ç
145
146    include "level3(ralt_switch)"
147};
148