--- lib/X11/xkb/keycodes/xfree86.orig	Thu Aug  3 18:49:26 2000
+++ lib/X11/xkb/keycodes/xfree86	Thu Aug  3 14:04:42 2000
@@ -786,3 +786,169 @@
     alias <ALGR> = <RALT>;
 };
 
+
+xkb_keycodes "type6" {
+
+    minimum= 8;
+    maximum= 255;
+
+    <TLDE> =  49;
+    <AE01> =  10;
+    <AE02> =  11;
+    <AE03> =  12;
+    <AE04> =  13;
+    <AE05> =  14;
+    <AE06> =  15;
+    <AE07> =  16;
+    <AE08> =  17;
+    <AE09> =  18;
+    <AE10> =  19;
+    <AE11> =  20;
+    <AE12> =  21;
+    <BKSP> =  22;
+
+    <TAB>  =  23;
+    <AD01> =  24;
+    <AD02> =  25;
+    <AD03> =  26;
+    <AD04> =  27;
+    <AD05> =  28;
+    <AD06> =  29;
+    <AD07> =  30;
+    <AD08> =  31;
+    <AD09> =  32;
+    <AD10> =  33;
+    <AD11> =  34;
+    <AD12> =  35;
+    <RTRN> =  36;
+
+    <CAPS> =  66;
+    <AC01> =  38;
+    <AC02> =  39;
+    <AC03> =  40;
+    <AC04> =  41;
+    <AC05> =  42;
+    <AC06> =  43;
+    <AC07> =  44;
+    <AC08> =  45;
+    <AC09> =  46;
+    <AC10> =  47;
+    <AC11> =  48;
+
+    <LFSH> =  50;
+    <AB01> =  52;
+    <AB02> =  53;
+    <AB03> =  54;
+    <AB04> =  55;
+    <AB05> =  56;
+    <AB06> =  57;
+    <AB07> =  58;
+    <AB08> =  59;
+    <AB09> =  60;
+    <AB10> =  61;
+    <RTSH> =  62;
+    <BKSL> =  51;
+    // this appears to be less-than-greater-than??  what's that??
+    <LSGT> =  94;
+
+// this stuff follows the spirit of keycodes/sun(type5)
+    <LALT> =  64;
+    <LCTL> =  37;
+    <SPCE> =  65;
+    // we don't have a right control, but...
+    <RCTL> = 109;
+    <ALGR> = 113;
+
+//    <LWIN> = 115;
+//    <RWIN> = 116;
+//    <MENU> = 117;
+//    alias <ALGR> = <RALT>;
+
+
+    alias <RALT> = <ALGR>;
+    // Meta (diamond) keys
+    <LMTA> = 115;
+    <RMTA> = 116;
+    <COMP> = 117;
+
+    <ESC>  =   9;
+    <FK01> =  67;
+    <FK02> =  68;
+    <FK03> =  69;
+    <FK04> =  70;
+    <FK05> =  71;
+    <FK06> =  72;
+    <FK07> =  73;
+    <FK08> =  74;
+    <FK09> =  75;
+    <FK10> =  76;
+    <FK11> =  95;
+    <FK12> =  96;
+
+    <PRSC> = 111;
+    <SCLK> =  78;
+    <PAUS> = 110;
+
+    <INS>  = 106;
+    <HOME> =  97;
+    <PGUP> =  99;
+    <DELE> = 107;
+    <END>  = 103;
+    <PGDN> = 105;
+
+    <UP>   =  98;
+    <LEFT> = 100;
+    <DOWN> = 104;
+    <RGHT> = 102;
+
+    <NMLK> =  77;
+    <KPDV> = 112;
+    <KPMU> =  63;
+    <KPSU> =  82;
+
+    <KP7>  =  79;
+    <KP8>  =  80;
+    <KP9>  =  81;
+    <KPAD> =  86;
+
+    <KP4>  =  83;
+    <KP5>  =  84;
+    <KP6>  =  85;
+
+    <KP1>  =  87;
+    <KP2>  =  88;
+    <KP3>  =  89;
+    <KPEN> = 108;
+
+    <KP0>  =  90;
+    <KPDL> =  91;
+
+// again, from sun/type5
+    <STOP> = 222;
+    <AGAI> = 223;
+    <PROP> = 224;
+    <UNDO> = 225;
+    <FRNT> = 226;
+    <COPY> = 227;
+    <OPEN> = 228;
+    <PAST> = 229;
+    <FIND> = 230;
+    <CUT>  = 231;
+
+    <HELP> = 232;
+
+    <MUTE> = 165;
+    <VOL-> = 159;
+    <VOL+> = 158;
+    <POWR> = 160;
+
+    indicator 1 = "Caps Lock";
+    indicator 2 = "Num Lock";
+    indicator 3 = "Scroll Lock";
+
+// test
+//    <CUT>  = 188;
+
+};
+
+
--- lib/X11/xkb/rules/xfree86.orig	Wed Aug  2 09:45:23 2000
+++ lib/X11/xkb/rules/xfree86	Wed Aug  2 21:42:45 2000
@@ -23,6 +23,8 @@
   pc98		=	xfree98(pc98)	nec(pc98)
   abnt2		=	xfree86(abnt2)	pc(abnt2)
   hp            =       xfree86         pc(pc104)
+  sun_type6_usb        =       xfree86(type6)  sun(type5)
+
 
 //! model		layout	=	symbols
 //  microsoft	us	=	us(pc104)
@@ -78,6 +80,7 @@
   itouch	us	=	us(pc104)+inet(itouch)
   itouch	en_US	=	en_US(pc104)+inet(itouch)
   itouch	*	=	en_US(pc104)+inet(itouch)+%l%(v)
