// $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.41 2001/12/28 16:03:30 dawes Exp $
//

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

! layout[1]	=	keycodes
  be		= 	+aliases(azerty)
  fr		= 	+aliases(azerty)
  al		= 	+aliases(qwertz)
  cz		= 	+aliases(qwertz)
  de		= 	+aliases(qwertz)
  hr		= 	+aliases(qwertz)
  pl2		= 	+aliases(qwertz)
  si		= 	+aliases(qwertz)
  sk		= 	+aliases(qwertz)
  si		= 	+aliases(qwertz)
  *		=	+aliases(qwerty)

! model 	=	geometry
  microsoft	=	microsoft(natural)
  microsoftpro	=	microsoft(natural)
  dell101	=	dell(dell101)
  flexpro	=	keytronic(FlexPro)
  omnikey101	=	northgate(omnikey101)
  pc101		=	pc(pc101)
  pc102		=	pc(pc102)
  pc104		=	pc(pc104)
  pc105		=	pc(pc105)
  jp106		=	pc(jp106)
  everex	=	everex(STEPnote)
  winbook	=	winbook(XP5)
  pc98		=	nec(pc98)
  abnt2		=	pc
  macintosh	=	macintosh(macintosh)
  macintosh_old	=	macintosh(macintosh)
  *		=       pc(pc104)

! model		variant		layout	=	symbols
  pc102		nodeadkeys	*	=	en_US(pc102%_v)+%l%(v)
  pc104		nodeadkeys	*	=	en_US(pc104%_v)+%l%(v)
  pc105		nodeadkeys	*	=	en_US(pc105%_v)+%l%(v)
  microsoft	nodeadkeys	*	=	en_US(pc104%_v)+%l%(v)
  macintosh	nodeadkeys	*	=	macintosh/us(extended)+macintosh/%l%(v)
  powerpcps2	nodeadkeys	*	=	en_US(pc104%_v)+%l%(v)
  *		nodeadkeys	*	=	en_US(pc101%_v)+%l%(v)

! model		layout	=	symbols
  pc101		us	=	us(pc101)
  pc101		en_US	=	en_US(pc101)
  pc101		intl	=	us(pc101compose)
  pc101		*	=	en_US(pc101)+%l%(v)
  pc102		us	=	us(pc102)
  pc102		en_US	=	en_US(pc102)
  pc102		intl	=	us(pc102compose)
  pc102		*	=	en_US(pc102)+%l%(v)
  pc104		us	=	us(pc104)
  pc104		en_US	=	en_US(pc104)
  pc104		intl	=	us(pc104compose)
  pc104		*	=	en_US(pc104)+%l%(v)
  pc105		us	=	us(pc105)
  pc105		en_US	=	en_US(pc105)
  pc105		intl	=	us(pc105compose)
  pc105		*	=	en_US(pc105)+%l%(v)
  pc104		us	=	us(pc104)
  pc104		en_US	=	en_US(pc104)
  pc104		*	=	en_US(pc104)+%l%(v)
  pc105		us	=	us(pc105)
  pc105		en_US	=	en_US(pc105)
  pc105		*	=	en_US(pc105)+%l%(v)
  pc101		us_intl	=	us(pc101)+us_intl
  pc98		nec/jp	=	nec/jp(pc98)
  abnt2		br	=	us(pc101)+br
  macintosh	us	=	macintosh/us(extended)
  macintosh	en_US	=	macintosh/us(extended)
  macintosh	*	=	macintosh/us(extended)+macintosh/%l%(v)
  macintosh_old	us	=	macintosh/us(extended)
  macintosh_old	en_US	=	macintosh/us(extended)
  macintosh_old	*	=	macintosh/us(extended)+macintosh/%l%(v)
  *		jp	=	jp
  *		us	=	us(pc104)
  *		en_US	=	en_US(pc104)
  *		intl	=	us(pc104compose)
  *		*	=	en_US(pc104)+%l%(v)

! model	    layout[1]	=	symbols
  pc101		*	=	pc/pc(%m)+pc/%l[1]%(v[1])
  pc102		*	=	pc/pc(%m)+pc/%l[1]%(v[1])
  pc103		*	=	pc/pc(%m)+pc/%l[1]%(v[1])
  pc104		*	=	pc/pc(%m)+pc/%l[1]%(v[1])
  pc105		*	=	pc/pc(%m)+pc/%l[1]%(v[1])
  *		*	=	pc/pc(104)+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
 
! model		=	symbols
  hp		=	+inet(%m)
  compaq	=	+inet(%m)
  itouch	=	+inet(%m)
  logicordless	=	+inet(%m)
  logiinternet	=	+inet(%m)
  microsoftpro	=	+inet(%m)
  geniuscomfy	=	+inet(%m)
  btc9000	=	+inet(%m)
  rapidaccess	=	+inet(%m)
  rapidaccess2	=	+inet(%m)
  chicony	=	+inet(%m)
  dell		=	+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: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:ctrl_shift_toggle	=	+group(ctrl_shift_toggle)
  grp:caps_toggle	=	+group(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)
  lv3:switch		=	+level3(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)
  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)

! 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)
