This is a patch to add sun type6 keyboard support. It comed from the patches debian puts on the 4.3.0 source before building the packages. I think this type of info should be passed to the XFree86 core so that everyone who uses XFree86 can take advantage of this.
Warren Turkal --- xc/programs/xkbcomp/keycodes/sun~ 2002-10-31 02:42:01.000000000 -0500 +++ xc/programs/xkbcomp/keycodes/sun 2002-10-31 02:45:50.000000000 -0500 @@ -301,6 +301,152 @@ indicator 1 = "Num Lock"; }; +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; + + <LALT> = 64; + <LCTL> = 37; + <SPCE> = 65; + <ALGR> = 113; + alias <RALT> = <ALGR>; + + <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; + + <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"; +}; + xkb_keycodes "type4_euro" { include "sun(type4)" <LSGT> = 131; @@ -311,6 +457,11 @@ <LSGT> = 131; }; +xkb_keycodes "type6_euro" { + include "sun(type6)" + <LSGT> = 94; +}; + xkb_keycodes "type5_se" { minimum= 8; --- xc/programs/xkbcomp/symbols/sun/us~ 2002-10-31 02:53:25.000000000 -0500 +++ xc/programs/xkbcomp/symbols/sun/us 2002-10-31 03:10:18.000000000 -0500 @@ -34,8 +34,7 @@ key <TLDE> { [ grave, asciitilde ], [ acute ] }; key <AC11> { [ apostrophe, quotedbl ], [ acute ] }; - key <RTSH> { [ Shift_R ] }; - + key <RTSH> { [ Shift_R ] }; key <LALT> { [ Alt_L ] }; key <ALGR> { [ Mode_switch ] }; key <LMTA> { [ Meta_L ] }; @@ -95,19 +94,19 @@ key <KP1> { [ KP_End, KP_1 ], [ F33 ] }; key <KP2> { [ KP_Down, KP_2 ], [ F34 ] }; key <KP3> { [ KP_Next, KP_3 ], [ F35 ] }; - key <KPEN> { [ KP_Enter ] }; + key <KPEN> { [ KP_Enter ] }; key <KP0> { [ KP_Insert, KP_0 ] }; key <KPDL> { [ KP_Delete, KP_Decimal ] }; // End "Keypad" section // begin modifier mappings - 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 }; - modifier_map Mod5 { F13, F18, F20 }; + 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 }; + modifier_map Mod5 { F13, F18, F20 }; }; hidden partial function_keys xkb_symbols "broken_openlook_map" { @@ -137,7 +136,7 @@ key <TLDE> { [ grave, asciitilde ], [ acute ] }; key <AC11> { [ apostrophe, quotedbl ], [ acute ] }; - key <RTSH> { [ Shift_R ] }; + key <RTSH> { [ Shift_R ] }; key <LALT> { [ Alt_L ] }; key <ALGR> { [ Mode_switch ] }; @@ -157,36 +156,36 @@ key <FK08> { [ F8 ] }; key <FK09> { [ F9 ] }; key <FK10> { [ F10 ] }; - key <FK11> { [ F11 ], [ SunF36 ] }; - key <FK12> { [ F12 ], [ SunF37 ] }; - 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 <FK11> { [ F11 ], [ SunF36 ] }; + key <FK12> { [ F12 ], [ SunF37 ] }; + 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 ] }; // End "Function" section // Begin "Editing" section - key <PRSC> { [ Print ], [ Sys_Req, SunSys_Req ] }; - key <SCLK> { [ Scroll_Lock ] }; - key <PAUS> { [ Pause ], [ Break ] }; - key <LEFT> { [ Left ] }; - key <RGHT> { [ Right ] }; - key <UP> { [ Up ] }; - key <DOWN> { [ Down ] }; - - key <DELE> { [ Delete ] }; - key <INS> { [ Insert ] }; - key <PGUP> { [ Prior ] }; - key <PGDN> { [ Next ] }; - key <HOME> { [ Home ] }; - key <END> { [ End ] }; - key <HELP> { [ Help ] }; + key <PRSC> { [ Print ], [ Sys_Req, SunSys_Req ] }; + key <SCLK> { [ Scroll_Lock ] }; + key <PAUS> { [ Pause ], [ Break ] }; + key <LEFT> { [ Left ] }; + key <RGHT> { [ Right ] }; + key <UP> { [ Up ] }; + key <DOWN> { [ Down ] }; + + key <DELE> { [ Delete ] }; + key <INS> { [ Insert ] }; + key <PGUP> { [ Prior ] }; + key <PGDN> { [ Next ] }; + key <HOME> { [ Home ] }; + key <END> { [ End ] }; + key <HELP> { [ Help ] }; // End "Editing" section, begin "Keypad" key <NMLK> { [ Num_Lock ] }; @@ -210,7 +209,7 @@ key <KP0> { [ KP_Insert, KP_0 ] }; key <KPDL> { [ KP_Delete, KP_Decimal ] }; - // End "Keypad" section, + // End "Keypad" section, // begin "four keys up on the right" key <MUTE> { [ SunAudioMute, SunVideoDegauss ] }; @@ -219,12 +218,12 @@ key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] }; // begin modifier mappings - modifier_map Shift { Shift_R }; - modifier_map Mod1 { Alt_L }; - modifier_map Mod2 { Num_Lock }; - modifier_map Mod3 { Mode_switch }; - modifier_map Mod4 { Meta_L, Meta_R}; - modifier_map Mod5 { Scroll_Lock }; + modifier_map Shift { Shift_R }; + modifier_map Mod1 { Alt_L }; + modifier_map Mod2 { Num_Lock }; + modifier_map Mod3 { Mode_switch }; + modifier_map Mod4 { Meta_L, Meta_R}; + modifier_map Mod5 { Scroll_Lock }; }; // US/ASCII layout for a Type 5 Sun keyboard w/ broken OpenLook keymap @@ -233,3 +232,107 @@ include "sun/us(broken_openlook_map)" }; +// US/ASCII layout for a Type 6 Sun keyboard +xkb_symbols "sun6" { + augment "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 + 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 }; +}; + +// US/ASCII layout for a Type 6 Sun keyboard w/ broken OpenLook keymap +xkb_symbols "sun6ol" { + override "sun/us(sun6)" + include "sun/us(broken_openlook_map)" +}; --- xc/programs/xkbcomp/rules/sun~ 2002-10-31 02:47:31.000000000 -0500 +++ xc/programs/xkbcomp/rules/sun 2002-10-31 03:14:49.000000000 -0500 @@ -1,21 +1,27 @@ // $XFree86: xc/programs/xkbcomp/rules/sun,v 3.1 2000/05/18 23:21:43 dawes Exp $ ! model = keycodes geometry - type4 = sun(type4) sun(type4) - type5 = sun(type5) sun + type4 = sun(type4) sun(type4) + type5 = sun(type5) sun(type5) type5_euro = sun(type5_euro) sun(type5euro) type5_unix = sun(type5) sun(type5unix) + type6 = sun(type6) sun(type5) // no type6 yet + type6_euro = sun(type6_euro) sun(type5) ! model layout = symbols type4 us = sun/us(sun4) type5 us = sun/us(sun5) type5_unix us = sun/us(sun5) + type6 us = sun/us(sun6) type4 en_US = sun/us(sun4)+iso9995-3(basic) type5 en_US = sun/us(sun5)+iso9995-3(basic) type5_unix en_US = sun/us(sun5)+iso9995-3(basic) + type6 en_US = sun/us(sun6)+iso9995-3(basic) type4 * = sun/us(sun4)+%l%(v) type5 * = sun/us(sun5)+%l%(v) type5_euro * = sun/us(sun5)+%l%(v) + type6 * = sun/us(sun6)+%l%(v) + type6_euro * = sun/us(sun6)+%l%(v) ! model layout = compat types * * = complete complete --- xc/programs/xkbcomp/rules/sun.lst~ 2002-10-31 02:51:07.000000000 -0500 +++ xc/programs/xkbcomp/rules/sun.lst 2002-10-31 03:15:09.000000000 -0500 @@ -5,6 +5,8 @@ type5 Sun Type5 type5_euro Sun Type5 European type5_unix Sun Type5 Unix + type6 Sun Type6 + type6 Sun Type6 European ! layout be Belgian -- Treasurer, GOLUM, Inc. http://www.golum.org _______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel