// $Xorg: xfree86,v 1.3 2000/08/17 19:54:42 cpqbld Exp $

//
//  Rules for resolving XKB components for use with XFree86
//  Copyright 1996 by Joseph Moss
//
//  2002 Modifier: Ivan Pascal      The XFree86 Project
//  $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.85 2004/11/18 21:26:18 dawes Exp $
//

// Layouts that still need be composed by old rules
! $oldlayouts = bs ca_enhanced de_CH fr_CH lt_std hr_US

// If you want non-latin layouts implicitly include the en_US layout
// uncomment lines below
//! $nonlatin = am ar ben bg by dev el ge_la ge_ru guj gur il il_phonetic\
//              ir iu kan lo mk mm ml ori ru sin sr syr syr_phonetic tel th\
//              tj tml ua

! $pcmodels = pc101 pc102 pc104 pc105
! $maclaptop = ibook powerbook
! $mac = macintosh macintosh_old ibook powerbook

! model 	=	keycodes
  macintosh_old	=	macintosh
  powerpcps2	=	powerpcps2
  pc98		=	xfree98(pc98)
  jp106		=	xfree86(jp106)
  *		=	xfree86

! $azerty = be fr fr-latin9
! $qwertz = al cz de hr hu pl2 ro si sk 

! layout[1]	=	keycodes
  $azerty       =       +aliases(azerty)
  $qwertz       =       +aliases(qwertz)
  *             =       +aliases(qwerty)

! layout	=	keycodes
  $azerty       =       +aliases(azerty)
  $qwertz       =       +aliases(qwertz)
  *             =       +aliases(qwerty)

! model 	=	geometry
  microsoft	=	microsoft(natural)
  microsoftpro	=	microsoft(natural)
  microsoftprose =	microsoft(natural)
  dell101	=	dell(dell101)
  flexpro	=	keytronic(FlexPro)
  hp6000	=	hp(omnibook)
  omnikey101	=	northgate(omnikey101)
  thinkpad	=	ibm/thinkpad(common)
 $pcmodels	=	pc(%m)
  jp106		=	pc(jp106)
  everex	=	everex(STEPnote)
  winbook	=	winbook(XP5)
  pc98		=	nec(pc98)
  abnt2_104	=	pc(abnt2_104)
  abnt2_107	=	pc(abnt2_107)
  abnt2		=	pc(abnt2_104)
 $mac		=	macintosh(macintosh)
  *		=       pc(pc104)

! model		variant		layout	=	symbols
 $maclaptop	nodeadkeys	*	=	macintosh/us(extended)+macintosh/%l%(v)+apple(laptop_bad_switch)
 $mac		nodeadkeys	*	=	macintosh/us(extended)+macintosh/%l%(v)
 $pcmodels	nodeadkeys  $oldlayouts	=	en_US(%m%_v)+%l%(v)
  *		nodeadkeys  $oldlayouts	=	en_US(pc105%_v)+%l%(v)

! model		layout	=	symbols
  pc98		nec/jp	=	nec/jp(pc98)
 $maclaptop	us	=	macintosh/us(extended)+apple(laptop_bad_switch)
 $maclaptop	en_US	=	macintosh/us(extended)+apple(laptop_bad_switch)
 $maclaptop	*	=	macintosh/us(extended)+apple(laptop_bad_switch)+macintosh/%l%(v)
 $mac		us	=	macintosh/us(extended)
 $mac		en_US	=	macintosh/us(extended)
 $mac		*	=	macintosh/us(extended)+macintosh/%l%(v)
 $pcmodels      intl    =       us(%mcompose)
  *		intl	=	us(pc104compose) 
  *		jp	=	jp
 $pcmodels      ca      =       pc/pc(%m)+pc/ca(multi)+pc/ca(multi-2gr):2+group(rctrl_switch)
  *             ca      =       pc/pc(pc105)+pc/ca(multi)+pc/ca(multi-2gr):2+group(rctrl_switch)
 $pcmodels $oldlayouts  =       en_US(%m)+%l%(v)
 $pcmodels $nonlatin	=	pc/pc(%m)+pc/us+pc/%l%(v):2
 $pcmodels	*	=	pc/pc(%m)+pc/%l%(v)
  *	   $oldlayouts  =       en_US(pc105)+%l%(v)
  *	   $nonlatin	=	pc/pc(pc105)+pc/us+pc/%l%(v):2
  *		*	=	pc/pc(pc105)+pc/%l%(v)

! model	    layout[1]	=	symbols
 $pcmodels	*	=	pc/pc(%m)+pc/%l[1]%(v[1])
  *		*	=	pc/pc(pc105)+pc/%l[1]%(v[1])

! layout[2]	=	symbols
  *		=	+pc/%l[2]%(v[2]):2

! layout[3]	=	symbols
  *		=	+pc/%l[3]%(v[3]):3

