better empty line handling between rule groups
[xorg/xkeyboard-config] / rules / base
1 // $Xorg: xfree86,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
2
3 //
4 //  Rules for resolving XKB components for use with XFree86
5 //  Copyright 1996 by Joseph Moss
6 //
7 //  2002 Modifier: Ivan Pascal      The XFree86 Project
8 //  $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.79 2004/01/09 00:16:01 dawes Exp $
9 //
10
11 // If you want non-latin layouts implicitly include the en_US layout
12 // uncomment lines below
13 //! $nonlatin = am ara ben bg by deva ge gr guj guru il \
14 //              ir iku kan lao mk mm mal ori ru scc syr tel th\
15 //              tj tam ua
16
17 ! $pcmodels = pc101 pc102 pc104 pc105
18 ! $maclaptop = ibook powerbook
19 ! $mac = macintosh macintosh_old ibook powerbook
20
21 ! $azerty = be fr
22 ! $qwertz = al cz de hr hu ro si sk 
23
24 ! $inetkbds = a4techKB21 airkey acpi scorpius azonaRF2300 \
25               brother \
26               btc5113rf btc5126t btc9000 btc9000a btc9001ah btc5090\
27               cherryblue cherrybluea \
28               chicony chicony9885 \
29               compaqeak8 compaqik7 compaqik13 compaqik18 armada presario ipaq \
30               dell inspiron dtk2000 \
31               dexxa diamond genius geniuscomfy2 \
32               ennyah_dkb1008 gyration \
33               hpi6 hp2501 hp2505 hp5181 hpxe3gc hpxe3gf hpxe4xxx hpzt11xx \
34               hp500fa hp5xx hp5185 \
35               honeywell_euroboard \
36               rapidaccess rapidaccess2 rapidaccess2a \
37               ltcd logiaccess logicdp logicdpa logicdit logicink logiciink \
38               logiinkse logiinkseusb logiitc logiik itouch \
39               mx1998 mx2500 mx2750 \
40               microsoftinet microsoftpro microsoftprousb microsoftprooem microsoftprose \
41               microsoftoffice microsoftmult \
42               oretec \
43               propeller \
44               qtronix \
45               samsung4500 samsung4510 \
46               sk1300 sk2500 sk6200 sk7100 sp_inet \
47               sven symplon toshiba_s3000 trust trustda yahoo
48
49 ! model         =       keycodes
50   macintosh_old =       macintosh
51   powerpcps2    =       powerpcps2
52   pc98          =       xfree98(pc98)
53   abnt2         =       xfree86(abnt2)
54   jp106         =       xfree86(jp106)
55   *             =       xfree86
56
57 ! layout[1]     =       keycodes
58   $azerty       =       +aliases(azerty)
59   $qwertz       =       +aliases(qwertz)
60   *             =       +aliases(qwerty)
61
62 ! layout        =       keycodes
63   $azerty       =       +aliases(azerty)
64   $qwertz       =       +aliases(qwertz)
65   *             =       +aliases(qwerty)
66
67 ! model         =       geometry
68   microsoft     =       microsoft(natural)
69   microsoftpro  =       microsoft(natural)
70   microsoftprousb =     microsoft(natural)
71   microsoftprose =      microsoft(natural)
72   dell101       =       dell(dell101)
73   flexpro       =       keytronic(FlexPro)
74   hp6000        =       hp(omnibook)
75   omnikey101    =       northgate(omnikey101)
76   thinkpad      =       ibm_vndr/thinkpad(common)
77  $pcmodels      =       pc(%m)
78   jp106         =       pc(jp106)
79   everex        =       everex(STEPnote)
80   winbook       =       winbook(XP5)
81   pc98          =       nec(pc98)
82   abnt2         =       pc(abnt2)
83  $mac           =       macintosh(macintosh)
84   *             =       pc(pc104)
85
86 ! model         variant         layout  =       symbols
87  $maclaptop     nodeadkeys      *       =       macintosh_vndr/us(extended)+macintosh_vndr/%l%(v)+macintosh_vndr/apple(laptop_bad_switch)
88  $mac           nodeadkeys      *       =       macintosh_vndr/us(extended)+macintosh_vndr/%l%(v)
89
90 ! model         layout  =       symbols
91   pc98          nec/jp  =       nec_vndr/jp(pc98)
92   abnt2         br      =       pc(pc104)+br
93  $maclaptop     us      =       macintosh_vndr/us(extended)+macintosh_vndr/apple(laptop_bad_switch)
94  $maclaptop     en_US   =       macintosh_vndr/us(extended)+macintosh_vndr/apple(laptop_bad_switch)
95  $maclaptop     *       =       macintosh_vndr/us(extended)+apple(laptop_bad_switch)+macintosh_vndr/%l%(v)
96  $mac           us      =       macintosh_vndr/us(extended)
97  $mac           en_US   =       macintosh_vndr/us(extended)
98  $mac           *       =       macintosh_vndr/us(extended)+macintosh_vndr/%l%(v)
99  $pcmodels      intl    =       us(%mcompose)
100   *             intl    =       us(pc104compose)
101   *             jp      =       pc(pc102)+jp(latin)+jp:2
102  $pcmodels      ca      =       pc(%m)+ca(multi)+ca(multi-2gr):2+group(rctrl_switch)
103   *             ca      =       pc(pc105)+ca(multi)+ca(multi-2gr):2+group(rctrl_switch)
104  $pcmodels $nonlatin    =       pc(%m)+us+%l%(v):2
105  $pcmodels      *       =       pc(%m)+%l%(v)
106   *        $nonlatin    =       pc(pc105)+us+%l%(v):2
107   *             *       =       pc(pc105)+%l%(v)
108
109 ! model     layout[1]   =       symbols
110  $pcmodels      *       =       pc(%m)+%l[1]%(v[1])
111   *             *       =       pc(pc105)+%l[1]%(v[1])
112
113 ! layout[2]     =       symbols
114   *             =       +%l[2]%(v[2]):2
115
116 ! layout[3]     =       symbols
117   *             =       +%l[3]%(v[3]):3
118
119 ! layout[4]     =       symbols
120   *             =       +%l[4]%(v[4]):4
121
122 ! model         =       symbols
123   $inetkbds     =       +inet(%m)
124
125 ! model         layout  =       compat
126   pc98          nec/jp  =       pc98(basic)
127   *             *       =       complete
128
129 ! model      layout[1]  =       compat
130   *             *       =       complete
131
132 ! model         =       types
133   *             =       complete
134
135 ! option                =       symbols
136   grp:switch            =       +group(switch)
137   grp:lswitch           =       +group(lswitch)
138   grp:win_switch        =       +group(win_switch)
139   grp:lwin_switch       =       +group(lwin_switch)
140   grp:rwin_switch       =       +group(rwin_switch)
141   grp:toggle            =       +group(toggle)
142   grp:shift_toggle      =       +group(shift_toggle)
143   grp:ctrls_toggle      =       +group(ctrls_toggle)
144   grp:alts_toggle       =       +group(alts_toggle)
145   grp:ctrl_shift_toggle =       +group(ctrl_shift_toggle)
146   grp:caps_toggle       =       +group(caps_toggle)
147   grp:shift_caps_toggle =       +group(shift_caps_toggle)
148   grp:ctrl_alt_toggle   =       +group(ctrl_alt_toggle)
149   grp:alt_shift_toggle  =       +group(alt_shift_toggle)
150   grp:menu_toggle       =       +group(menu_toggle)
151   grp:lwin_toggle       =       +group(lwin_toggle)
152   grp:rwin_toggle       =       +group(rwin_toggle)
153   grp:lshift_toggle     =       +group(lshift_toggle)
154   grp:rshift_toggle     =       +group(rshift_toggle)
155   grp:lctrl_toggle      =       +group(lctrl_toggle)
156   grp:rctrl_toggle      =       +group(rctrl_toggle)
157   grp:lalt_toggle       =       +group(lalt_toggle)
158   lv3:switch            =       +level3(switch)
159   lv3:ralt_switch       =       +level3(ralt_switch)
160   lv3:lalt_switch       =       +level3(lalt_switch)
161   lv3:alt_switch        =       +level3(alt_switch)
162   lv3:menu_switch       =       +level3(menu_switch)
163   lv3:win_switch        =       +level3(win_switch)
164   lv3:lwin_switch       =       +level3(lwin_switch)
165   lv3:rwin_switch       =       +level3(rwin_switch)
166   ctrl:nocaps           =       +ctrl(nocaps)
167   ctrl:swapcaps         =       +ctrl(swapcaps)
168   ctrl:ctrl_ac          =       +ctrl(ctrl_ac)
169   ctrl:ctrl_aa          =       +ctrl(ctrl_aa)
170   ctrl:ctrl_ra          =       +ctrl(ctrl_ra)
171   altwin:menu           =       +altwin(menu)
172   altwin:meta_alt       =       +altwin(meta_alt)
173   altwin:meta_win       =       +altwin(meta_win)
174   altwin:left_meta_win  =       +altwin(left_meta_win)
175   altwin:super_win      =       +altwin(super_win)
176   altwin:hyper_win      =       +altwin(hyper_win)
177   altwin:alt_super_win  =       +altwin(alt_super_win)
178   compose:ralt          =       +compose(ralt)
179   compose:rwin          =       +compose(rwin)
180   compose:menu          =       +compose(menu)
181   srvrkeys:none         =       +srvr_ctrl(no_srvr_keys)
182
183 ! option                =       compat
184   grp_led:num           =       +leds(num)
185   grp_led:caps          =       +leds(caps)
186   grp_led:scroll        =       +leds(scroll)
187
188 ! option                        =       types
189   caps:internal                 =       +caps(internal)
190   caps:internal_nocancel        =       +caps(internal_nocancel)
191   caps:shift                    =       +caps(shift)
192   caps:shift_nocancel           =       +caps(shift_nocancel)
193   numpad:microsoft              =       +numpad(microsoft)