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

//
//  Rules for resolving XKB components for use with X
//  Copyright 1996 by Joseph Moss
//
//  2002 Modifier: Ivan Pascal      The XFree86 Project
//

// Layouts that still need be composed by old rules
! $oldlayouts = az bs ca ca_enhanced de_CH fr_CH hu hu_qwerty lt_std mn vn 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 sr syr syr_phonetic tel th\
//              tj tml ua

// Sun keyboards
! model			=    keycodes			geometry
  sun_type4		=    sun(type4)			sun(type4)
  sun_type4_ca		=    sun(type4_ca)		sun(type4_ca)
  sun_type4_jp		=    sun(type4_jp)		sun(type4jp)
  sun_type4_euro	=    sun(type4tuv)		sun(type4tuv)
  sun_type5		=    sun(type5)			sun(type5)
  sun_type5_euro	=    sun(type5tuv)		sun(type5tuv)
  sun_type5_jp		=    sun(type5_jp)		sun(type5jp)
  sun_type5_unix	=    sun(type5)			sun(type5unix)
  sun_type5_hobo	=    sun(type5hobo)		sun(type5hobo)
  sun_type5_euro_hobo	=    sun(type5tuvhobo)		sun(type5tuvhobo)
  sun_type5_jp_hobo	=    sun(type5_jphobo)		sun(type5jphobo)
  sun_type5_unix_hobo	=    sun(type5hobo)		sun(type5hobo)
  sun_type6		=    sun(type6)                 sun(type6)
  sun_type6_euro	=    sun(type6tuv)	        sun(type6tuv)
  sun_type6_jp		=    sun(type6_jp)		sun(type6jp)
  sun_type6_unix	=    sun(type6unix)		sun(type6unix)
  sun_type6_usb		=    sun(type6_usb)		sun(type6)
  sun_type6_euro_usb	=    sun(type6tuv_usb)	        sun(type6tuv)
  sun_type6_jp_usb	=    sun(type6_jp_usb)		sun(type6jp)
  sun_type6_unix_usb	=    sun(type6_usb)		sun(type6unix)

! $sun = sun_type4 sun_type4_ca sun_type4_jp sun_type4_euro sun_type5 sun_type5_euro sun_type5_jp sun_type5_unix sun_type5_hobo sun_type5_euro_hobo sun_type5_jp_hobo sun_type5_unix_hobo sun_type6 sun_type6_euro sun_type6_jp sun_type6_unix sun_type6_usb sun_type6_euro_usb sun_type6_jp_usb sun_type6_unix_usb
! $sun_type4 = sun_type4 sun_type4_ca sun_type4_jp sun_type4_euro 
| $sun_type5 = sun_type5 sun_type5_euro sun_type5_jp sun_type5_unix 
| $sun_hobo = sun_type5_hobo sun_type5_euro_hobo sun_type5_jp_hobo sun_type5_unix_hobo 
! $sun_type6 = sun_type6 sun_type6_euro sun_type6_jp sun_type6_unix sun_type6_usb sun_type6_euro_usb sun_type6_jp_usb sun_type6_unix_usb
// Sun Type 6 keyboards with custom/non-standard layouts
! $sun_t6_custom = es gb it ko jp pt ru tw
! $sun_jp = sun_type4_jp sun_type5_jp sun_type6_jp sun_type6_jp_usb


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

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

! $azerty = be fr fr-latin9
! $qwertz = al cz de hr 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		=	pc(abnt2)
 $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
  $sun_type4	*	=	sun/us(type4)+sun/%l(type4)
  $sun_type5	*	=	sun/us(type5)+sun/%l(type5)
  $sun_hobo	*	=	sun/us(type5hobo)+sun/%l(type5hobo)
  $sun_type6	us	=	sun/us(type6)+sun/solaris(defaults)
  $sun_type6	jp	=	sun/us(type6)+sun/jp(type6)
  $sun_type6	$sun_t6_custom	=	sun/us(type6)+sun/%l(type6)
  $sun_type6	*	=	sun/us(type6)+%l(sundeadkeys)
  pc98		nec/jp	=	nec/jp(pc98)
  abnt2		br	=	pc/pc(pc104)+pc/br
 $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 $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 \
              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 microsoftprose \
              microsoftoffice microsoftmult \
              oretec \
              propeller \
              qtronix \
              samsung4500 samsung4510 \
              sk1300 sk2500 sk6200 sk7100 \
              sven symplon toshiba_s3000 trust trustda yahoo

! model         =       symbols
  $inetkbds     =       +inet(%m)
  *	        =       +sun/solaris(defaults)

! model		layout	=	compat
  $sun_jp	jp	=	+japan(kana_lock)
  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)
  solaris:defaults	=	+sun/solaris(defaults)
  solaris:keynames	=	+sun/solaris(keynames)
  solaris:xf86keynames	=	+sun/solaris(xf86keynames)

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

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