1 
2 /*
3  *  Diverse Bristol audio routines.
4  *  Copyright (c) by Nick Copeland <nickycopeland@hotmail.com> 1996,2012
5  *
6  *
7  *   This program is free software; you can redistribute it and/or modify
8  *   it under the terms of the GNU General Public License as published by
9  *   the Free Software Foundation; either version 3 of the License, or
10  *   (at your option) any later version.
11  *
12  *   This program is distributed in the hope that it will be useful,
13  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *   GNU General Public License for more details.
16  *
17  *   You should have received a copy of the GNU General Public License
18  *   along with this program; if not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 /*
23  * These need to be redone. Each white key should be placed first, then the
24  * black keys layered on top. That way we can get better graphics with shading
25  * on the white keys for each black key.
26  */
27 
28 #ifndef BRIGHTONKEYBOARD_H
29 #define BRIGHTONKEYBOARD_H
30 
31 extern guimain global;
32 
33 #define KEY_COUNT 61
34 #define KEY_COUNT_2OCTAVE 29
35 #define KEY_COUNT_2OCTAVE2 32
36 #define KEY_COUNT_3OCTAVE 44
37 #define KEY_COUNT_3_OCTAVE 37
38 #define KEY_COUNT_4OCTAVE 49
39 #define KEY_COUNT_PEDAL 24
40 #define VKEY_COUNT 48
41 #define KEY_COUNT_5OCTAVE KEY_COUNT
42 #define KEY_COUNT_6_OCTAVE 73
43 
44 /*
45  * This whole definition should be moved into a separate routine, and called
46  * for a given keyboard size - 37 note (three oct), 61 note (5 oct) or a full
47  * 88 keys. Should also consider 73 note for a Rhodes....
48  */
49 #define KW (1000 / 36)
50 #define FKW (995 - 35 * KW)
51 #define KFBW ((KW * 3) / 2)
52 #define KFWD ((KW * 3) / 4)
53 
54 #define KMW 20
55 #define KIW 28
56 #define KIH 666
57 #define KIL 334
58 #define KIS 0
59 
60 brightonLocations keys[KEY_COUNT_5OCTAVE] = {
61 	{"", 2, 0 * KW, 0, KFWD, 1000, 0, 1, 0,
62 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
63 	{"", 2, 0 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
64 		"bitmaps/newkeys/BlackUp4.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
65 	{"", 2, 1 * KW, KIH, KW, KIL, 0, 1, 0,
66 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
67 	{"", 2, 1 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
68 		"bitmaps/newkeys/BlackUp4.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
69 	{"", 2, 2 * KW, KIH, KW, KIL, 0, 1, 0,
70 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
71 	{"", 2, 3 * KW, 0, KFWD, 1000, 0, 1, 0,
72 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
73 	{"", 2, 3 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
74 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
75 	{"", 2, 4 * KW, KIH, KW, KIL, 0, 1, 0,
76 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
77 	{"", 2, 4 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
78 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
79 	{"", 2, 5 * KW, KIH, KW, KIL, 0, 1, 0,
80 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
81 	{"", 2, 5 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
82 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
83 	{"", 2, 6 * KW, KIH, KW, KIL, 0, 1, 0,
84 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
85 
86 	{"", 2, 7 * KW, 0, KFWD, 1000, 0, 1, 0,
87 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
88 	{"", 2, 7 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
89 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
90 	{"", 2, 8 * KW, KIH, KW, KIL, 0, 1, 0,
91 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
92 	{"", 2, 8 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
93 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
94 	{"", 2, 9 * KW, KIH, KW, KIL, 0, 1, 0,
95 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
96 	{"", 2, 10 * KW, 0, KFWD, 1000, 0, 1, 0,
97 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
98 	{"", 2, 10 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
99 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
100 	{"", 2, 11 * KW, KIH, KW, KIL, 0, 1, 0,
101 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
102 	{"", 2, 11 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
103 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
104 	{"", 2, 12 * KW, KIH, KW, KIL, 0, 1, 0,
105 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
106 	{"", 2, 12 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
107 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
108 	{"", 2, 13 * KW, KIH, KW, KIL, 0, 1, 0,
109 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
110 
111 	{"", 2, 14 * KW, 0, KFWD, 1000, 0, 1, 0,
112 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
113 	{"", 2, 14 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
114 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
115 	{"", 2, 15 * KW, KIH, KW, KIL, 0, 1, 0,
116 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
117 	{"", 2, 15 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
118 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
119 	{"", 2, 16 * KW, KIH, KW, KIL, 0, 1, 0,
120 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
121 	{"", 2, 17 * KW, 0, KFWD, 1000, 0, 1, 0,
122 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
123 	{"", 2, 17 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
124 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
125 	{"", 2, 18 * KW, KIH, KW, KIL, 0, 1, 0,
126 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
127 	{"", 2, 18 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
128 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
129 	{"", 2, 19 * KW, KIH, KW, KIL, 0, 1, 0,
130 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
131 	{"", 2, 19 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
132 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
133 	{"", 2, 20 * KW, KIH, KW, KIL, 0, 1, 0,
134 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
135 
136 	{"", 2, 21 * KW, 0, KFWD, 1000, 0, 1, 0,
137 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
138 	{"", 2, 21 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
139 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
140 	{"", 2, 22 * KW, KIH, KW, KIL, 0, 1, 0,
141 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
142 	{"", 2, 22 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
143 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
144 	{"", 2, 23 * KW, KIH, KW, KIL, 0, 1, 0,
145 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
146 	{"", 2, 24 * KW, 0, KFWD, 1000, 0, 1, 0,
147 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
148 	{"", 2, 24 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
149 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
150 	{"", 2, 25 * KW, KIH, KW, KIL, 0, 1, 0,
151 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
152 	{"", 2, 25 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
153 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
154 	{"", 2, 26 * KW, KIH, KW, KIL, 0, 1, 0,
155 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
156 	{"", 2, 26 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
157 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
158 	{"", 2, 27 * KW, KIH, KW, KIL, 0, 1, 0,
159 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
160 
161 	{"", 2, 28 * KW, 0, KFWD, 1000, 0, 1, 0,
162 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
163 	{"", 2, 28 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
164 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
165 	{"", 2, 29 * KW, KIH, KW, KIL, 0, 1, 0,
166 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
167 	{"", 2, 29 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
168 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
169 	{"", 2, 30 * KW, KIH, KW, KIL, 0, 1, 0,
170 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
171 	{"", 2, 31 * KW, 0, KFWD, 1000, 0, 1, 0,
172 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
173 	{"", 2, 31 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
174 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
175 	{"", 2, 32 * KW, KIH, KW, KIL, 0, 1, 0,
176 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
177 	{"", 2, 32 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
178 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
179 	{"", 2, 33 * KW, KIH, KW, KIL, 0, 1, 0,
180 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
181 	{"", 2, 33 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
182 		"bitmaps/newkeys/BlackUp4.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
183 	{"", 2, 34 * KW, KIH, KW, KIL, 0, 1, 0,
184 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
185 
186 	{"", 2, 35 * KW, 0, KW, 1000, 0, 1, 0,
187 		"bitmaps/newkeys/WhiteLUp.xpm", "bitmaps/newkeys/WhiteLDown.xpm", BRIGHTON_NOSHADOW},
188 };
189 
190 brightonLocations keysprofile2[KEY_COUNT_5OCTAVE] = {
191 	{"", 2, 0 * KW, 0, KW, 1000, 0, 1, 0,
192 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
193 	{"", 2, 0 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
194 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
195 	{"", 2, 1 * KW, KIH, KW, KIL, 0, 1, 0,
196 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
197 	{"", 2, 1 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
198 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
199 	{"", 2, 2 * KW, KIH, KW, KIL, 0, 1, 0,
200 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
201 	{"", 2, 3 * KW, 0, KW, 1000, 0, 1, 0,
202 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
203 	{"", 2, 3 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
204 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
205 	{"", 2, 4 * KW, KIH, KW, KIL, 0, 1, 0,
206 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
207 	{"", 2, 4 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
208 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
209 	{"", 2, 5 * KW, KIH, KW, KIL, 0, 1, 0,
210 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
211 	{"", 2, 5 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
212 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
213 	{"", 2, 6 * KW, KIH, KW, KIL, 0, 1, 0,
214 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
215 
216 	{"", 2, 7 * KW, 0, KW, 1000, 0, 1, 0,
217 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
218 	{"", 2, 7 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
219 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
220 	{"", 2, 8 * KW, KIH, KW, KIL, 0, 1, 0,
221 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
222 	{"", 2, 8 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
223 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
224 	{"", 2, 9 * KW, KIH, KW, KIL, 0, 1, 0,
225 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
226 	{"", 2, 10 * KW, 0, KW, 1000, 0, 1, 0,
227 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
228 	{"", 2, 10 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
229 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
230 	{"", 2, 11 * KW, KIH, KW, KIL, 0, 1, 0,
231 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
232 	{"", 2, 11 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
233 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
234 	{"", 2, 12 * KW, KIH, KW, KIL, 0, 1, 0,
235 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
236 	{"", 2, 12 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
237 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
238 	{"", 2, 13 * KW, KIH, KW, KIL, 0, 1, 0,
239 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
240 
241 	{"", 2, 14 * KW, 0, KW, 1000, 0, 1, 0,
242 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
243 	{"", 2, 14 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
244 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
245 	{"", 2, 15 * KW, KIH, KW, KIL, 0, 1, 0,
246 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
247 	{"", 2, 15 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
248 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
249 	{"", 2, 16 * KW, KIH, KW, KIL, 0, 1, 0,
250 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
251 	{"", 2, 17 * KW, 0, KW, 1000, 0, 1, 0,
252 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
253 	{"", 2, 17 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
254 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
255 	{"", 2, 18 * KW, KIH, KW, KIL, 0, 1, 0,
256 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
257 	{"", 2, 18 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
258 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
259 	{"", 2, 19 * KW, KIH, KW, KIL, 0, 1, 0,
260 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
261 	{"", 2, 19 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
262 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
263 	{"", 2, 20 * KW, KIH, KW, KIL, 0, 1, 0,
264 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
265 
266 	{"", 2, 21 * KW, 0, KW, 1000, 0, 1, 0,
267 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
268 	{"", 2, 21 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
269 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
270 	{"", 2, 22 * KW, KIH, KW, KIL, 0, 1, 0,
271 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
272 	{"", 2, 22 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
273 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
274 	{"", 2, 23 * KW, KIH, KW, KIL, 0, 1, 0,
275 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
276 	{"", 2, 24 * KW, 0, KW, 1000, 0, 1, 0,
277 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
278 	{"", 2, 24 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
279 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
280 	{"", 2, 25 * KW, KIH, KW, KIL, 0, 1, 0,
281 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
282 	{"", 2, 25 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
283 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
284 	{"", 2, 26 * KW, KIH, KW, KIL, 0, 1, 0,
285 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
286 	{"", 2, 26 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
287 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
288 	{"", 2, 27 * KW, KIH, KW, KIL, 0, 1, 0,
289 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
290 
291 	{"", 2, 28 * KW, 0, KW, 1000, 0, 1, 0,
292 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
293 	{"", 2, 28 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
294 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
295 	{"", 2, 29 * KW, KIH, KW, KIL, 0, 1, 0,
296 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
297 	{"", 2, 29 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
298 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
299 	{"", 2, 30 * KW, KIH, KW, KIL, 0, 1, 0,
300 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
301 	{"", 2, 31 * KW, 0, KW, 1000, 0, 1, 0,
302 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
303 	{"", 2, 31 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
304 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
305 	{"", 2, 32 * KW, KIH, KW, KIL, 0, 1, 0,
306 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
307 	{"", 2, 32 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
308 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
309 	{"", 2, 33 * KW, KIH, KW, KIL, 0, 1, 0,
310 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
311 	{"", 2, 33 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
312 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
313 	{"", 2, 34 * KW, KIH, KW, KIL, 0, 1, 0,
314 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
315 
316 	{"", 2, 35 * KW, 0, KW, 1000, 0, 1, 0,
317 		"bitmaps/newkeys/WhiteNHLUp.xpm", "bitmaps/newkeys/WhiteNHLDown.xpm", BRIGHTON_NOSHADOW},
318 }; /* Profiles2 */
319 
320 brightonLocations keysprofile[KEY_COUNT_5OCTAVE] = {
321 	{"", 2, 0 * KW, 0, KW, 1000, 0, 1, 0,
322 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
323 	{"", 2, 0 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
324 		"bitmaps/newkeys/BlackUp4.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
325 	{"", 2, 1 * KW, KIH, KW, KIL, 0, 1, 0,
326 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
327 	{"", 2, 1 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
328 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
329 	{"", 2, 2 * KW, KIH, KW, KIL, 0, 1, 0,
330 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
331 	{"", 2, 3 * KW, 0, KW, 1000, 0, 1, 0,
332 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
333 	{"", 2, 3 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
334 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
335 	{"", 2, 4 * KW, KIH, KW, KIL, 0, 1, 0,
336 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
337 	{"", 2, 4 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
338 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
339 	{"", 2, 5 * KW, KIH, KW, KIL, 0, 1, 0,
340 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
341 	{"", 2, 5 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
342 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
343 	{"", 2, 6 * KW, KIH, KW, KIL, 0, 1, 0,
344 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
345 
346 	{"", 2, 7 * KW, 0, KW, 1000, 0, 1, 0,
347 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
348 	{"", 2, 7 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
349 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
350 	{"", 2, 8 * KW, KIH, KW, KIL, 0, 1, 0,
351 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
352 	{"", 2, 8 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
353 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
354 	{"", 2, 9 * KW, KIH, KW, KIL, 0, 1, 0,
355 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
356 	{"", 2, 10 * KW, 0, KW, 1000, 0, 1, 0,
357 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
358 	{"", 2, 10 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
359 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
360 	{"", 2, 11 * KW, KIH, KW, KIL, 0, 1, 0,
361 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
362 	{"", 2, 11 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
363 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
364 	{"", 2, 12 * KW, KIH, KW, KIL, 0, 1, 0,
365 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
366 	{"", 2, 12 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
367 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
368 	{"", 2, 13 * KW, KIH, KW, KIL, 0, 1, 0,
369 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
370 
371 	{"", 2, 14 * KW, 0, KW, 1000, 0, 1, 0,
372 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
373 	{"", 2, 14 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
374 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
375 	{"", 2, 15 * KW, KIH, KW, KIL, 0, 1, 0,
376 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
377 	{"", 2, 15 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
378 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
379 	{"", 2, 16 * KW, KIH, KW, KIL, 0, 1, 0,
380 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
381 	{"", 2, 17 * KW, 0, KW, 1000, 0, 1, 0,
382 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
383 	{"", 2, 17 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
384 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
385 	{"", 2, 18 * KW, KIH, KW, KIL, 0, 1, 0,
386 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
387 	{"", 2, 18 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
388 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
389 	{"", 2, 19 * KW, KIH, KW, KIL, 0, 1, 0,
390 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
391 	{"", 2, 19 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
392 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
393 	{"", 2, 20 * KW, KIH, KW, KIL, 0, 1, 0,
394 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
395 
396 	{"", 2, 21 * KW, 0, KW, 1000, 0, 1, 0,
397 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
398 	{"", 2, 21 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
399 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
400 	{"", 2, 22 * KW, KIH, KW, KIL, 0, 1, 0,
401 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
402 	{"", 2, 22 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
403 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
404 	{"", 2, 23 * KW, KIH, KW, KIL, 0, 1, 0,
405 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
406 	{"", 2, 24 * KW, 0, KW, 1000, 0, 1, 0,
407 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
408 	{"", 2, 24 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
409 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
410 	{"", 2, 25 * KW, KIH, KW, KIL, 0, 1, 0,
411 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
412 	{"", 2, 25 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
413 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
414 	{"", 2, 26 * KW, KIH, KW, KIL, 0, 1, 0,
415 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
416 	{"", 2, 26 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
417 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
418 	{"", 2, 27 * KW, KIH, KW, KIL, 0, 1, 0,
419 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
420 
421 	{"", 2, 28 * KW, 0, KW, 1000, 0, 1, 0,
422 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
423 	{"", 2, 28 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
424 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
425 	{"", 2, 29 * KW, KIH, KW, KIL, 0, 1, 0,
426 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
427 	{"", 2, 29 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
428 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
429 	{"", 2, 30 * KW, KIH, KW, KIL, 0, 1, 0,
430 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
431 	{"", 2, 31 * KW, 0, KW, 1000, 0, 1, 0,
432 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
433 	{"", 2, 31 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
434 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
435 	{"", 2, 32 * KW, KIH, KW, KIL, 0, 1, 0,
436 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
437 	{"", 2, 32 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
438 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
439 	{"", 2, 33 * KW, KIH, KW, KIL, 0, 1, 0,
440 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
441 	{"", 2, 33 * KW + KW/2, 0, KW, KIH, 0, 1, 0,
442 		"bitmaps/newkeys/BlackUp4.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
443 	{"", 2, 34 * KW, KIH, KW, KIL, 0, 1, 0,
444 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
445 
446 	{"", 2, 35 * KW, 0, KW, 1000, 0, 1, 0,
447 		"bitmaps/newkeys/WhiteHLUp.xpm", "bitmaps/newkeys/WhiteHLDown.xpm", BRIGHTON_NOSHADOW},
448 };
449 
450 #define K6W 1000 / 43
451 #define F6KW 1000 - 43 * KW
452 
453 #define K6FW (K6W * 3 / 4)
454 
455 #define K6MW 13
456 #define K6IW 22
457 #define K6IH 666
458 #define K6IL 334
459 #define K6IS 20
460 
461 brightonLocations keys6octave[KEY_COUNT_6_OCTAVE] = {
462 	{"", 2, 0 * K6W, 0, K6FW, 1000, 0, 1, 0,
463 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
464 	{"", 2, 0 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
465 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
466 	{"", 2, 1 * K6W, KIH, K6W, KIL, 0, 1, 0,
467 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
468 	{"", 2, 1 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
469 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
470 	{"", 2, 2 * K6W, KIH, K6W, KIL, 0, 1, 0,
471 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
472 	{"", 2, 3 * K6W, 0, K6FW, 1000, 0, 1, 0,
473 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
474 	{"", 2, 3 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
475 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
476 	{"", 2, 4 * K6W, KIH, K6W, KIL, 0, 1, 0,
477 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
478 	{"", 2, 4 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
479 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
480 	{"", 2, 5 * K6W, KIH, K6W, KIL, 0, 1, 0,
481 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
482 	{"", 2, 5 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
483 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
484 	{"", 2, 6 * K6W, KIH, K6W, KIL, 0, 1, 0,
485 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
486 
487 	{"", 2, 7 * K6W, 0, K6FW, 1000, 0, 1, 0,
488 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
489 	{"", 2, 7 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
490 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
491 	{"", 2, 8 * K6W, KIH, K6W, KIL, 0, 1, 0,
492 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
493 	{"", 2, 8 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
494 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
495 	{"", 2, 9 * K6W, KIH, K6W, KIL, 0, 1, 0,
496 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
497 	{"", 2, 10 * K6W, 0, K6FW, 1000, 0, 1, 0,
498 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
499 	{"", 2, 10 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
500 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
501 	{"", 2, 11 * K6W, KIH, K6W, KIL, 0, 1, 0,
502 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
503 	{"", 2, 11 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
504 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
505 	{"", 2, 12 * K6W, KIH, K6W, KIL, 0, 1, 0,
506 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
507 	{"", 2, 12 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
508 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
509 	{"", 2, 13 * K6W, KIH, K6W, KIL, 0, 1, 0,
510 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
511 
512 	{"", 2, 14 * K6W, 0, K6FW, 1000, 0, 1, 0,
513 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
514 	{"", 2, 14 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
515 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
516 	{"", 2, 15 * K6W, KIH, K6W, KIL, 0, 1, 0,
517 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
518 	{"", 2, 15 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
519 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
520 	{"", 2, 16 * K6W, KIH, K6W, KIL, 0, 1, 0,
521 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
522 	{"", 2, 17 * K6W, 0, K6FW, 1000, 0, 1, 0,
523 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
524 	{"", 2, 17 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
525 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
526 	{"", 2, 18 * K6W, KIH, K6W, KIL, 0, 1, 0,
527 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
528 	{"", 2, 18 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
529 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
530 	{"", 2, 19 * K6W, KIH, K6W, KIL, 0, 1, 0,
531 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
532 	{"", 2, 19 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
533 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
534 	{"", 2, 20 * K6W, KIH, K6W, KIL, 0, 1, 0,
535 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
536 
537 	{"", 2, 21 * K6W, 0, K6FW, 1000, 0, 1, 0,
538 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
539 	{"", 2, 21 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
540 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
541 	{"", 2, 22 * K6W, KIH, K6W, KIL, 0, 1, 0,
542 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
543 	{"", 2, 22 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
544 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
545 	{"", 2, 23 * K6W, KIH, K6W, KIL, 0, 1, 0,
546 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
547 	{"", 2, 24 * K6W, 0, K6FW, 1000, 0, 1, 0,
548 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
549 	{"", 2, 24 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
550 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
551 	{"", 2, 25 * K6W, KIH, K6W, KIL, 0, 1, 0,
552 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
553 	{"", 2, 25 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
554 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
555 	{"", 2, 26 * K6W, KIH, K6W, KIL, 0, 1, 0,
556 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
557 	{"", 2, 26 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
558 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
559 	{"", 2, 27 * K6W, KIH, K6W, KIL, 0, 1, 0,
560 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
561 
562 	{"", 2, 28 * K6W, 0, K6FW, 1000, 0, 1, 0,
563 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
564 	{"", 2, 28 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
565 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
566 	{"", 2, 29 * K6W, KIH, K6W, KIL, 0, 1, 0,
567 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
568 	{"", 2, 29 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
569 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
570 	{"", 2, 30 * K6W, KIH, K6W, KIL, 0, 1, 0,
571 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
572 	{"", 2, 31 * K6W, 0, K6FW, 1000, 0, 1, 0,
573 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
574 	{"", 2, 31 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
575 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
576 	{"", 2, 32 * K6W, KIH, K6W, KIL, 0, 1, 0,
577 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
578 	{"", 2, 32 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
579 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
580 	{"", 2, 33 * K6W, KIH, K6W, KIL, 0, 1, 0,
581 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
582 	{"", 2, 33 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
583 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
584 	{"", 2, 34 * K6W, KIH, K6W, KIL, 0, 1, 0,
585 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
586 
587 	{"", 2, 35 * K6W, 0, K6FW, 1000, 0, 1, 0,
588 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
589 	{"", 2, 35 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
590 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
591 	{"", 2, 36 * K6W, KIH, K6W, KIL, 0, 1, 0,
592 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
593 	{"", 2, 36 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
594 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
595 	{"", 2, 37 * K6W, KIH, K6W, KIL, 0, 1, 0,
596 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
597 	{"", 2, 38 * K6W, 0, K6FW, 1000, 0, 1, 0,
598 		"bitmaps/newkeys/WhiteDFUp.xpm", "bitmaps/newkeys/WhiteDFDown.xpm", BRIGHTON_NOSHADOW},
599 	{"", 2, 38 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
600 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
601 	{"", 2, 39 * K6W, KIH, K6W, KIL, 0, 1, 0,
602 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
603 	{"", 2, 39 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
604 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
605 	{"", 2, 40 * K6W, KIH, K6W, KIL, 0, 1, 0,
606 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
607 	{"", 2, 40 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
608 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
609 	{"", 2, 41 * K6W, KIH, K6W, KIL, 0, 1, 0,
610 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
611 
612 	{"", 2, 42 * K6W, 0, K6W, 1000, 0, 1, 0,
613 		"bitmaps/newkeys/WhiteLUp.xpm", "bitmaps/newkeys/WhiteLDown.xpm", BRIGHTON_NOSHADOW},
614 };
615 
616 /*
617  * These were done for the newer hammond keys but will be used elsewhere
618  */
619 brightonLocations keys6hammond[KEY_COUNT_6_OCTAVE] = {
620 	{"", 2, 0 * K6W, 0, K6W, 1000, 0, 1, 0,
621 		"bitmaps/newkeys/WhiteFRUp.xpm", "bitmaps/newkeys/WhiteFRDown.xpm", BRIGHTON_NOSHADOW},
622 	{"", 2, 0 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
623 		"bitmaps/newkeys/BlackRUp.xpm", "bitmaps/newkeys/BlackRDown.xpm", BRIGHTON_NOSHADOW},
624 	{"", 2, 1 * K6W, KIH, K6W, KIL, 0, 1, 0,
625 		"bitmaps/newkeys/WhiteRUp.xpm", "bitmaps/newkeys/WhiteRDown.xpm", BRIGHTON_NOSHADOW},
626 	{"", 2, 1 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
627 		"bitmaps/newkeys/BlackRUp.xpm", "bitmaps/newkeys/BlackRDown.xpm", BRIGHTON_NOSHADOW},
628 	{"", 2, 2 * K6W, KIH, K6W, KIL, 0, 1, 0,
629 		"bitmaps/newkeys/WhiteRUp.xpm", "bitmaps/newkeys/WhiteRDown.xpm", BRIGHTON_NOSHADOW},
630 	{"", 2, 3 * K6W, 0, K6W, 1000, 0, 1, 0,
631 		"bitmaps/newkeys/WhiteFRUp.xpm", "bitmaps/newkeys/WhiteFRDown.xpm", BRIGHTON_NOSHADOW},
632 	{"", 2, 3 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
633 		"bitmaps/newkeys/BlackRUp.xpm", "bitmaps/newkeys/BlackRDown.xpm", BRIGHTON_NOSHADOW},
634 	{"", 2, 4 * K6W, KIH, K6W, KIL, 0, 1, 0,
635 		"bitmaps/newkeys/WhiteRUp.xpm", "bitmaps/newkeys/WhiteRDown.xpm", BRIGHTON_NOSHADOW},
636 	{"", 2, 4 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
637 		"bitmaps/newkeys/BlackRUp.xpm", "bitmaps/newkeys/BlackRDown.xpm", BRIGHTON_NOSHADOW},
638 	{"", 2, 5 * K6W, KIH, K6W, KIL, 0, 1, 0,
639 		"bitmaps/newkeys/WhiteRUp.xpm", "bitmaps/newkeys/WhiteRDown.xpm", BRIGHTON_NOSHADOW},
640 	{"", 2, 5 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
641 		"bitmaps/newkeys/BlackRUp.xpm", "bitmaps/newkeys/BlackRDown.xpm", BRIGHTON_NOSHADOW},
642 	{"", 2, 6 * K6W, KIH, K6W, KIL, 0, 1, 0,
643 		"bitmaps/newkeys/WhiteRUp.xpm", "bitmaps/newkeys/WhiteRDown.xpm", BRIGHTON_NOSHADOW},
644 
645 	{"", 2, 7 * K6W, 0, K6W, 1000, 0, 1, 0,
646 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
647 	{"", 2, 7 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
648 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
649 	{"", 2, 8 * K6W, KIH, K6W, KIL, 0, 1, 0,
650 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
651 	{"", 2, 8 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
652 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
653 	{"", 2, 9 * K6W, KIH, K6W, KIL, 0, 1, 0,
654 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
655 	{"", 2, 10 * K6W, 0, K6W, 1000, 0, 1, 0,
656 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
657 	{"", 2, 10 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
658 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
659 	{"", 2, 11 * K6W, KIH, K6W, KIL, 0, 1, 0,
660 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
661 	{"", 2, 11 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
662 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
663 	{"", 2, 12 * K6W, KIH, K6W, KIL, 0, 1, 0,
664 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
665 	{"", 2, 12 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
666 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
667 	{"", 2, 13 * K6W, KIH, K6W, KIL, 0, 1, 0,
668 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
669 
670 	{"", 2, 14 * K6W, 0, K6W, 1000, 0, 1, 0,
671 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
672 	{"", 2, 14 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
673 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
674 	{"", 2, 15 * K6W, KIH, K6W, KIL, 0, 1, 0,
675 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
676 	{"", 2, 15 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
677 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
678 	{"", 2, 16 * K6W, KIH, K6W, KIL, 0, 1, 0,
679 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
680 	{"", 2, 17 * K6W, 0, K6W, 1000, 0, 1, 0,
681 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
682 	{"", 2, 17 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
683 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
684 	{"", 2, 18 * K6W, KIH, K6W, KIL, 0, 1, 0,
685 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
686 	{"", 2, 18 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
687 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
688 	{"", 2, 19 * K6W, KIH, K6W, KIL, 0, 1, 0,
689 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
690 	{"", 2, 19 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
691 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
692 	{"", 2, 20 * K6W, KIH, K6W, KIL, 0, 1, 0,
693 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
694 
695 	{"", 2, 21 * K6W, 0, K6W, 1000, 0, 1, 0,
696 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
697 	{"", 2, 21 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
698 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
699 	{"", 2, 22 * K6W, KIH, K6W, KIL, 0, 1, 0,
700 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
701 	{"", 2, 22 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
702 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
703 	{"", 2, 23 * K6W, KIH, K6W, KIL, 0, 1, 0,
704 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
705 	{"", 2, 24 * K6W, 0, K6W, 1000, 0, 1, 0,
706 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
707 	{"", 2, 24 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
708 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
709 	{"", 2, 25 * K6W, KIH, K6W, KIL, 0, 1, 0,
710 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
711 	{"", 2, 25 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
712 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
713 	{"", 2, 26 * K6W, KIH, K6W, KIL, 0, 1, 0,
714 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
715 	{"", 2, 26 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
716 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
717 	{"", 2, 27 * K6W, KIH, K6W, KIL, 0, 1, 0,
718 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
719 
720 	{"", 2, 28 * K6W, 0, K6W, 1000, 0, 1, 0,
721 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
722 	{"", 2, 28 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
723 		"bitmaps/newkeys/BlackUp2.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
724 	{"", 2, 29 * K6W, KIH, K6W, KIL, 0, 1, 0,
725 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
726 	{"", 2, 29 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
727 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
728 	{"", 2, 30 * K6W, KIH, K6W, KIL, 0, 1, 0,
729 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
730 	{"", 2, 31 * K6W, 0, K6W, 1000, 0, 1, 0,
731 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
732 	{"", 2, 31 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
733 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
734 	{"", 2, 32 * K6W, KIH, K6W, KIL, 0, 1, 0,
735 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
736 	{"", 2, 32 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
737 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
738 	{"", 2, 33 * K6W, KIH, K6W, KIL, 0, 1, 0,
739 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
740 	{"", 2, 33 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
741 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
742 	{"", 2, 34 * K6W, KIH, K6W, KIL, 0, 1, 0,
743 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
744 
745 	{"", 2, 35 * K6W, 0, K6W, 1000, 0, 1, 0,
746 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
747 	{"", 2, 35 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
748 		"bitmaps/newkeys/BlackUp3.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
749 	{"", 2, 36 * K6W, KIH, K6W, KIL, 0, 1, 0,
750 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
751 	{"", 2, 36 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
752 		"bitmaps/newkeys/BlackUp4.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
753 	{"", 2, 37 * K6W, KIH, K6W, KIL, 0, 1, 0,
754 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
755 	{"", 2, 38 * K6W, 0, K6W, 1000, 0, 1, 0,
756 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
757 	{"", 2, 38 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
758 		"bitmaps/newkeys/BlackUp4.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
759 	{"", 2, 39 * K6W, KIH, K6W, KIL, 0, 1, 0,
760 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
761 	{"", 2, 39 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
762 		"bitmaps/newkeys/BlackUp4.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
763 	{"", 2, 40 * K6W, KIH, K6W, KIL, 0, 1, 0,
764 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
765 	{"", 2, 40 * K6W + K6W/2, 0, K6W, KIH, 0, 1, 0,
766 		"bitmaps/newkeys/BlackUp4.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
767 	{"", 2, 41 * K6W, KIH, K6W, KIL, 0, 1, 0,
768 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
769 
770 	{"", 2, 42 * K6W, 0, K6W, 1000, 0, 1, 0,
771 		"bitmaps/newkeys/WhiteHLUp.xpm", "bitmaps/newkeys/WhiteHLDown.xpm", BRIGHTON_NOSHADOW},
772 };
773 
774 #define K2W (1000 / 17)
775 #define K2FW (K2W * 3 / 4)
776 
777 #define K2MW 18
778 #define K2IW 40
779 #define K2IH 600
780 #define K2IL 410
781 #define K2IS 33
782 
783 brightonLocations keys2octave[KEY_COUNT_2OCTAVE] = {
784 	{"", 2, 0 * K2W, 0, K2FW, 1000, 0, 1, 0,
785 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
786 	{"", 2, 0 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
787 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
788 	{"", 2, 1 * K2W, KIH, K2W, KIL, 0, 1, 0,
789 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
790 	{"", 2, 1 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
791 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
792 	{"", 2, 2 * K2W, KIH, K2W, KIL, 0, 1, 0,
793 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
794 	{"", 2, 3 * K2W, 0, K2FW, 1000, 0, 1, 0,
795 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
796 	{"", 2, 3 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
797 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
798 	{"", 2, 4 * K2W, KIH, K2W, KIL, 0, 1, 0,
799 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
800 	{"", 2, 4 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
801 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
802 	{"", 2, 5 * K2W, KIH, K2W, KIL, 0, 1, 0,
803 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
804 	{"", 2, 5 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
805 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
806 	{"", 2, 6 * K2W, KIH, K2W, KIL, 0, 1, 0,
807 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
808 
809 	{"", 2, 7 * K2W, 0, K2FW, 1000, 0, 1, 0,
810 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
811 	{"", 2, 7 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
812 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
813 	{"", 2, 8 * K2W, KIH, K2W, KIL, 0, 1, 0,
814 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
815 	{"", 2, 8 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
816 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
817 	{"", 2, 9 * K2W, KIH, K2W, KIL, 0, 1, 0,
818 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
819 	{"", 2, 10 * K2W, 0, K2FW, 1000, 0, 1, 0,
820 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
821 	{"", 2, 10 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
822 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
823 	{"", 2, 11 * K2W, KIH, K2W, KIL, 0, 1, 0,
824 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
825 	{"", 2, 11 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
826 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
827 	{"", 2, 12 * K2W, KIH, K2W, KIL, 0, 1, 0,
828 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
829 	{"", 2, 12 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
830 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
831 	{"", 2, 13 * K2W, KIH, K2W, KIL, 0, 1, 0,
832 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
833 
834 	{"", 2, 14 * K2W, 0, K2FW, 1000, 0, 1, 0,
835 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
836 	{"", 2, 14 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
837 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
838 	{"", 2, 15 * K2W, KIH, K2W, KIL, 0, 1, 0,
839 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
840 	{"", 2, 15 * K2W + K2W/2, 0, K2W, KIH, 0, 1, 0,
841 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
842 	{"", 2, 16 * K2W, KIH, K2W, KIL, 0, 1, 0,
843 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
844 /*	{"", 2, 17 * K2W, 0, K2FW, 1000, 0, 1, 0, */
845 /*		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW}, */
846 };
847 
848 #define K22W (1000 / 19)
849 #define K22FW (K22W * 3 / 4)
850 
851 #define K22MW 18
852 #define K22IW 40
853 #define K22IH 600
854 #define K22IL 410
855 #define K22IS 33
856 
857 brightonLocations keys2octave2[KEY_COUNT_2OCTAVE2] = {
858 	{"", 2, 0 * K22W, 0, K22FW, 1000, 0, 1, 0,
859 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
860 	{"", 2, 0 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
861 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
862 	{"", 2, 1 * K22W, KIH, K22W, KIL, 0, 1, 0,
863 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
864 	{"", 2, 1 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
865 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
866 	{"", 2, 2 * K22W, KIH, K22W, KIL, 0, 1, 0,
867 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
868 	{"", 2, 2 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
869 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
870 	{"", 2, 3 * K22W, KIH, K22W, KIL, 0, 1, 0,
871 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
872 	{"", 2, 4 * K22W, 0, K22FW, 1000, 0, 1, 0,
873 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
874 	{"", 2, 4 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
875 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
876 	{"", 2, 5 * K22W, KIH, K22W, KIL, 0, 1, 0,
877 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
878 	{"", 2, 5 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
879 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
880 	{"", 2, 6 * K22W, KIH, K22W, KIL, 0, 1, 0,
881 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
882 
883 	{"", 2, 7 * K22W, 0, K22FW, 1000, 0, 1, 0,
884 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
885 	{"", 2, 7 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
886 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
887 	{"", 2, 8 * K22W, KIH, K22W, KIL, 0, 1, 0,
888 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
889 	{"", 2, 8 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
890 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
891 	{"", 2, 9 * K22W, KIH, K22W, KIL, 0, 1, 0,
892 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
893 	{"", 2, 9 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
894 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
895 	{"", 2, 10 * K22W, KIH, K22W, KIL, 0, 1, 0,
896 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
897 	{"", 2, 11 * K22W, 0, K22FW, 1000, 0, 1, 0,
898 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
899 	{"", 2, 11 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
900 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
901 	{"", 2, 12 * K22W, KIH, K22W, KIL, 0, 1, 0,
902 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
903 	{"", 2, 12 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
904 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
905 	{"", 2, 13 * K22W, KIH, K22W, KIL, 0, 1, 0,
906 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
907 
908 	{"", 2, 14 * K22W, 0, K22FW, 1000, 0, 1, 0,
909 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
910 	{"", 2, 14 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
911 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
912 	{"", 2, 15 * K22W, KIH, K22W, KIL, 0, 1, 0,
913 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
914 	{"", 2, 15 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
915 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
916 	{"", 2, 16 * K22W, KIH, K22W, KIL, 0, 1, 0,
917 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
918 	{"", 2, 16 * K22W + K22W/2, 0, K22W, KIH, 0, 1, 0,
919 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
920 	{"", 2, 17 * K22W, KIH, K22W, KIL, 0, 1, 0,
921 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
922 
923 	{"", 2, 18 * K22W, 0, K22W, 1000, 0, 1, 0,
924 		"bitmaps/newkeys/WhiteLUp.xpm", "bitmaps/newkeys/WhiteLDown.xpm", BRIGHTON_NOSHADOW},
925 };
926 
927 #define K3W (1000 / 26)
928 //#define K3FW (K3W * 3 / 4)
929 #define K3FW K3W
930 
931 #define K3MW 18
932 #define K3IW 40
933 #define K3IH 650
934 #define K3IL 350
935 #define K3IS 33
936 
937 brightonLocations keys3octave[KEY_COUNT_3OCTAVE] = {
938 	{"", 2, 0 * K3W, 0, K3FW, 1000, 0, 1, 0,
939 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
940 	{"", 2, 0 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
941 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
942 	{"", 2, 1 * K3W, KIH, K3W, KIL, 0, 1, 0,
943 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
944 	{"", 2, 1 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
945 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
946 	{"", 2, 2 * K3W, KIH, K3W, KIL, 0, 1, 0,
947 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
948 	{"", 2, 3 * K3W, 0, K3FW, 1000, 0, 1, 0,
949 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
950 	{"", 2, 3 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
951 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
952 	{"", 2, 4 * K3W, KIH, K3W, KIL, 0, 1, 0,
953 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
954 	{"", 2, 4 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
955 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
956 	{"", 2, 5 * K3W, KIH, K3W, KIL, 0, 1, 0,
957 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
958 	{"", 2, 5 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
959 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
960 	{"", 2, 6 * K3W, KIH, K3W, KIL, 0, 1, 0,
961 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
962 
963 	{"", 2, 7 * K3W, 0, K3FW, 1000, 0, 1, 0,
964 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
965 	{"", 2, 7 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
966 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
967 	{"", 2, 8 * K3W, KIH, K3W, KIL, 0, 1, 0,
968 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
969 	{"", 2, 8 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
970 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
971 	{"", 2, 9 * K3W, KIH, K3W, KIL, 0, 1, 0,
972 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
973 	{"", 2, 10 * K3W, 0, K3FW, 1000, 0, 1, 0,
974 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
975 	{"", 2, 10 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
976 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
977 	{"", 2, 11 * K3W, KIH, K3W, KIL, 0, 1, 0,
978 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
979 	{"", 2, 11 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
980 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
981 	{"", 2, 12 * K3W, KIH, K3W, KIL, 0, 1, 0,
982 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
983 	{"", 2, 12 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
984 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
985 	{"", 2, 13 * K3W, KIH, K3W, KIL, 0, 1, 0,
986 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
987 
988 	{"", 2, 14 * K3W, 0, K3FW, 1000, 0, 1, 0,
989 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
990 	{"", 2, 14 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
991 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
992 	{"", 2, 15 * K3W, KIH, K3W, KIL, 0, 1, 0,
993 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
994 	{"", 2, 15 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
995 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
996 	{"", 2, 16 * K3W, KIH, K3W, KIL, 0, 1, 0,
997 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
998 	{"", 2, 17 * K3W, 0, K3FW, 1000, 0, 1, 0,
999 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
1000 	{"", 2, 17 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
1001 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1002 	{"", 2, 18 * K3W, KIH, K3W, KIL, 0, 1, 0,
1003 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
1004 	{"", 2, 18 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
1005 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1006 	{"", 2, 19 * K3W, KIH, K3W, KIL, 0, 1, 0,
1007 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
1008 	{"", 2, 19 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
1009 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1010 	{"", 2, 20 * K3W, KIH, K3W, KIL, 0, 1, 0,
1011 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
1012 
1013 	{"", 2, 21 * K3W, 0, K3FW, 1000, 0, 1, 0,
1014 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
1015 	{"", 2, 21 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
1016 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1017 	{"", 2, 22 * K3W, KIH, K3W, KIL, 0, 1, 0,
1018 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
1019 	{"", 2, 22 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
1020 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1021 	{"", 2, 23 * K3W, KIH, K3W, KIL, 0, 1, 0,
1022 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
1023 	{"", 2, 24 * K3W, 0, K3FW, 1000, 0, 1, 0,
1024 		"bitmaps/newkeys/WhiteFUp.xpm", "bitmaps/newkeys/WhiteFDown.xpm", BRIGHTON_NOSHADOW},
1025 	{"", 2, 24 * K3W + K3W/2, 0, K3W, KIH, 0, 1, 0,
1026 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1027 	{"", 2, 25 * K3W, KIH, K3W, KIL, 0, 1, 0,
1028 		"bitmaps/newkeys/WhiteUp.xpm", "bitmaps/newkeys/WhiteDown.xpm", BRIGHTON_NOSHADOW},
1029 };
1030 
1031 brightonLocations keys3octave2[KEY_COUNT_3OCTAVE] = {
1032 	{"", 2, 0 * K3W, 0, K3FW, 1000, 0, 1, 0,
1033 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1034 	{"", 2, 0 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1035 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1036 	{"", 2, 1 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1037 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1038 	{"", 2, 1 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1039 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1040 	{"", 2, 2 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1041 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1042 	{"", 2, 3 * K3W, 0, K3FW, 1000, 0, 1, 0,
1043 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1044 	{"", 2, 3 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1045 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1046 	{"", 2, 4 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1047 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1048 	{"", 2, 4 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1049 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1050 	{"", 2, 5 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1051 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1052 	{"", 2, 5 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1053 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1054 	{"", 2, 6 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1055 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1056 
1057 	{"", 2, 7 * K3W, 0, K3FW, 1000, 0, 1, 0,
1058 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1059 	{"", 2, 7 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1060 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1061 	{"", 2, 8 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1062 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1063 	{"", 2, 8 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1064 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1065 	{"", 2, 9 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1066 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1067 	{"", 2, 10 * K3W, 0, K3FW, 1000, 0, 1, 0,
1068 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1069 	{"", 2, 10 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1070 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1071 	{"", 2, 11 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1072 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1073 	{"", 2, 11 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1074 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1075 	{"", 2, 12 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1076 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1077 	{"", 2, 12 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1078 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1079 	{"", 2, 13 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1080 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1081 
1082 	{"", 2, 14 * K3W, 0, K3FW, 1000, 0, 1, 0,
1083 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1084 	{"", 2, 14 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1085 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1086 	{"", 2, 15 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1087 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1088 	{"", 2, 15 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1089 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1090 	{"", 2, 16 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1091 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1092 	{"", 2, 17 * K3W, 0, K3FW, 1000, 0, 1, 0,
1093 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1094 	{"", 2, 17 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1095 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1096 	{"", 2, 18 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1097 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1098 	{"", 2, 18 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1099 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1100 	{"", 2, 19 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1101 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1102 	{"", 2, 19 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1103 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1104 	{"", 2, 20 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1105 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1106 
1107 	{"", 2, 21 * K3W, 0, K3FW, 1000, 0, 1, 0,
1108 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1109 	{"", 2, 21 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1110 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1111 	{"", 2, 22 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1112 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1113 	{"", 2, 22 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1114 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1115 	{"", 2, 23 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1116 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1117 	{"", 2, 24 * K3W, 0, K3FW, 1000, 0, 1, 0,
1118 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1119 	{"", 2, 24 * K3W + K3W/2, 0, K3W, K3IH, 0, 1, 0,
1120 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1121 	{"", 2, 25 * K3W, K3IH, K3W, K3IL, 0, 1, 0,
1122 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1123 };
1124 
1125 #define K3PW (1000 / 22)
1126 //#define K3PFW (K3PW * 3 / 4)
1127 #define K3PFW K3PW
1128 
1129 #define K3PMW 18
1130 #define K3PIW 40
1131 #define K3PIH 630
1132 #define K3PIL 370
1133 #define K3PIS 33
1134 
1135 brightonLocations keys3_octave[KEY_COUNT_3_OCTAVE] = {
1136 	{"", 2, 0 * K3PW, 0, K3PFW, 1000, 0, 1, 0,
1137 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1138 	{"", 2, 0 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1139 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1140 	{"", 2, 1 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1141 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1142 	{"", 2, 1 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1143 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1144 	{"", 2, 2 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1145 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1146 	{"", 2, 3 * K3PW, 0, K3PFW, 1000, 0, 1, 0,
1147 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1148 	{"", 2, 3 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1149 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1150 	{"", 2, 4 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1151 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1152 	{"", 2, 4 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1153 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1154 	{"", 2, 5 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1155 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1156 	{"", 2, 5 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1157 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1158 	{"", 2, 6 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1159 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1160 
1161 	{"", 2, 7 * K3PW, 0, K3PFW, 1000, 0, 1, 0,
1162 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1163 	{"", 2, 7 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1164 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1165 	{"", 2, 8 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1166 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1167 	{"", 2, 8 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1168 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1169 	{"", 2, 9 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1170 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1171 	{"", 2, 10 * K3PW, 0, K3PFW, 1000, 0, 1, 0,
1172 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1173 	{"", 2, 10 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1174 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1175 	{"", 2, 11 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1176 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1177 	{"", 2, 11 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1178 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1179 	{"", 2, 12 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1180 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1181 	{"", 2, 12 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1182 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1183 	{"", 2, 13 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1184 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1185 
1186 	{"", 2, 14 * K3PW, 0, K3PFW, 1000, 0, 1, 0,
1187 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1188 	{"", 2, 14 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1189 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1190 	{"", 2, 15 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1191 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1192 	{"", 2, 15 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1193 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1194 	{"", 2, 16 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1195 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1196 	{"", 2, 17 * K3PW, 0, K3PFW, 1000, 0, 1, 0,
1197 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1198 	{"", 2, 17 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1199 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1200 	{"", 2, 18 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1201 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1202 	{"", 2, 18 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1203 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1204 	{"", 2, 19 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1205 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1206 	{"", 2, 19 * K3PW + K3PW/2, 0, K3PW, K3PIH, 0, 1, 0,
1207 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1208 	{"", 2, 20 * K3PW, K3PIH, K3PW, K3PIL, 0, 1, 0,
1209 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1210 
1211 	{"", 2, 21 * K3PW, 0, K3PFW - 2, 1000, 0, 1, 0,
1212 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1213 };
1214 
1215 #define KVW 1000 / 28
1216 
1217 #define KVMW 18
1218 #define KVIW 40
1219 #define KVIH 600
1220 #define KVIL 410
1221 #define KVIS 33
1222 
1223 brightonLocations vkeys[VKEY_COUNT] = {
1224 	{"", 2, 0 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1225 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1226 	{"", 2, 0 * KVW, 0, KVIW + 7, KVIH, 0, 1, 0,
1227 		"bitmaps/keys/brevup.xpm", "bitmaps/keys/brevdown.xpm", BRIGHTON_NOSHADOW},
1228 	{"", 2, 1 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1229 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1230 	{"", 2, 1 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1231 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1232 	{"", 2, 2 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1233 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1234 	{"", 2, 3 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1235 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1236 	{"", 2, 3 * KVW, 0, KVIW + 10, KVIH, 0, 1, 0,
1237 		"bitmaps/keys/brevup.xpm", "bitmaps/keys/brevdown.xpm", BRIGHTON_NOSHADOW},
1238 	{"", 2, 4 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1239 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1240 	{"", 2, 4 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1241 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1242 	{"", 2, 5 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1243 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1244 	{"", 2, 5 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1245 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1246 	{"", 2, 6 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1247 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1248 
1249 	{"", 2, 7 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1250 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1251 	{"", 2, 7 * KVW, 0, KVIW + 7, KVIH, 0, 1, 0,
1252 		"bitmaps/keys/brevup.xpm", "bitmaps/keys/brevdown.xpm", BRIGHTON_NOSHADOW},
1253 	{"", 2, 8 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1254 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1255 	{"", 2, 8 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1256 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1257 	{"", 2, 9 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1258 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1259 	{"", 2, 10 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1260 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1261 	{"", 2, 10 * KVW, 0, KVIW + 10, KVIH, 0, 1, 0,
1262 		"bitmaps/keys/brevup.xpm", "bitmaps/keys/brevdown.xpm", BRIGHTON_NOSHADOW},
1263 	{"", 2, 11 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1264 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1265 	{"", 2, 11 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1266 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1267 	{"", 2, 12 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1268 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1269 	{"", 2, 12 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1270 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1271 	{"", 2, 13 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1272 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1273 
1274 	{"", 2, 14 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1275 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1276 	{"", 2, 14 * KVW, 0, KVIW + 7, KVIH, 0, 1, 0,
1277 		"bitmaps/keys/brevup.xpm", "bitmaps/keys/brevdown.xpm", BRIGHTON_NOSHADOW},
1278 	{"", 2, 15 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1279 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1280 	{"", 2, 15 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1281 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1282 	{"", 2, 16 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1283 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1284 	{"", 2, 17 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1285 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1286 	{"", 2, 17 * KVW, 0, KVIW + 10, KVIH, 0, 1, 0,
1287 		"bitmaps/keys/brevup.xpm", "bitmaps/keys/brevdown.xpm", BRIGHTON_NOSHADOW},
1288 	{"", 2, 18 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1289 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1290 	{"", 2, 18 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1291 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1292 	{"", 2, 19 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1293 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1294 	{"", 2, 19 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1295 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1296 	{"", 2, 20 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1297 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1298 
1299 	{"", 2, 21 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1300 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1301 	{"", 2, 21 * KVW, 0, KVIW + 7, KVIH, 0, 1, 0,
1302 		"bitmaps/keys/brevup.xpm", "bitmaps/keys/brevdown.xpm", BRIGHTON_NOSHADOW},
1303 	{"", 2, 22 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1304 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1305 	{"", 2, 22 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1306 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1307 	{"", 2, 23 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1308 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1309 	{"", 2, 24 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1310 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1311 	{"", 2, 24 * KVW, 0, KVIW + 10, KVIH, 0, 1, 0,
1312 		"bitmaps/keys/brevup.xpm", "bitmaps/keys/brevdown.xpm", BRIGHTON_NOSHADOW},
1313 	{"", 2, 25 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1314 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1315 	{"", 2, 25 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1316 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1317 	{"", 2, 26 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1318 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1319 	{"", 2, 26 * KVW + KVIS, 0, KVMW, KVIH, 0, 1, 0,
1320 		"bitmaps/keys/brevmup.xpm", "bitmaps/keys/brevmdown.xpm", BRIGHTON_NOSHADOW},
1321 	{"", 2, 27 * KVW, KVIH, KVW, KVIL, 0, 1, 0,
1322 		"bitmaps/keys/wrevup.xpm", "bitmaps/keys/wrevdown.xpm", BRIGHTON_NOSHADOW},
1323 };
1324 
1325 #define K4W 1000 / 29
1326 #define K4WB (K4W)
1327 #define K4WC (K4W)
1328 
1329 #define K4MW 18
1330 #define K4IW 40
1331 #define K4IH 600
1332 #define K4IL 410
1333 #define K4IS 33
1334 
1335 #define K4C0 0
1336 #define K4C1 (K4C0 + K4WB)
1337 #define K4C2 (K4C1 + K4WB)
1338 #define K4C3 (K4C2 + K4WB)
1339 #define K4C4 (K4C3 + K4WB)
1340 #define K4C5 (K4C4 + K4WB)
1341 #define K4C6 (K4C5 + K4WB)
1342 #define K4C7 (K4C6 + K4WB)
1343 #define K4C8 (K4C7 + K4WB)
1344 #define K4C9 (K4C8 + K4WB)
1345 #define K4C10 (K4C9 + K4WB)
1346 #define K4C11 (K4C10 + K4WB)
1347 #define K4C12 (K4C11 + K4WB)
1348 #define K4C13 (K4C12 + K4WB)
1349 #define K4C14 (K4C13 + K4WB)
1350 #define K4C15 (K4C14 + K4WB)
1351 #define K4C16 (K4C15 + K4WB)
1352 #define K4C17 (K4C16 + K4WB)
1353 #define K4C18 (K4C17 + K4WB)
1354 #define K4C19 (K4C18 + K4WB)
1355 #define K4C20 (K4C19 + K4WB)
1356 #define K4C21 (K4C20 + K4WB)
1357 #define K4C22 (K4C21 + K4WB)
1358 #define K4C23 (K4C22 + K4WB)
1359 #define K4C24 (K4C23 + K4WB)
1360 #define K4C25 (K4C24 + K4WB)
1361 #define K4C26 (K4C25 + K4WB)
1362 #define K4C27 (K4C26 + K4WB)
1363 #define K4C28 (K4C27 + K4WB)
1364 
1365 brightonLocations keys4octave2[KEY_COUNT_4OCTAVE] = {
1366 	{"", 2, K4C0, 0, K4WC, 1000, 0, 1, 0,
1367 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1368 	{"", 2, K4C0 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1369 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1370 	{"", 2, K4C1, K4IH, K4WC, K4IL, 0, 1, 0,
1371 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1372 	{"", 2, K4C1 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1373 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1374 	{"", 2, K4C2, K4IH, K4WC, K4IL, 0, 1, 0,
1375 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1376 	{"", 2, K4C3, 0, K4WC, 1000, 0, 1, 0,
1377 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1378 	{"", 2, K4C3 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1379 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1380 	{"", 2, K4C4, K4IH, K4WC, K4IL, 0, 1, 0,
1381 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1382 	{"", 2, K4C4 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1383 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1384 	{"", 2, K4C5, K4IH, K4WC, K4IL, 0, 1, 0,
1385 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1386 	{"", 2, K4C5 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1387 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1388 	{"", 2, K4C6, K4IH, K4WC, K4IL, 0, 1, 0,
1389 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1390 
1391 	{"", 2, K4C7, 0, K4WC, 1000, 0, 1, 0,
1392 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1393 	{"", 2, K4C7 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1394 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1395 	{"", 2, K4C8, K4IH, K4WC, K4IL, 0, 1, 0,
1396 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1397 	{"", 2, K4C8 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1398 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1399 	{"", 2, K4C9, K4IH, K4WC, K4IL, 0, 1, 0,
1400 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1401 	{"", 2, K4C10, 0, K4WC, 1000, 0, 1, 0,
1402 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1403 	{"", 2, K4C10 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1404 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1405 	{"", 2, K4C11, K4IH, K4WC, K4IL, 0, 1, 0,
1406 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1407 	{"", 2, K4C11 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1408 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1409 	{"", 2, K4C12, K4IH, K4WC, K4IL, 0, 1, 0,
1410 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1411 	{"", 2, K4C12 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1412 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1413 	{"", 2, K4C13, K4IH, K4WC, K4IL, 0, 1, 0,
1414 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1415 
1416 	{"", 2, K4C14, 0, K4WC, 1000, 0, 1, 0,
1417 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1418 	{"", 2, K4C14 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1419 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1420 	{"", 2, K4C15, K4IH, K4WC, K4IL, 0, 1, 0,
1421 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1422 	{"", 2, K4C15 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1423 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1424 	{"", 2, K4C16, K4IH, K4WC, K4IL, 0, 1, 0,
1425 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1426 	{"", 2, K4C17, 0, K4WC, 1000, 0, 1, 0,
1427 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1428 	{"", 2, K4C17 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1429 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1430 	{"", 2, K4C18, K4IH, K4WC, K4IL, 0, 1, 0,
1431 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1432 	{"", 2, K4C18 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1433 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1434 	{"", 2, K4C19, K4IH, K4WC, K4IL, 0, 1, 0,
1435 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1436 	{"", 2, K4C19 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1437 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1438 	{"", 2, K4C20, K4IH, K4WC, K4IL, 0, 1, 0,
1439 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1440 
1441 	{"", 2, K4C21, 0, K4WC, 1000, 0, 1, 0,
1442 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1443 	{"", 2, K4C21 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1444 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1445 	{"", 2, K4C22, K4IH, K4WC, K4IL, 0, 1, 0,
1446 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1447 	{"", 2, K4C22 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1448 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1449 	{"", 2, K4C23, K4IH, K4WC, K4IL, 0, 1, 0,
1450 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1451 	{"", 2, K4C24, 0, K4WC, 1000, 0, 1, 0,
1452 		"bitmaps/newkeys/WhiteNHFUp.xpm", "bitmaps/newkeys/WhiteNHFDown.xpm", BRIGHTON_NOSHADOW},
1453 	{"", 2, K4C24 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1454 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1455 	{"", 2, K4C25, K4IH, K4WC, K4IL, 0, 1, 0,
1456 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1457 	{"", 2, K4C25 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1458 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1459 	{"", 2, K4C26, K4IH, K4WC, K4IL, 0, 1, 0,
1460 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1461 	{"", 2, K4C26 + K4W/2, 0, K4WC, K4IH, 0, 1, 0,
1462 		"bitmaps/newkeys/BlackNUp.xpm", "bitmaps/newkeys/BlackNDown.xpm", BRIGHTON_NOSHADOW},
1463 	{"", 2, K4C27, K4IH, K4WC, K4IL, 0, 1, 0,
1464 		"bitmaps/newkeys/WhiteNHUp.xpm", "bitmaps/newkeys/WhiteNHDown.xpm", BRIGHTON_NOSHADOW},
1465 
1466 	{"", 2, K4C28, 0, K4WC, 1000, 0, 1, 0,
1467 		"bitmaps/newkeys/WhiteNHLUp.xpm", "bitmaps/newkeys/WhiteNHLDown.xpm", BRIGHTON_NOSHADOW},
1468 };
1469 
1470 brightonLocations keys4octave[KEY_COUNT_4OCTAVE] = {
1471 	{"", 2, 0 * K4W, 0, K4W, 1000, 0, 1, 0,
1472 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
1473 	{"", 2, 0 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1474 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1475 	{"", 2, 1 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1476 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1477 	{"", 2, 1 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1478 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1479 	{"", 2, 2 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1480 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1481 	{"", 2, 3 * K4W, 0, K4W, 1000, 0, 1, 0,
1482 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
1483 	{"", 2, 3 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1484 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1485 	{"", 2, 4 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1486 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1487 	{"", 2, 4 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1488 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1489 	{"", 2, 5 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1490 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1491 	{"", 2, 5 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1492 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1493 	{"", 2, 6 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1494 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1495 
1496 	{"", 2, 7 * K4W, 0, K4W, 1000, 0, 1, 0,
1497 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
1498 	{"", 2, 7 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1499 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1500 	{"", 2, 8 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1501 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1502 	{"", 2, 8 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1503 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1504 	{"", 2, 9 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1505 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1506 	{"", 2, 10 * K4W, 0, K4W, 1000, 0, 1, 0,
1507 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
1508 	{"", 2, 10 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1509 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1510 	{"", 2, 11 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1511 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1512 	{"", 2, 11 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1513 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1514 	{"", 2, 12 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1515 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1516 	{"", 2, 12 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1517 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1518 	{"", 2, 13 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1519 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1520 
1521 	{"", 2, 14 * K4W, 0, K4W, 1000, 0, 1, 0,
1522 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
1523 	{"", 2, 14 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1524 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1525 	{"", 2, 15 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1526 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1527 	{"", 2, 15 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1528 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1529 	{"", 2, 16 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1530 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1531 	{"", 2, 17 * K4W, 0, K4W, 1000, 0, 1, 0,
1532 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
1533 	{"", 2, 17 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1534 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1535 	{"", 2, 18 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1536 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1537 	{"", 2, 18 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1538 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1539 	{"", 2, 19 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1540 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1541 	{"", 2, 19 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1542 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1543 	{"", 2, 20 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1544 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1545 
1546 	{"", 2, 21 * K4W, 0, K4W, 1000, 0, 1, 0,
1547 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
1548 	{"", 2, 21 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1549 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1550 	{"", 2, 22 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1551 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1552 	{"", 2, 22 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1553 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1554 	{"", 2, 23 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1555 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1556 	{"", 2, 24 * K4W, 0, K4W, 1000, 0, 1, 0,
1557 		"bitmaps/newkeys/WhiteHFUp.xpm", "bitmaps/newkeys/WhiteHFDown.xpm", BRIGHTON_NOSHADOW},
1558 	{"", 2, 24 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1559 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1560 	{"", 2, 25 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1561 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1562 	{"", 2, 25 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1563 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1564 	{"", 2, 26 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1565 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1566 	{"", 2, 26 * K4W + K4W/2, 0, K4W, K4IH, 0, 1, 0,
1567 		"bitmaps/newkeys/BlackUp.xpm", "bitmaps/newkeys/BlackDown.xpm", BRIGHTON_NOSHADOW},
1568 	{"", 2, 27 * K4W, K4IH, K4W, K4IL, 0, 1, 0,
1569 		"bitmaps/newkeys/WhiteHUp.xpm", "bitmaps/newkeys/WhiteHDown.xpm", BRIGHTON_NOSHADOW},
1570 
1571 	{"", 2, 28 * K4W, 0, K4W, 1000, 0, 1, 0,
1572 		"bitmaps/newkeys/WhiteHLUp.xpm", "bitmaps/newkeys/WhiteHLDown.xpm", BRIGHTON_NOSHADOW},
1573 };
1574 
1575 #define KPS 1000 / 29
1576 #define KPW 1000 / 29
1577 
1578 #define KPH	930
1579 #define KPMW 18
1580 #define KPIW 40
1581 #define KPIH 600
1582 #define KPIL 410
1583 #define KPIS 33
1584 
1585 brightonLocations pedalBoard[KEY_COUNT_PEDAL] = {
1586 	{"", 2, 1 * KPS, 0, KPW, KPH, 0, 1, 0,
1587 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1588 	{"", 2, 2 * KPS, 0, KPW, KPIH, 0, 1, 0,
1589 		"bitmaps/newkeys/PedalBUp.xpm", "bitmaps/newkeys/PedalBDown.xpm", BRIGHTON_NOSHADOW},
1590 	{"", 2, 3 * KPS, 0, KPW, KPH, 0, 1, 0,
1591 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1592 	{"", 2, 4 * KPS, 0, KPW, KPIH, 0, 1, 0,
1593 		"bitmaps/newkeys/PedalBUp.xpm", "bitmaps/newkeys/PedalBDown.xpm", BRIGHTON_NOSHADOW},
1594 	{"", 2, 5 * KPS, 0, KPW, KPH, 0, 1, 0,
1595 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1596 	{"", 2, 7 * KPS, 0, KPW, KPH, 0, 1, 0,
1597 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1598 	{"", 2, 8 * KPS, 0, KPW, KPIH, 0, 1, 0,
1599 		"bitmaps/newkeys/PedalBUp.xpm", "bitmaps/newkeys/PedalBDown.xpm", BRIGHTON_NOSHADOW},
1600 	{"", 2, 9 * KPS, 0, KPW, KPH, 0, 1, 0,
1601 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1602 	{"", 2, 10 * KPS, 0, KPW, KPIH, 0, 1, 0,
1603 		"bitmaps/newkeys/PedalBUp.xpm", "bitmaps/newkeys/PedalBDown.xpm", BRIGHTON_NOSHADOW},
1604 	{"", 2, 11 * KPS, 0, KPW, KPH, 0, 1, 0,
1605 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1606 	{"", 2, 12 * KPS, 0, KPW, KPIH, 0, 1, 0,
1607 		"bitmaps/newkeys/PedalBUp.xpm", "bitmaps/newkeys/PedalBDown.xpm", BRIGHTON_NOSHADOW},
1608 	{"", 2, 13 * KPS, 0, KPW, KPH, 0, 1, 0,
1609 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1610 
1611 	{"", 2, 15 * KPS, 0, KPW, KPH, 0, 1, 0,
1612 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1613 	{"", 2, 16 * KPS, 0, KPW, KPIH, 0, 1, 0,
1614 		"bitmaps/newkeys/PedalBUp.xpm", "bitmaps/newkeys/PedalBDown.xpm", BRIGHTON_NOSHADOW},
1615 	{"", 2, 17 * KPS, 0, KPW, KPH, 0, 1, 0,
1616 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1617 	{"", 2, 18 * KPS, 0, KPW, KPIH, 0, 1, 0,
1618 		"bitmaps/newkeys/PedalBUp.xpm", "bitmaps/newkeys/PedalBDown.xpm", BRIGHTON_NOSHADOW},
1619 	{"", 2, 19 * KPS, 0, KPW, KPH, 0, 1, 0,
1620 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1621 	{"", 2, 21 * KPS, 0, KPW, KPH, 0, 1, 0,
1622 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1623 	{"", 2, 22 * KPS, 0, KPW, KPIH, 0, 1, 0,
1624 		"bitmaps/newkeys/PedalBUp.xpm", "bitmaps/newkeys/PedalBDown.xpm", BRIGHTON_NOSHADOW},
1625 	{"", 2, 23 * KPS, 0, KPW, KPH, 0, 1, 0,
1626 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1627 	{"", 2, 24 * KPS, 0, KPW, KPIH, 0, 1, 0,
1628 		"bitmaps/newkeys/PedalBUp.xpm", "bitmaps/newkeys/PedalBDown.xpm", BRIGHTON_NOSHADOW},
1629 	{"", 2, 25 * KPS, 0, KPW, KPH, 0, 1, 0,
1630 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1631 	{"", 2, 26 * KPS, 0, KPW, KPIH, 0, 1, 0,
1632 		"bitmaps/newkeys/PedalBUp.xpm", "bitmaps/newkeys/PedalBDown.xpm", BRIGHTON_NOSHADOW},
1633 	{"", 2, 27 * KPS, 0, KPW, KPH, 0, 1, 0,
1634 		"bitmaps/newkeys/PedalWUp.xpm", "bitmaps/newkeys/PedalWDown.xpm", BRIGHTON_NOSHADOW},
1635 };
1636 
1637 brightonLocations mods[2] = {
1638 	{"", 1, 290, 170, 97, 620, 0, 1, 0, 0, 0, BRIGHTON_CENTER|BRIGHTON_NOSHADOW},
1639 	{"", 1, 655, 170, 97, 620, 0, 1, 0, 0, 0, BRIGHTON_NOSHADOW},
1640 };
1641 
1642 extern int bristolMidiControl(int, int, int, int, int);
1643 
1644 int
modCallback(brightonWindow * win,int panel,int index,float value)1645 modCallback(brightonWindow *win, int panel, int index, float value)
1646 {
1647 	guiSynth *synth = findSynth(global.synths, win);
1648 
1649 /*	printf("modCallback(%x, %i, %i, %f)\n", synth, panel, index, value); */
1650 
1651 	if (global.libtest)
1652 		return(0);
1653 
1654 	/*
1655 	 * If this is controller 0 it is the frequency control, otherwise a
1656 	 * generic controller 1.
1657 	 */
1658 	if (index == 0)
1659 		bristolMidiSendMsg(global.controlfd, synth->midichannel,
1660 			BRISTOL_EVENT_PITCH, 0, (int) (value * C_RANGE_MIN_1));
1661 	else {
1662 		if (synth->flags & NO_KEYTRACK)
1663 			return(0);
1664 		bristolMidiControl(global.controlfd, synth->midichannel,
1665 			0, 1, ((int) (value * (C_RANGE_MIN_1 - 1))) >> 7);
1666 	}
1667 
1668 	return(0);
1669 }
1670 
1671 int
keyCallback(brightonWindow * win,int panel,int index,float value)1672 keyCallback(brightonWindow *win, int panel, int index, float value)
1673 {
1674 	guiSynth *synth = findSynth(global.synths, win);
1675 
1676 	if (global.libtest)
1677 		return(0);
1678 
1679 	if (global.synths->flags & REQ_MIDI_DEBUG2)
1680 		printf("keycallback(%p, %i, %i, %f): %i %i - %i\n",
1681 			synth, panel, index, value, synth->transpose,
1682 			global.controlfd, index + synth->transpose);
1683 
1684 	/*
1685 	 * Want to send a note event, on or off, for this index + transpose.
1686 	 */
1687 	if (value)
1688 		bristolMidiSendMsg(global.controlfd, synth->midichannel,
1689 			BRISTOL_EVENT_KEYON, 0, index + synth->transpose);
1690 	else
1691 		bristolMidiSendMsg(global.controlfd, synth->midichannel,
1692 			BRISTOL_EVENT_KEYOFF, 0, index + synth->transpose);
1693 
1694 	return(0);
1695 }
1696 
1697 #endif /* BRIGHTONKEYBOARD_H */
1698 
1699