+  sun_type6_usb        *       =       us(sun_type6_usb)
   microsoftpro	us	=	us(pc104)+inet(microsoftpro)
   microsoftpro	en_US	=	en_US(pc104)+inet(microsoftpro)
   microsoftpro	*	=	en_US(pc104)+inet(microsoftpro)+%l%(v)
--- lib/X11/xkb/symbols/us.orig Wed Aug  2 21:36:31 2000
+++ lib/X11/xkb/symbols/us      Thu Aug 17 16:50:10 2000
@@ -231,6 +231,107 @@
     modifier_map Mod4   { Meta_L, Meta_R };
 };
 
+// definition for Sun Type 6 USB
+xkb_symbols "sun_type6_usb" {
+    include "us(basic)"
+
+    key <RTSH> {       [       Shift_R         ]       };
+    key <LALT> {       [       Alt_L           ]       };
+    key <RCTL> {       [       Control_R       ]       };
+    key <RALT> {       [       Alt_R           ]       };
+    key <LMTA> {       [       Meta_L          ]       };
+    key <RMTA> {       [       Meta_R          ]       };
+    key <COMP> {       [       Multi_key       ]       };
+
+    // Begin "Function" section
+    key <FK01> {       [        F1             ]       };
+    key <FK02> {       [        F2             ]       };
+    key <FK03> {       [        F3             ]       };
+    key <FK04> {       [        F4             ]       };
+    key <FK05> {       [        F5             ]       };
+    key <FK06> {       [        F6             ]       };
+    key <FK07> {       [        F7             ]       };
+    key <FK08> {       [        F8             ]       };
+    key <FK09> {       [        F9             ]       };
+    key <FK10> {       [        F10            ]       };
+    key <FK11> {       [        F11            ]       };
+    key <FK12> {       [        F12            ]       };
+    // End "Function" section
+
+    // Begin "Editing" section
+    key <PRSC> {
+       type= "PC_SYSRQ",
+       symbols[Group1]= [ Print, Execute ]
+    };
+    key <SCLK> {  [  Scroll_Lock       ]       };
+    key <PAUS> {
+       type= "PC_BREAK",
+       symbols[Group1]= [ Pause, Break ]
+    };
+    key  <INS> {  [  Insert            ]       };
+    key <HOME> {       [  Home                 ]       };
+    key <PGUP> {       [  Prior                ]       };
+    key <DELE> { [ Delete              ]                       };
+    key  <END> {       [  End                  ]       };
+    key <PGDN> {       [  Next                 ]       };
+
+    key   <UP> {       [  Up                   ]       };
+    key <LEFT> {       [  Left                 ]       };
+    key <DOWN> {       [  Down                 ]       };
+    key <RGHT> {       [  Right                ]       };
+
+    // End "Editing" section, begin "Keypad"
+    key <NMLK> {       [  Num_Lock, Pointer_EnableKeys         ]       };
+    key <KPDV> {       [  KP_Divide            ]       };
+    key <KPMU> {       [  KP_Multiply          ]       };
+    key <KPSU> {       [  KP_Subtract          ]       };
+
+    key  <KP7> {       [  KP_Home,     KP_7    ]       };
+    key  <KP8> {       [  KP_Up,       KP_8    ]       };
+    key  <KP9> {       [  KP_Prior,    KP_9    ]       };
+    key <KPAD> {       [       KP_Add          ]       };
+
+    key  <KP4> {       [  KP_Left,     KP_4    ]       };
+    key  <KP5> {       [  KP_Begin,    KP_5    ]       };
+    key  <KP6> {       [  KP_Right,    KP_6    ]       };
+
+    key  <KP1> {       [  KP_End,      KP_1    ]       };
+    key  <KP2> {       [  KP_Down,     KP_2    ]       };
+    key  <KP3> {       [  KP_Next,     KP_3    ]       };
+    key <KPEN> {       [       KP_Enter        ]       };
+
+    key  <KP0> {       [  KP_Insert,   KP_0    ]       };
+    key <KPDL> {  [  KP_Delete,        KP_Decimal ]    };
+    // End "Keypad" section
+
+    key <MUTE> { [  SunAudioMute,       SunVideoDegauss         ]       };
+    key <VOL-> { [  SunAudioLowerVolume,SunVideoLowerBrightness ]       };
+    key <VOL+> { [  SunAudioRaiseVolume,SunVideoRaiseBrightness ]       };
+    key <POWR> { [  SunPowerSwitch,     SunPowerSwitchShift     ]       };
+
+    // from symbols/sun/us(type5)
+    key <STOP> { [ Cancel       ],      [ F11   ]       };
+    key <AGAI> { [ Redo         ],      [ F12   ]       };
+    key <PROP> { [ SunProps     ],      [ F13   ]       };
+    key <UNDO> { [ Undo         ],      [ F14   ]       };
+    key <FRNT> { [ SunFront     ],      [ F15   ]       };
+    key <COPY> { [ SunCopy      ],      [ F16   ]       };
+    key <OPEN> { [ SunOpen      ],      [ F17   ]       };
+    key <PAST> { [ SunPaste     ],      [ F18   ]       };
+    key <FIND> { [ Find         ],      [ F19   ]       };
+    key <CUT>  { [ SunCut       ],      [ F20   ]       };
+
+    key <HELP> { [ Help                         ]                       };
+
+    // begin modifier mappings
+// XXX should Shift_L be here too?
+    modifier_map Shift  { Shift_R };
+    modifier_map Mod1   { Meta_L, Meta_R };
+    modifier_map Mod2   { Alt_L };
+    modifier_map Mod3   { Mode_switch };
+    modifier_map Mod4   { Num_Lock };
+};
+
 // definition of Euro-style, Right "logo" key == [Mode_switch, Multi_key]
 xkb_symbols "pc104euro" {
     include "us(pc104)"
