1 // generated by Fast Light User Interface Designer (fluid) version 1.0300
2 
3 #include "keyboard_ui.h"
4 
5 MyWindow *my_window=(MyWindow *)0;
6 
7 Fl_Output *key_output=(Fl_Output *)0;
8 
9 Fl_Output *text_output=(Fl_Output *)0;
10 
11 Fl_Dial *roller_x=(Fl_Dial *)0;
12 
13 Fl_Dial *roller_y=(Fl_Dial *)0;
14 
make_window()15 MyWindow* make_window() {
16   { my_window = new MyWindow(495, 215);
17     my_window->box(FL_FLAT_BOX);
18     my_window->color(FL_BACKGROUND_COLOR);
19     my_window->selection_color(FL_BACKGROUND_COLOR);
20     my_window->labeltype(FL_NO_LABEL);
21     my_window->labelfont(0);
22     my_window->labelsize(14);
23     my_window->labelcolor(FL_FOREGROUND_COLOR);
24     my_window->align(Fl_Align(FL_ALIGN_TOP));
25     my_window->when(FL_WHEN_RELEASE);
26     { Fl_Button* o = new Fl_Button(15, 70, 20, 20, "Esc ");
27       o->labelsize(8);
28       o->callback((Fl_Callback*)key_cb, (void*)(FL_Escape));
29     } // Fl_Button* o
30     { Fl_Button* o = new Fl_Button(50, 70, 20, 20, "F1");
31       o->labelsize(10);
32       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+1));
33     } // Fl_Button* o
34     { Fl_Button* o = new Fl_Button(70, 70, 20, 20, "F2");
35       o->labelsize(10);
36       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+2));
37     } // Fl_Button* o
38     { Fl_Button* o = new Fl_Button(90, 70, 20, 20, "F3");
39       o->labelsize(10);
40       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+3));
41     } // Fl_Button* o
42     { Fl_Button* o = new Fl_Button(110, 70, 20, 20, "F4");
43       o->labelsize(10);
44       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+4));
45     } // Fl_Button* o
46     { Fl_Button* o = new Fl_Button(140, 70, 20, 20, "F5");
47       o->labelsize(10);
48       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+5));
49     } // Fl_Button* o
50     { Fl_Button* o = new Fl_Button(160, 70, 20, 20, "F6");
51       o->labelsize(10);
52       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+6));
53     } // Fl_Button* o
54     { Fl_Button* o = new Fl_Button(180, 70, 20, 20, "F7");
55       o->labelsize(10);
56       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+7));
57     } // Fl_Button* o
58     { Fl_Button* o = new Fl_Button(200, 70, 20, 20, "F8");
59       o->labelsize(10);
60       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+8));
61     } // Fl_Button* o
62     { Fl_Button* o = new Fl_Button(230, 70, 20, 20, "F9");
63       o->labelsize(10);
64       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+9));
65     } // Fl_Button* o
66     { Fl_Button* o = new Fl_Button(250, 70, 20, 20, "F10");
67       o->labelsize(10);
68       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+10));
69     } // Fl_Button* o
70     { Fl_Button* o = new Fl_Button(270, 70, 20, 20, "F11");
71       o->labelsize(10);
72       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+11));
73     } // Fl_Button* o
74     { Fl_Button* o = new Fl_Button(290, 70, 20, 20, "F12");
75       o->labelsize(10);
76       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+12));
77     } // Fl_Button* o
78     { Fl_Button* o = new Fl_Button(325, 70, 20, 20, "Print ");
79       o->labelsize(8);
80       o->callback((Fl_Callback*)key_cb, (void*)(FL_Print));
81     } // Fl_Button* o
82     { Fl_Button* o = new Fl_Button(345, 70, 20, 20, "Sclk ");
83       o->labelsize(8);
84       o->callback((Fl_Callback*)key_cb, (void*)(FL_Scroll_Lock));
85     } // Fl_Button* o
86     { Fl_Button* o = new Fl_Button(365, 70, 20, 20, "Paus ");
87       o->labelsize(8);
88       o->callback((Fl_Callback*)key_cb, (void*)(FL_Pause));
89     } // Fl_Button* o
90     { Fl_Button* o = new Fl_Button(15, 100, 20, 20, "`");
91       o->labelsize(10);
92       o->callback((Fl_Callback*)key_cb);
93     } // Fl_Button* o
94     { Fl_Button* o = new Fl_Button(35, 100, 20, 20, "1");
95       o->labelsize(10);
96       o->callback((Fl_Callback*)key_cb);
97     } // Fl_Button* o
98     { Fl_Button* o = new Fl_Button(55, 100, 20, 20, "2");
99       o->labelsize(10);
100       o->callback((Fl_Callback*)key_cb);
101     } // Fl_Button* o
102     { Fl_Button* o = new Fl_Button(75, 100, 20, 20, "3");
103       o->labelsize(10);
104       o->callback((Fl_Callback*)key_cb);
105     } // Fl_Button* o
106     { Fl_Button* o = new Fl_Button(95, 100, 20, 20, "4");
107       o->labelsize(10);
108       o->callback((Fl_Callback*)key_cb);
109     } // Fl_Button* o
110     { Fl_Button* o = new Fl_Button(115, 100, 20, 20, "5");
111       o->labelsize(10);
112       o->callback((Fl_Callback*)key_cb);
113     } // Fl_Button* o
114     { Fl_Button* o = new Fl_Button(135, 100, 20, 20, "6");
115       o->labelsize(10);
116       o->callback((Fl_Callback*)key_cb);
117     } // Fl_Button* o
118     { Fl_Button* o = new Fl_Button(155, 100, 20, 20, "7");
119       o->labelsize(10);
120       o->callback((Fl_Callback*)key_cb);
121     } // Fl_Button* o
122     { Fl_Button* o = new Fl_Button(175, 100, 20, 20, "8");
123       o->labelsize(10);
124       o->callback((Fl_Callback*)key_cb);
125     } // Fl_Button* o
126     { Fl_Button* o = new Fl_Button(195, 100, 20, 20, "9");
127       o->labelsize(10);
128       o->callback((Fl_Callback*)key_cb);
129     } // Fl_Button* o
130     { Fl_Button* o = new Fl_Button(215, 100, 20, 20, "0");
131       o->labelsize(10);
132       o->callback((Fl_Callback*)key_cb);
133     } // Fl_Button* o
134     { Fl_Button* o = new Fl_Button(235, 100, 20, 20, "-");
135       o->labelsize(10);
136       o->callback((Fl_Callback*)key_cb);
137     } // Fl_Button* o
138     { Fl_Button* o = new Fl_Button(255, 100, 20, 20, "=");
139       o->labelsize(10);
140       o->callback((Fl_Callback*)key_cb);
141     } // Fl_Button* o
142     { Fl_Button* o = new Fl_Button(275, 100, 35, 20, "Bksp");
143       o->labeltype(FL_SHADOW_LABEL);
144       o->labelsize(8);
145       o->callback((Fl_Callback*)key_cb, (void*)(FL_BackSpace));
146       o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
147     } // Fl_Button* o
148     { Fl_Button* o = new Fl_Button(325, 100, 20, 20, "Ins ");
149       o->labelsize(8);
150       o->callback((Fl_Callback*)key_cb, (void*)(FL_Insert));
151     } // Fl_Button* o
152     { Fl_Button* o = new Fl_Button(345, 100, 20, 20, "Home");
153       o->labelsize(8);
154       o->callback((Fl_Callback*)key_cb, (void*)(FL_Home));
155     } // Fl_Button* o
156     { Fl_Button* o = new Fl_Button(365, 100, 20, 20, "pgup ");
157       o->labelsize(8);
158       o->callback((Fl_Callback*)key_cb, (void*)(FL_Page_Up));
159     } // Fl_Button* o
160     { Fl_Button* o = new Fl_Button(400, 100, 20, 20, "Num");
161       o->labelsize(8);
162       o->callback((Fl_Callback*)key_cb, (void*)(FL_Num_Lock));
163     } // Fl_Button* o
164     { Fl_Button* o = new Fl_Button(420, 100, 20, 20, "/");
165       o->labelsize(10);
166       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'/'));
167     } // Fl_Button* o
168     { Fl_Button* o = new Fl_Button(440, 100, 20, 20, "*");
169       o->labelsize(10);
170       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'*'));
171     } // Fl_Button* o
172     { Fl_Button* o = new Fl_Button(460, 100, 20, 20, "-");
173       o->labelsize(10);
174       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'-'));
175     } // Fl_Button* o
176     { Fl_Button* o = new Fl_Button(15, 120, 27, 20, "Tab");
177       o->labelsize(8);
178       o->callback((Fl_Callback*)key_cb, (void*)(FL_Tab));
179       o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
180     } // Fl_Button* o
181     { Fl_Button* o = new Fl_Button(42, 120, 20, 20, "Q");
182       o->labelsize(10);
183       o->callback((Fl_Callback*)key_cb);
184     } // Fl_Button* o
185     { Fl_Button* o = new Fl_Button(62, 120, 20, 20, "W");
186       o->labelsize(10);
187       o->callback((Fl_Callback*)key_cb);
188     } // Fl_Button* o
189     { Fl_Button* o = new Fl_Button(82, 120, 20, 20, "E");
190       o->labelsize(10);
191       o->callback((Fl_Callback*)key_cb);
192     } // Fl_Button* o
193     { Fl_Button* o = new Fl_Button(102, 120, 20, 20, "R");
194       o->labelsize(10);
195       o->callback((Fl_Callback*)key_cb);
196     } // Fl_Button* o
197     { Fl_Button* o = new Fl_Button(122, 120, 20, 20, "T");
198       o->labelsize(10);
199       o->callback((Fl_Callback*)key_cb);
200     } // Fl_Button* o
201     { Fl_Button* o = new Fl_Button(142, 120, 20, 20, "Y");
202       o->labelsize(10);
203       o->callback((Fl_Callback*)key_cb);
204     } // Fl_Button* o
205     { Fl_Button* o = new Fl_Button(162, 120, 20, 20, "U");
206       o->labelsize(10);
207       o->callback((Fl_Callback*)key_cb);
208     } // Fl_Button* o
209     { Fl_Button* o = new Fl_Button(182, 120, 20, 20, "I");
210       o->labelsize(10);
211       o->callback((Fl_Callback*)key_cb);
212     } // Fl_Button* o
213     { Fl_Button* o = new Fl_Button(202, 120, 20, 20, "O");
214       o->labelsize(10);
215       o->callback((Fl_Callback*)key_cb);
216     } // Fl_Button* o
217     { Fl_Button* o = new Fl_Button(222, 120, 20, 20, "P");
218       o->labelsize(10);
219       o->callback((Fl_Callback*)key_cb);
220     } // Fl_Button* o
221     { Fl_Button* o = new Fl_Button(242, 120, 20, 20, "[");
222       o->labelsize(10);
223       o->callback((Fl_Callback*)key_cb);
224     } // Fl_Button* o
225     { Fl_Button* o = new Fl_Button(262, 120, 20, 20, "]");
226       o->labelsize(10);
227       o->callback((Fl_Callback*)key_cb);
228     } // Fl_Button* o
229     { Fl_Button* o = new Fl_Button(282, 120, 28, 20, "\\");
230       o->labelsize(10);
231       o->callback((Fl_Callback*)key_cb, (void*)('|'));
232       o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
233     } // Fl_Button* o
234     { Fl_Button* o = new Fl_Button(325, 120, 20, 20, "Del ");
235       o->labelsize(8);
236       o->callback((Fl_Callback*)key_cb, (void*)(FL_Delete));
237     } // Fl_Button* o
238     { Fl_Button* o = new Fl_Button(345, 120, 20, 20, "End ");
239       o->labelsize(8);
240       o->callback((Fl_Callback*)key_cb, (void*)(FL_End));
241     } // Fl_Button* o
242     { Fl_Button* o = new Fl_Button(365, 120, 20, 20, "pgdn ");
243       o->labelsize(8);
244       o->callback((Fl_Callback*)key_cb, (void*)(FL_Page_Down));
245     } // Fl_Button* o
246     { Fl_Button* o = new Fl_Button(400, 120, 20, 20, "7");
247       o->labelsize(10);
248       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'7'));
249     } // Fl_Button* o
250     { Fl_Button* o = new Fl_Button(420, 120, 20, 20, "8");
251       o->labelsize(10);
252       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'8'));
253     } // Fl_Button* o
254     { Fl_Button* o = new Fl_Button(440, 120, 20, 20, "9");
255       o->labelsize(10);
256       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'9'));
257     } // Fl_Button* o
258     { Fl_Button* o = new Fl_Button(460, 120, 20, 40, "+");
259       o->labelsize(10);
260       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'+'));
261       o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
262     } // Fl_Button* o
263     { Fl_Button* o = new Fl_Button(15, 140, 36, 20, "Lock");
264       o->labelsize(8);
265       o->callback((Fl_Callback*)key_cb, (void*)(FL_Caps_Lock));
266       o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
267     } // Fl_Button* o
268     { Fl_Button* o = new Fl_Button(51, 140, 20, 20, "A");
269       o->labelsize(10);
270       o->callback((Fl_Callback*)key_cb);
271     } // Fl_Button* o
272     { Fl_Button* o = new Fl_Button(71, 140, 20, 20, "S");
273       o->labelsize(10);
274       o->callback((Fl_Callback*)key_cb);
275     } // Fl_Button* o
276     { Fl_Button* o = new Fl_Button(91, 140, 20, 20, "D");
277       o->labelsize(10);
278       o->callback((Fl_Callback*)key_cb);
279     } // Fl_Button* o
280     { Fl_Button* o = new Fl_Button(111, 140, 20, 20, "F");
281       o->labelsize(10);
282       o->callback((Fl_Callback*)key_cb);
283     } // Fl_Button* o
284     { Fl_Button* o = new Fl_Button(131, 140, 20, 20, "G");
285       o->labelsize(10);
286       o->callback((Fl_Callback*)key_cb);
287     } // Fl_Button* o
288     { Fl_Button* o = new Fl_Button(151, 140, 20, 20, "H");
289       o->labelsize(10);
290       o->callback((Fl_Callback*)key_cb);
291     } // Fl_Button* o
292     { Fl_Button* o = new Fl_Button(171, 140, 20, 20, "J");
293       o->labelsize(10);
294       o->callback((Fl_Callback*)key_cb);
295     } // Fl_Button* o
296     { Fl_Button* o = new Fl_Button(191, 140, 20, 20, "K");
297       o->labelsize(10);
298       o->callback((Fl_Callback*)key_cb);
299     } // Fl_Button* o
300     { Fl_Button* o = new Fl_Button(211, 140, 20, 20, "L");
301       o->labelsize(10);
302       o->callback((Fl_Callback*)key_cb);
303     } // Fl_Button* o
304     { Fl_Button* o = new Fl_Button(231, 140, 20, 20, ";");
305       o->labelsize(10);
306       o->callback((Fl_Callback*)key_cb);
307     } // Fl_Button* o
308     { Fl_Button* o = new Fl_Button(251, 140, 20, 20, "\'");
309       o->labelsize(10);
310       o->callback((Fl_Callback*)key_cb);
311     } // Fl_Button* o
312     { Fl_Button* o = new Fl_Button(271, 140, 39, 20, "Enter");
313       o->labelsize(8);
314       o->callback((Fl_Callback*)key_cb, (void*)(FL_Enter));
315       o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
316     } // Fl_Button* o
317     { Fl_Button* o = new Fl_Button(400, 140, 20, 20, "4");
318       o->labelsize(10);
319       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'4'));
320     } // Fl_Button* o
321     { Fl_Button* o = new Fl_Button(420, 140, 20, 20, "5");
322       o->labelsize(10);
323       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'5'));
324     } // Fl_Button* o
325     { Fl_Button* o = new Fl_Button(440, 140, 20, 20, "6");
326       o->labelsize(10);
327       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'6'));
328     } // Fl_Button* o
329     { Fl_Button* o = new Fl_Button(15, 160, 45, 20, "Shift");
330       o->labelsize(8);
331       o->callback((Fl_Callback*)key_cb, (void*)(FL_Shift_L));
332       o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
333     } // Fl_Button* o
334     { Fl_Button* o = new Fl_Button(60, 160, 20, 20, "Z");
335       o->labelsize(10);
336       o->callback((Fl_Callback*)key_cb);
337     } // Fl_Button* o
338     { Fl_Button* o = new Fl_Button(80, 160, 20, 20, "X");
339       o->labelsize(10);
340       o->callback((Fl_Callback*)key_cb);
341     } // Fl_Button* o
342     { Fl_Button* o = new Fl_Button(100, 160, 20, 20, "C");
343       o->labelsize(10);
344       o->callback((Fl_Callback*)key_cb);
345     } // Fl_Button* o
346     { Fl_Button* o = new Fl_Button(120, 160, 20, 20, "V");
347       o->labelsize(10);
348       o->callback((Fl_Callback*)key_cb);
349     } // Fl_Button* o
350     { Fl_Button* o = new Fl_Button(140, 160, 20, 20, "B");
351       o->labelsize(10);
352       o->callback((Fl_Callback*)key_cb);
353     } // Fl_Button* o
354     { Fl_Button* o = new Fl_Button(160, 160, 20, 20, "N");
355       o->labelsize(10);
356       o->callback((Fl_Callback*)key_cb);
357     } // Fl_Button* o
358     { Fl_Button* o = new Fl_Button(180, 160, 20, 20, "M");
359       o->labelsize(10);
360       o->callback((Fl_Callback*)key_cb);
361     } // Fl_Button* o
362     { Fl_Button* o = new Fl_Button(200, 160, 20, 20, ",");
363       o->labelsize(10);
364       o->callback((Fl_Callback*)key_cb);
365     } // Fl_Button* o
366     { Fl_Button* o = new Fl_Button(220, 160, 20, 20, ".");
367       o->labelsize(10);
368       o->callback((Fl_Callback*)key_cb);
369     } // Fl_Button* o
370     { Fl_Button* o = new Fl_Button(240, 160, 20, 20, "/");
371       o->labelsize(10);
372       o->callback((Fl_Callback*)key_cb);
373     } // Fl_Button* o
374     { Fl_Button* o = new Fl_Button(260, 160, 50, 20, "Shift");
375       o->labelsize(8);
376       o->callback((Fl_Callback*)key_cb, (void*)(FL_Shift_R));
377       o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
378     } // Fl_Button* o
379     { Fl_Button* o = new Fl_Button(345, 160, 20, 20, "@8->");
380       o->labeltype(FL_SHADOW_LABEL);
381       o->labelsize(10);
382       o->labelcolor(FL_DARK1);
383       o->callback((Fl_Callback*)key_cb, (void*)(FL_Up));
384     } // Fl_Button* o
385     { Fl_Button* o = new Fl_Button(400, 160, 20, 20, "1");
386       o->labelsize(10);
387       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'1'));
388     } // Fl_Button* o
389     { Fl_Button* o = new Fl_Button(420, 160, 20, 20, "2");
390       o->labelsize(10);
391       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'2'));
392     } // Fl_Button* o
393     { Fl_Button* o = new Fl_Button(440, 160, 20, 20, "3");
394       o->labelsize(10);
395       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'3'));
396     } // Fl_Button* o
397     { Fl_Button* o = new Fl_Button(460, 160, 20, 40);
398       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP_Enter));
399     } // Fl_Button* o
400     { Fl_Button* o = new Fl_Button(15, 180, 30, 20, "Ctrl");
401       o->labelsize(8);
402       o->callback((Fl_Callback*)key_cb, (void*)(FL_Control_L));
403       o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
404     } // Fl_Button* o
405     { Fl_Button* o = new Fl_Button(45, 180, 30, 20, "Meta ");
406       o->labelsize(8);
407       o->callback((Fl_Callback*)key_cb, (void*)(FL_Meta_L));
408     } // Fl_Button* o
409     { Fl_Button* o = new Fl_Button(75, 180, 30, 20, "Alt ");
410       o->labelsize(8);
411       o->callback((Fl_Callback*)key_cb, (void*)(FL_Alt_L));
412     } // Fl_Button* o
413     { Fl_Button* o = new Fl_Button(105, 180, 85, 20);
414       o->labelsize(10);
415       o->callback((Fl_Callback*)key_cb, (void*)(' '));
416     } // Fl_Button* o
417     { Fl_Button* o = new Fl_Button(190, 180, 30, 20, "Alt ");
418       o->labelsize(8);
419       o->callback((Fl_Callback*)key_cb, (void*)(FL_Alt_R));
420     } // Fl_Button* o
421     { Fl_Button* o = new Fl_Button(220, 180, 30, 20, "Meta ");
422       o->labelsize(8);
423       o->callback((Fl_Callback*)key_cb, (void*)(FL_Meta_R));
424     } // Fl_Button* o
425     { Fl_Button* o = new Fl_Button(250, 180, 30, 20, "Menu ");
426       o->labelsize(8);
427       o->callback((Fl_Callback*)key_cb, (void*)(FL_Menu));
428     } // Fl_Button* o
429     { Fl_Button* o = new Fl_Button(280, 180, 30, 20, "Ctrl");
430       o->labelsize(8);
431       o->callback((Fl_Callback*)key_cb, (void*)(FL_Control_R));
432       o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
433     } // Fl_Button* o
434     { Fl_Button* o = new Fl_Button(325, 180, 20, 20, "@4->");
435       o->labeltype(FL_SHADOW_LABEL);
436       o->labelsize(10);
437       o->labelcolor(FL_DARK1);
438       o->callback((Fl_Callback*)key_cb, (void*)(FL_Left));
439     } // Fl_Button* o
440     { Fl_Button* o = new Fl_Button(345, 180, 20, 20, "@2->");
441       o->labeltype(FL_SHADOW_LABEL);
442       o->labelsize(10);
443       o->labelcolor(FL_DARK1);
444       o->callback((Fl_Callback*)key_cb, (void*)(FL_Down));
445     } // Fl_Button* o
446     { Fl_Button* o = new Fl_Button(365, 180, 20, 20, "@6->");
447       o->labeltype(FL_SHADOW_LABEL);
448       o->labelsize(10);
449       o->labelcolor(FL_DARK1);
450       o->callback((Fl_Callback*)key_cb, (void*)(FL_Right));
451     } // Fl_Button* o
452     { Fl_Button* o = new Fl_Button(400, 180, 40, 20, "0");
453       o->labelsize(10);
454       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'0'));
455       o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
456     } // Fl_Button* o
457     { Fl_Button* o = new Fl_Button(440, 180, 20, 20, ".");
458       o->labelsize(10);
459       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'.'));
460     } // Fl_Button* o
461     { Fl_Button* o = new Fl_Button(400, 15, 20, 10, "shift ");
462       o->box(FL_THIN_UP_BOX);
463       o->selection_color((Fl_Color)3);
464       o->labelsize(8);
465       o->callback((Fl_Callback*)shift_cb, (void*)(FL_SHIFT));
466     } // Fl_Button* o
467     { Fl_Button* o = new Fl_Button(420, 15, 20, 10, "lock ");
468       o->box(FL_THIN_UP_BOX);
469       o->selection_color((Fl_Color)3);
470       o->labelsize(8);
471       o->callback((Fl_Callback*)shift_cb, (void*)(FL_CAPS_LOCK));
472     } // Fl_Button* o
473     { Fl_Button* o = new Fl_Button(440, 15, 20, 10, "ctrl");
474       o->box(FL_THIN_UP_BOX);
475       o->selection_color((Fl_Color)3);
476       o->labelsize(8);
477       o->callback((Fl_Callback*)shift_cb, (void*)(FL_CTRL));
478     } // Fl_Button* o
479     { Fl_Button* o = new Fl_Button(460, 15, 20, 10, "alt");
480       o->box(FL_THIN_UP_BOX);
481       o->selection_color((Fl_Color)3);
482       o->labelsize(8);
483       o->callback((Fl_Callback*)shift_cb, (void*)(FL_ALT));
484     } // Fl_Button* o
485     { Fl_Button* o = new Fl_Button(400, 25, 20, 10, "num");
486       o->box(FL_THIN_UP_BOX);
487       o->selection_color((Fl_Color)3);
488       o->labelsize(8);
489       o->callback((Fl_Callback*)shift_cb, (void*)(FL_NUM_LOCK));
490     } // Fl_Button* o
491     { Fl_Button* o = new Fl_Button(420, 25, 20, 10, "?");
492       o->box(FL_THIN_UP_BOX);
493       o->selection_color((Fl_Color)3);
494       o->labelsize(8);
495       o->callback((Fl_Callback*)shift_cb, (void*)(0x20));
496     } // Fl_Button* o
497     { Fl_Button* o = new Fl_Button(440, 25, 20, 10, "meta ");
498       o->box(FL_THIN_UP_BOX);
499       o->selection_color((Fl_Color)3);
500       o->labelsize(8);
501       o->callback((Fl_Callback*)shift_cb, (void*)(FL_META));
502     } // Fl_Button* o
503     { Fl_Button* o = new Fl_Button(460, 25, 20, 10, "sclk");
504       o->box(FL_THIN_UP_BOX);
505       o->selection_color((Fl_Color)3);
506       o->labelsize(8);
507       o->callback((Fl_Callback*)shift_cb, (void*)(FL_SCROLL_LOCK));
508     } // Fl_Button* o
509     { Fl_Button* o = new Fl_Button(400, 35, 20, 10, "b1");
510       o->box(FL_THIN_UP_BOX);
511       o->selection_color((Fl_Color)3);
512       o->labelsize(8);
513       o->callback((Fl_Callback*)shift_cb, (void*)(FL_BUTTON1));
514     } // Fl_Button* o
515     { Fl_Button* o = new Fl_Button(420, 35, 20, 10, "b2");
516       o->box(FL_THIN_UP_BOX);
517       o->selection_color((Fl_Color)3);
518       o->labelsize(8);
519       o->callback((Fl_Callback*)shift_cb, (void*)(FL_BUTTON2));
520     } // Fl_Button* o
521     { Fl_Button* o = new Fl_Button(440, 35, 20, 10, "b3");
522       o->box(FL_THIN_UP_BOX);
523       o->selection_color((Fl_Color)3);
524       o->labelsize(8);
525       o->callback((Fl_Callback*)shift_cb, (void*)(FL_BUTTON3));
526     } // Fl_Button* o
527     { Fl_Button* o = new Fl_Button(460, 35, 20, 10, "whl");
528       o->box(FL_THIN_UP_BOX);
529       o->selection_color((Fl_Color)3);
530       o->labelsize(8);
531       o->callback((Fl_Callback*)shift_cb, (void*)(0x800));
532     } // Fl_Button* o
533     { Fl_Button* o = new Fl_Button(400, 45, 20, 10, "?");
534       o->box(FL_THIN_UP_BOX);
535       o->selection_color((Fl_Color)3);
536       o->labelsize(8);
537       o->callback((Fl_Callback*)shift_cb, (void*)(0x1000));
538     } // Fl_Button* o
539     { Fl_Button* o = new Fl_Button(420, 45, 20, 10, "?");
540       o->box(FL_THIN_UP_BOX);
541       o->selection_color((Fl_Color)3);
542       o->labelsize(8);
543       o->callback((Fl_Callback*)shift_cb, (void*)(0x2000));
544     } // Fl_Button* o
545     { Fl_Button* o = new Fl_Button(440, 45, 20, 10, "?");
546       o->box(FL_THIN_UP_BOX);
547       o->selection_color((Fl_Color)3);
548       o->labelsize(8);
549       o->callback((Fl_Callback*)shift_cb, (void*)(0x4000));
550     } // Fl_Button* o
551     { Fl_Button* o = new Fl_Button(460, 45, 20, 10, "?");
552       o->box(FL_THIN_UP_BOX);
553       o->selection_color((Fl_Color)3);
554       o->labelsize(8);
555       o->callback((Fl_Callback*)shift_cb, (void*)(0x8000));
556     } // Fl_Button* o
557     { key_output = new Fl_Output(15, 20, 170, 30, "Fl::event_key():");
558       key_output->labelsize(9);
559       key_output->align(Fl_Align(FL_ALIGN_TOP_LEFT));
560     } // Fl_Output* key_output
561     { Fl_Box* o = new Fl_Box(400, 15, 80, 40, "Fl::event_state():");
562       o->labelsize(9);
563       o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
564     } // Fl_Box* o
565     { text_output = new Fl_Output(195, 20, 190, 30, "Fl::event_text():");
566       text_output->labelsize(9);
567       text_output->align(Fl_Align(FL_ALIGN_TOP_LEFT));
568     } // Fl_Output* text_output
569     { Fl_Button* o = new Fl_Button(400, 70, 20, 20, "Help");
570       o->labelsize(8);
571       o->callback((Fl_Callback*)key_cb, (void*)(FL_Help));
572     } // Fl_Button* o
573     { Fl_Button* o = new Fl_Button(420, 70, 20, 20, "=");
574       o->labelsize(10);
575       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'='));
576     } // Fl_Button* o
577     { roller_x = new Fl_Dial(440, 70, 20, 20, "x:");
578       roller_x->box(FL_ROUND_UP_BOX);
579       roller_x->selection_color(FL_BACKGROUND_COLOR);
580       roller_x->labelsize(9);
581       roller_x->step(0.1);
582       roller_x->callback((Fl_Callback*)wheel_cb);
583       roller_x->align(Fl_Align(FL_ALIGN_TOP_LEFT));
584     } // Fl_Dial* roller_x
585     { roller_y = new Fl_Dial(460, 70, 20, 20, "y:");
586       roller_y->box(FL_ROUND_UP_BOX);
587       roller_y->selection_color(FL_BACKGROUND_COLOR);
588       roller_y->labelsize(9);
589       roller_y->step(0.1);
590       roller_y->callback((Fl_Callback*)wheel_cb);
591       roller_y->align(Fl_Align(FL_ALIGN_TOP_LEFT));
592     } // Fl_Dial* roller_y
593     my_window->end();
594   } // MyWindow* my_window
595   return my_window;
596 }
597