1 /* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski <jwz@jwz.org>
2  *
3  * This file describes the physical layout of a "Linux CoolKeyboard" 107 key
4  * AT PC-style keyboard.
5  * By John Gotts <jgotts@linuxsavvy.com>
6  */
7 
8 static const struct key_geometry cc107_geom_row0 [] = {
9  {7, 7}, {6, 0},
10  {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0},
11  {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0},
12  {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0},
13  {7, 7}, {7, 7}, {7, 7}
14 };
15 
16 static const struct key_geometry cc107_geom_row2 [] = {
17  {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7},
18  {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0},
19  {7, 7}, {7, 7}, {7, 7}, {4, 0},
20  {7, 7}, {7, 7}, {7, 7}, {7, 7}
21 };
22 
23 static const struct key_geometry cc107_geom_row3 [] = {
24  {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7},
25  {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7},
26  {4, 0},
27  {7, 7}, {7, 7}, {7, 7}, {7, 14}
28 };
29 
30 static const struct key_geometry cc107_geom_row4 [] = {
31  {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7},
32  {7, 7}, {7, 7}, {7, 7}, {16, 0}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4,0},
33  {7, 7}, {7, 7}, {7, 7}
34 };
35 
36 static const struct key_geometry cc107_geom_row5 [] = {
37  {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7},
38  {7, 7}, {7, 7}, {12, 7}, {7, 7}, {11, 0},
39  {7, 7}, {11, 0},
40  {7, 7}, {7, 7}, {7, 7}, {7, 14}
41 };
42 
43 static const struct key_geometry cc107_geom_row6 [] = {
44  {9, 7}, {9, 7},
45  {9, 7}, {42, 7}, {9, 7}, {9, 7},
46  {9, 7}, {9, 7}, {4, 0},
47  {7, 7}, {7, 7}, {7, 7}, {4, 0},
48  {14, 7}, {7, 7}
49 };
50 
51 static const struct keyboard_row_geometry cc107_geom_rows [] = {
52   ROW (cc107_geom_row0, 7),
53   EMPTYROW (5),
54   ROW (cc107_geom_row2, 7),
55   ROW (cc107_geom_row3, 7),
56   ROW (cc107_geom_row4, 7),
57   ROW (cc107_geom_row5, 7),
58   ROW (cc107_geom_row6, 7),
59 };
60 
61 static const struct keyboard_geometry cc107_geom = {
62   sizeof (cc107_geom_rows) / sizeof (struct keyboard_row_geometry),
63   cc107_geom_rows, 6, 3, 3
64 };
65