drivers/wifi: Remove unnecessary data structure copy
[coreboot2.git] / payloads / libpayload / curses / PDCurses / x11 / compose.h
blobe8f7d4079c570204909f3dcfa6af8584a2af546c
1 /* Public Domain Curses */
3 /* $Id: compose.h,v 1.3 2008/07/14 04:24:52 wmcbrine Exp $ */
5 /* Tables and variables for the built-in compose key system. This file
6 is not included when PDCurses is built with XIM support. */
8 #define MAX_COMPOSE_CHARS 14
9 #define MAX_COMPOSE_PRE 60
11 static const char *compose_chars =
12 "`'~^,/\"AaPpSs!?0123CcRr-_<>Xx.=Yy |EeIiOoUu+NnLlgDd:*TtMmVv";
15 ` : À È Ì Ò Ù à è ì ò ù
16 ' : ´ Á É Í Ó Ú Ý á é í ó ú ý ´
17 ~ : Ã Ñ Õ ã ñ õ
18 ^ : Â Ê Î Ô Û â ê î ô û ° ¹ ² ³
19 , : ¸ Ç ç ¸
20 / : Ø ø µ µ
21 " : ¨ Ä Ë Ï Ö Ü ä ë ï ö ü ÿ ¨
22 A : Æ À Á Ã Â Å Å Ã Â ª
23 a : æ à á ã â å å ã â ª
24 P : Þ ¶ ¶
25 p : þ ¶ ¶
26 S : § § § º ª
27 s : ß § ª ¹ ² ³ º §
28 ! : ¡ ¡
29 ? : ¿ ¿
30 0 : ° °
31 1 : ¹ ½ ¼ ¹
32 2 : ² ²
33 3 : ³ ¾ ³
34 C : © Ç ¢ ¢
35 c : ¢ © ç ¢ ¢
36 R : ®
37 r : ®
38 - : ­ ± ¬ ­ ¯ ÷
39 _ : ¯ ¯
40 < : «
41 > : «
42 X : ¤ ×
43 x : × ¤ ×
44 . : · · ·
45 = : ¥ ¥
46 Y : ¥ Ý ¥
47 y : ¥ ý ÿ ¥ ¥
49 | : ¦ ¢ ¦ Þ þ ¦ £
50 E : È É Ê Ë Ê
51 e : è é ê ë ê
52 I : Ì Í Î Ï Î
53 i : ì í î ï î
54 O : Ò Ó Ô Õ Ö Ø © ® Õ Ô Å å
55 o : ° Å å ¤ õ ò ó ô õ ö ø ô º
56 U : Ù Ú Û Ü Û
57 u : ù ú û ü µ û
58 + : ±
59 N : Ñ Ñ ¬
60 n : ñ ñ ¬
61 L : £ £ £
62 l : £ £ £
63 g : ¤
64 D : ° Ð
65 d : ° ð
66 : : ÷
67 * : µ µ å Å
68 T : Þ
69 t : þ
70 M : ×
71 m : ×
72 V : ¦
73 v : ¦
76 static const char compose_lookups[MAX_COMPOSE_PRE][MAX_COMPOSE_CHARS] =
78 /* ` */ {'A','E','I','O','U','a','e','i','o','u', 0, 0, 0, 0},
79 /* ' */ {' ','A','E','I','O','U','Y','a','e','i','o','u','y', 39},
80 /* ~ */ {'A','N','O','a','n','o', 0, 0, 0, 0, 0, 0, 0, 0},
81 /* ^ */ {'A','E','I','O','U','a','e','i','o','u','0','1','2','3'},
82 /* , */ {' ','C','c',',', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
83 /* / */ {'O','o','u','U', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
84 /* " */ {' ','A','E','I','O','U','a','e','i','o','u','y','\"', 0},
85 /* A */ {'E','`', 39,'~','^','"','o','*','-','>','_', 0, 0, 0},
86 /* a */ {'e','`', 39,'~','^','"','o','*','-','>','_', 0, 0, 0},
87 /* P */ {' ','G','!', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
88 /* p */ {' ','g','!', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
89 /* S */ {'S','!','O','0','A', 0, 0, 0, 0, 0, 0, 0, 0, 0},
90 /* s */ {'s','!','a','1','2','3','0','o', 0, 0, 0, 0, 0, 0},
91 /* ! */ {' ','!', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
92 /* ? */ {' ','?', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
93 /* 0 */ {'^','*', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
94 /* 1 */ {' ','2','4','^', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
95 /* 2 */ {' ','^', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
96 /* 3 */ {' ','4','^', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
97 /* C */ {'O',',','$','|', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
98 /* c */ {'|','o',',','/','$', 0, 0, 0, 0, 0, 0, 0, 0, 0},
99 /* R */ {'O', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
100 /* r */ {'o', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
101 /* - */ {' ','+',',','-','^',':', 0, 0, 0, 0, 0, 0, 0, 0},
102 /* _ */ {'_','^', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
103 /* < */ {'<', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
104 /* > */ {'>', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
105 /* X */ {'O','X', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
106 /* x */ {' ','o','x', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
107 /* . */ {' ','^','.', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
108 /* = */ {'Y','y', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
109 /* Y */ {'=', 39,'-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
110 /* y */ {'=', 39,'"','$','-', 0, 0, 0, 0, 0, 0, 0, 0, 0},
111 /* */ {' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
112 /* | */ {' ','c','|','P','p','^','-', 0, 0, 0, 0, 0, 0, 0},
113 /* E */ {'`', 39,'^','"','>', 0, 0, 0, 0, 0, 0, 0, 0, 0},
114 /* e */ {'`', 39,'^','"','>', 0, 0, 0, 0, 0, 0, 0, 0, 0},
115 /* I */ {'`', 39,'^','"','>', 0, 0, 0, 0, 0, 0, 0, 0, 0},
116 /* i */ {'`', 39,'^','"','>', 0, 0, 0, 0, 0, 0, 0, 0, 0},
117 /* O */ {'`', 39,'^','~','"','/','C','R','-','>','A','a', 0, 0},
118 /* o */ {' ','A','a','x','-','`', 39,'^','~','"','/','>','_', 0},
119 /* U */ {'`', 39,'^','"','>', 0, 0, 0, 0, 0, 0, 0, 0, 0},
120 /* u */ {'`', 39,'^','"',' ','>', 0, 0, 0, 0, 0, 0, 0, 0},
121 /* + */ {'-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
122 /* N */ {'~','-','O', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
123 /* n */ {'~','-','o', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
124 /* L */ {'$','=','-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
125 /* l */ {'$','=','-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
126 /* g */ {'$', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
127 /* D */ {'E','-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
128 /* d */ {'e','-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
129 /* : */ {'-', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
130 /* * */ {'m','M','a','A', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
131 /* T */ {'H', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
132 /* t */ {'h', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
133 /* M */ {'U', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
134 /* m */ {'u', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
135 /* V */ {'B', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
136 /* v */ {'b', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
139 static const unsigned char compose_keys[MAX_COMPOSE_PRE][MAX_COMPOSE_CHARS] =
141 /* ` */ {192,200,204,210,217,224,232,236,242,249, 0, 0, 0, 0},
142 /* ' */ {180,193,201,205,211,218,221,225,233,237,243,250,253,180},
143 /* ~ */ {195,209,213,227,241,245, 0, 0, 0, 0, 0, 0, 0, 0},
144 /* ^ */ {194,202,206,212,219,226,234,238,244,251,176,185,178,179},
145 /* , */ {184,199,231,184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
146 /* / */ {216,248,181,181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
147 /* " */ {168,196,203,207,214,220,228,235,239,246,252,255,168, 0},
148 /* A */ {198,192,193,195,194,196,197,197,195,194,170, 0, 0, 0},
149 /* a */ {230,224,225,227,226,228,229,229,227,226,170, 0, 0, 0},
150 /* P */ {222,182,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
151 /* p */ {254,182,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
152 /* S */ {167,167,167,186,170, 0, 0, 0, 0, 0, 0, 0, 0, 0},
153 /* s */ {223,167,170,185,178,179,186,167, 0, 0, 0, 0, 0, 0},
154 /* ! */ {161,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
155 /* ? */ {191,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
156 /* 0 */ {176,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
157 /* 1 */ {185,189,188,185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
158 /* 2 */ {178,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
159 /* 3 */ {179,190,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
160 /* C */ {169,199,162,162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
161 /* c */ {162,169,231,162,162, 0, 0, 0, 0, 0, 0, 0, 0, 0},
162 /* R */ {174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
163 /* r */ {174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
164 /* - */ {173,177,172,173,175,247, 0, 0, 0, 0, 0, 0, 0, 0},
165 /* _ */ {175,175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
166 /* < */ {171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
167 /* > */ {187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
168 /* X */ {164,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
169 /* x */ {215,164,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
170 /* . */ {183,183,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
171 /* = */ {165,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
172 /* Y */ {165,221,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
173 /* y */ {165,253,255,165,165, 0, 0, 0, 0, 0, 0, 0, 0, 0},
174 /* */ {160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
175 /* | */ {166,162,166,222,254,166,163, 0, 0, 0, 0, 0, 0, 0},
176 /* E */ {200,201,202,203,202, 0, 0, 0, 0, 0, 0, 0, 0, 0},
177 /* e */ {232,233,234,235,234, 0, 0, 0, 0, 0, 0, 0, 0, 0},
178 /* I */ {204,205,206,207,206, 0, 0, 0, 0, 0, 0, 0, 0, 0},
179 /* i */ {236,237,238,239,238, 0, 0, 0, 0, 0, 0, 0, 0, 0},
180 /* O */ {210,211,212,213,214,216,169,174,213,212,197,229, 0, 0},
181 /* o */ {176,197,229,164,245,242,243,244,245,246,248,244,186, 0},
182 /* U */ {217,218,219,220,219, 0, 0, 0, 0, 0, 0, 0, 0, 0},
183 /* u */ {249,250,251,252,181,251, 0, 0, 0, 0, 0, 0, 0, 0},
184 /* + */ {177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
185 /* N */ {209,209,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
186 /* n */ {241,241,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
187 /* L */ {163,163,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
188 /* l */ {163,163,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
189 /* g */ {164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
190 /* D */ {176,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
191 /* d */ {176,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
192 /* : */ {247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
193 /* * */ {181,181,229,197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
194 /* T */ {222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
195 /* t */ {254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
196 /* M */ {215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
197 /* u */ {215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
198 /* V */ {166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
199 /* v */ {166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
202 static KeySym compose_key = 0;
203 static int compose_mask = 0;