! layout[4]	=	symbols
  *		=	+pc/%l[4]%(v[4]):4
 
! $inetkbds = airkey acpi scorpius azonaRF2300 \
              brother \
              btc5113rf btc5126t btc9000 btc9000a btc9001ah btc5090\
              cherryblue cherrybluea \
              chicony chicony9885 \
              compaqeak8 compaqik7 compaqik13 compaqik18 armada presario ipaq \
              dell inspiron dtk2000 \
              dexxa diamond genius geniuscomfy2 genius_kb12e \
              ennyah_dkb1008 \
              hpi6 hp2501 hp2505 hp5181 hpxe3gc hpxe3gf hpxe4xxx hpzt11xx \
              hp500fa hp5xx hp5185 \
              honeywell_euroboard \
              rapidaccess rapidaccess2 rapidaccess2a \
              ltcd logiaccess logicdp logicdpa logicink logiciink \
              logiinkse logiinkseusb logiik itouch \
              mx1998 mx2500 mx2750 \
              microsoftinet microsoftpro microsoftprooem microsoftprousb \
              microsoftoffice microsoftmult \
              oretec \
              propeller \
              qtronix \
              samsung4500 samsung4510 \
              sk1300 sk2500 sk6200 sk7100 \
              sven symplon toshiba_s3000 trust trustda yahoo

! model         =       symbols
  $inetkbds     =       +inet(%m)

! model		layout	=	compat
  pc98		nec/jp	=	pc98(basic)
  *		*	=	complete

! model	     layout[1]	=	compat
  *		*	=	complete

! model		=	types
  *		=	complete

! option		=	symbols
  grp:switch		=	+group(switch)
  grp:lswitch		=	+group(lswitch)
  grp:win_switch	=	+group(win_switch)
  grp:lwin_switch	=	+group(lwin_switch)
  grp:rwin_switch	=	+group(rwin_switch)
  grp:toggle		=	+group(toggle)
  grp:shift_toggle	=	+group(shift_toggle)
  grp:ctrls_toggle	=	+group(ctrls_toggle)
  grp:alts_toggle	=	+group(alts_toggle)
  grp:ctrl_shift_toggle	=	+group(ctrl_shift_toggle)
  grp:caps_toggle	=	+group(caps_toggle)
  grp:shift_caps_toggle	=	+group(shift_caps_toggle)
  grp:ctrl_alt_toggle	=	+group(ctrl_alt_toggle)
  grp:alt_shift_toggle	=	+group(alt_shift_toggle)
  grp:menu_toggle	=	+group(menu_toggle)
  grp:lwin_toggle	=	+group(lwin_toggle)
  grp:rwin_toggle	=	+group(rwin_toggle)
  grp:lshift_toggle	=	+group(lshift_toggle)
  grp:rshift_toggle	=	+group(rshift_toggle)
  grp:lctrl_toggle	=	+group(lctrl_toggle)
  grp:rctrl_toggle	=	+group(rctrl_toggle)
  grp:lalt_toggle	=	+group(lalt_toggle)
  lv3:switch		=	+level3(switch)
  lv3:ralt_switch	=	+level3(ralt_switch)
  lv3:lalt_switch	=	+level3(lalt_switch)
  lv3:alt_switch	=	+level3(alt_switch)
  lv3:menu_switch	=	+level3(menu_switch)
  lv3:win_switch	=	+level3(win_switch)
  lv3:lwin_switch	=	+level3(lwin_switch)
  lv3:rwin_switch	=	+level3(rwin_switch)
  ctrl:nocaps		=	+ctrl(nocaps)
  ctrl:swapcaps		=	+ctrl(swapcaps)
  ctrl:ctrl_ac		=	+ctrl(ctrl_ac)
  ctrl:ctrl_aa		=	+ctrl(ctrl_aa)
  ctrl:ctrl_ra		=	+ctrl(ctrl_ra)
  altwin:menu		=	+altwin(menu)
  altwin:meta_alt	=	+altwin(meta_alt)
  altwin:meta_win	=	+altwin(meta_win)
  altwin:left_meta_win	=	+altwin(left_meta_win)
  altwin:super_win	=	+altwin(super_win)
  altwin:hyper_win	=	+altwin(hyper_win)
  compose:ralt		=	+compose(ralt)
  compose:rwin		=	+compose(rwin)
  compose:menu		=	+compose(menu)
  srvrkeys:none		=	+srvr_ctrl(no_srvr_keys)

! option		=	compat
  grp_led:num		=	+leds(num)
  grp_led:caps		=	+leds(caps)
  grp_led:scroll	=	+leds(scroll)

! option			=	types
  caps:internal			=	+caps(internal)
  caps:internal_nocancel	=	+caps(internal_nocancel)
  caps:shift			=	+caps(shift)
  caps:shift_nocancel		=	+caps(shift_nocancel)
  numpad:microsoft		=	+numpad(microsoft)
