[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#236086: New sun/us file breaks keyboard layout



Hi,

after upgrading xlibs to version 4.3.0.dfsg.1-9 my keyboard was not
usable anymore (Q was Tab, Compose was Enter, Find was m). XFree86
sayed:

syntax error: line 104 of sun/us
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            Error interpreting include file "sun/us"
>                   Exiting
>                   Abandoning symbols file "default"

The problem was in sun/us in each line, that contained srvr_ctrl. I
disabled all of them and the keyboard worked again. I guess the changes
from Denis Barbier are responsible for this:

  Changes by Denis Barbier:

  * Make Sun keyboards load srvr_ctrl(xfree86) symbol definitions to
    have access to standard Ctrl+Alt key sequences.  (Closes: #236086)


I have a SUN Ultra 5, running kernel-image-2.4.26-sparc64 on an unstable
debian.

I have no idea why srvr_ctrl is not working, so I don't know which
further information you may need. I did /usr/share/bug/xlibs. I attached
the output.


Thx 

Henry


Keyboard-related contents of XFree86 X server log file
/var/log/XFree86.0.log:
(==) Using config file: "/etc/X11/XF86Config-4"
(==) ServerLayout "Default Layout"
(**) |-->Screen "Default Screen" (0)
(**) |   |-->Monitor "Generic Monitor"
(**) |   |-->Device "Generic Video Card"
(**) |-->Input Device "Generic Keyboard"
(**) Option "XkbRules" "sun"
(**) XKB: rules: "sun"
(**) Option "XkbModel" "type5"
(**) XKB: model: "type5"
(**) Option "XkbLayout" "us"
(**) XKB: layout: "us"
(==) Keyboard: CustomKeycode disabled
(**) |-->Input Device "Configured Mouse"
(WW) The directory "/usr/lib/X11/fonts/cyrillic" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/lib/X11/fonts/CID" does not exist.
	Entry deleted from font path.
--
(**) ATI(0): DPMS enabled
(==) RandR enabled
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension LBX
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFree86-Bigfont
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Keyboard "Generic Keyboard" handled by legacy driver
(**) Option "Protocol" "BusMouse"
(**) Configured Mouse: Protocol: "BusMouse"
(**) Option "CorePointer"
(**) Configured Mouse: Core Pointer
(**) Option "Device" "/dev/sunmouse"
--
Warning: font renderer for ".snf.gz" already registered at priority 0
Warning: font renderer for ".bdf" already registered at priority 0
Warning: font renderer for ".bdf.Z" already registered at priority 0
Warning: font renderer for ".bdf.gz" already registered at priority 0
Warning: font renderer for ".pmf" already registered at priority 0
Error loading keymap /usr/X11R6/lib/X11/xkb/compiled/server-0.xkm
GetModeLine - scrn: 0 clock: 108000
GetModeLine - hdsp: 1152 hbeg: 1216 hend: 1344 httl: 1600
              vdsp: 864 vbeg: 865 vend: 868 vttl: 900 flags: 5

Keyboard-related contents of XFree86 X server log file
/var/log/XFree86.1.log:
(==) Using config file: "/etc/X11/XF86Config-4"
(==) ServerLayout "Default Layout"
(**) |-->Screen "Default Screen" (0)
(**) |   |-->Monitor "Generic Monitor"
(**) |   |-->Device "Generic Video Card"
(**) |-->Input Device "Generic Keyboard"
(**) Option "XkbRules" "sun"
(**) XKB: rules: "sun"
(**) Option "XkbModel" "type5"
(**) XKB: model: "type5"
(**) Option "XkbLayout" "us"
(**) XKB: layout: "us"
(==) Keyboard: CustomKeycode disabled
(**) |-->Input Device "Configured Mouse"
(WW) The directory "/usr/lib/X11/fonts/cyrillic" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/lib/X11/fonts/CID" does not exist.
	Entry deleted from font path.
--
(**) ATI(0): DPMS enabled
(==) RandR enabled
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension LBX
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFree86-Bigfont
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Keyboard "Generic Keyboard" handled by legacy driver
(**) Option "Protocol" "BusMouse"
(**) Configured Mouse: Protocol: "BusMouse"
(**) Option "CorePointer"
(**) Configured Mouse: Core Pointer
(**) Option "Device" "/dev/sunmouse"

XFree86 X server log files on system:
-rw-r--r--  1 root root 36510 Dec 16 17:28 /var/log/XFree86.1.log
-rw-r--r--  1 root root 36733 Dec 16 17:57 /var/log/XFree86.0.log

Compiled XKB description for X server ":0":
xkb_keymap {
xkb_keycodes "sun(type5)" {
    minimum = 8;
    maximum = 132;
    <STOP> = 8;
    <VOL-> = 9;
    <AGAI> = 10;
    <VOL+> = 11;
    <FK01> = 12;
    <FK02> = 13;
    <FK10> = 14;
    <FK03> = 15;
    <FK11> = 16;
    <FK04> = 17;
    <FK12> = 18;
    <FK05> = 19;
    <ALGR> = 20;
    <FK06> = 21;
    <FK07> = 23;
    <FK08> = 24;
    <FK09> = 25;
    <LALT> = 26;
      <UP> = 27;
    <PAUS> = 28;
    <PRSC> = 29;
    <SCLK> = 30;
    <LEFT> = 31;
    <PROP> = 32;
    <UNDO> = 33;
    <DOWN> = 34;
    <RGHT> = 35;
     <ESC> = 36;
    <AE01> = 37;
    <AE02> = 38;
    <AE03> = 39;
    <AE04> = 40;
    <AE05> = 41;
    <AE06> = 42;
    <AE07> = 43;
    <AE08> = 44;
    <AE09> = 45;
    <AE10> = 46;
    <AE11> = 47;
    <AE12> = 48;
    <TLDE> = 49;
    <BKSP> = 50;
     <INS> = 51;
    <MUTE> = 52;
    <KPDV> = 53;
    <KPMU> = 54;
    <POWR> = 55;
    <FRNT> = 56;
    <KPDL> = 57;
    <COPY> = 58;
    <HOME> = 59;
     <TAB> = 60;
    <AD01> = 61;
    <AD02> = 62;
    <AD03> = 63;
    <AD04> = 64;
    <AD05> = 65;
    <AD06> = 66;
    <AD07> = 67;
    <AD08> = 68;
    <AD09> = 69;
    <AD10> = 70;
    <AD11> = 71;
    <AD12> = 72;
    <DELE> = 73;
    <COMP> = 74;
     <KP7> = 75;
     <KP8> = 76;
     <KP9> = 77;
    <KPSU> = 78;
    <OPEN> = 79;
    <PAST> = 80;
     <END> = 81;
    <LCTL> = 83;
    <AC01> = 84;
    <AC02> = 85;
    <AC03> = 86;
    <AC04> = 87;
    <AC05> = 88;
    <AC06> = 89;
    <AC07> = 90;
    <AC08> = 91;
    <AC09> = 92;
    <AC10> = 93;
    <AC11> = 94;
    <BKSL> = 95;
    <RTRN> = 96;
    <KPEN> = 97;
     <KP4> = 98;
     <KP5> = 99;
     <KP6> = 100;
     <KP0> = 101;
    <FIND> = 102;
    <PGUP> = 103;
     <CUT> = 104;
    <NMLK> = 105;
    <LFSH> = 106;
    <AB01> = 107;
    <AB02> = 108;
    <AB03> = 109;
    <AB04> = 110;
    <AB05> = 111;
    <AB06> = 112;
    <AB07> = 113;
    <AB08> = 114;
    <AB09> = 115;
    <AB10> = 116;
    <RTSH> = 117;
     <KP1> = 119;
     <KP2> = 120;
     <KP3> = 121;
    <HELP> = 125;
    <CAPS> = 126;
    <LMTA> = 127;
    <SPCE> = 128;
    <RMTA> = 129;
    <PGDN> = 130;
    <KPAD> = 132;
    indicator 1 = "Num Lock";
    indicator 2 = "Scroll Lock";
    indicator 3 = "Compose";
    indicator 4 = "Caps Lock";
    virtual indicator 5 = "Shift Lock";
    virtual indicator 6 = "Group 2";
    virtual indicator 7 = "Mouse Keys";
    alias <RALT> = <ALGR>;
};

xkb_types "complete" {

    virtual_modifiers
NumLock,Alt,LevelThree,AltGr,Meta,Super,Hyper,ScrollLock;

    type "ONE_LEVEL" {
        modifiers= none;
        level_name[Level1]= "Any";
    };
    type "TWO_LEVEL" {
        modifiers= Shift;
        map[Shift]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
    };
    type "ALPHABETIC" {
        modifiers= Shift+Lock;
        map[Shift]= Level2;
        map[Lock]= Level1;
        preserve[Lock]= Lock;
        level_name[Level1]= "Base";
        level_name[Level2]= "Caps";
    };
    type "KEYPAD" {
        modifiers= Shift+NumLock;
        map[Shift]= Level2;
        map[NumLock]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Number";
    };
    type "SHIFT+ALT" {
        modifiers= Shift+Alt;
        map[Shift+Alt]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift+Alt";
    };
    type "PC_BREAK" {
        modifiers= Control;
        map[Control]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Control";
    };
    type "PC_SYSRQ" {
        modifiers= Alt;
        map[Alt]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Alt";
    };
    type "CTRL+ALT" {
        modifiers= Control+Alt;
        map[Control+Alt]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Ctrl+Alt";
    };
    type "THREE_LEVEL" {
        modifiers= Shift+LevelThree;
        map[Shift]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level3;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Level3";
    };
    type "FOUR_LEVEL" {
        modifiers= Shift+LevelThree;
        map[Shift]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
    };
    type "FOUR_LEVEL_ALPHABETIC" {
        modifiers= Shift+Lock+LevelThree;
        map[Shift]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[Lock+LevelThree]= Level3;
        preserve[Lock+LevelThree]= Lock;
        map[Shift+Lock+LevelThree]= Level3;
        map[Lock]= Level1;
        preserve[Lock]= Lock;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
    };
    type "FOUR_LEVEL_KEYPAD" {
        modifiers= Shift+NumLock+LevelThree;
        map[Shift]= Level2;
        map[NumLock]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[NumLock+LevelThree]= Level4;
        map[Shift+NumLock+LevelThree]= Level3;
        level_name[Level1]= "Base";
        level_name[Level2]= "Number";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Alt Number";
    };
};

xkb_compatibility "complete" {

    virtual_modifiers
NumLock,Alt,LevelThree,AltGr,Meta,Super,Hyper,ScrollLock;

    interpret.useModMapMods= AnyLevel;
    interpret.repeat= False;
    interpret.locking= False;
    interpret ISO_Level2_Latch+Exactly(Shift) {
        useModMapMods=level1;
        action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
    };
    interpret Shift_Lock+AnyOf(Shift+Lock) {
        action= LockMods(modifiers=Shift);
    };
    interpret Num_Lock+AnyOf(all) {
        virtualModifier= NumLock;
        action= LockMods(modifiers=NumLock);
    };
    interpret ISO_Lock+AnyOf(all) {
        action= ISOLock(modifiers=modMapMods,affect=all);
    };
    interpret ISO_Level3_Shift+AnyOf(all) {
        virtualModifier= LevelThree;
        useModMapMods=level1;
        action= SetMods(modifiers=LevelThree,clearLocks);
    };
    interpret ISO_Level3_Latch+AnyOf(all) {
        virtualModifier= LevelThree;
        useModMapMods=level1;
        action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
    };
    interpret ISO_Level3_Lock+AnyOf(all) {
        virtualModifier= LevelThree;
        useModMapMods=level1;
        action= LockMods(modifiers=LevelThree);
    };
    interpret Alt_L+AnyOf(all) {
        virtualModifier= Alt;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Alt_R+AnyOf(all) {
        virtualModifier= Alt;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Meta_L+AnyOf(all) {
        virtualModifier= Meta;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Meta_R+AnyOf(all) {
        virtualModifier= Meta;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Super_L+AnyOf(all) {
        virtualModifier= Super;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Super_R+AnyOf(all) {
        virtualModifier= Super;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Hyper_L+AnyOf(all) {
        virtualModifier= Hyper;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Hyper_R+AnyOf(all) {
        virtualModifier= Hyper;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Scroll_Lock+AnyOf(all) {
        virtualModifier= ScrollLock;
        action= LockMods(modifiers=modMapMods);
    };
    interpret Mode_switch+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= SetGroup(group=+1);
    };
    interpret ISO_Level3_Shift+AnyOfOrNone(all) {
        action= SetMods(modifiers=LevelThree,clearLocks);
    };
    interpret ISO_Level3_Latch+AnyOfOrNone(all) {
        action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
    };
    interpret ISO_Level3_Lock+AnyOfOrNone(all) {
        action= LockMods(modifiers=LevelThree);
    };
    interpret ISO_Group_Latch+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= LatchGroup(group=2);
    };
    interpret ISO_Next_Group+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= LockGroup(group=+1);
    };
    interpret ISO_Prev_Group+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= LockGroup(group=-1);
    };
    interpret ISO_First_Group+AnyOfOrNone(all) {
        action= LockGroup(group=1);
    };
    interpret ISO_Last_Group+AnyOfOrNone(all) {
        action= LockGroup(group=2);
    };
    interpret KP_1+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+1);
    };
    interpret KP_End+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+1);
    };
    interpret KP_2+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=+1);
    };
    interpret KP_Down+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=+1);
    };
    interpret KP_3+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+1);
    };
    interpret KP_Next+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+1);
    };
    interpret KP_4+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+0);
    };
    interpret KP_Left+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+0);
    };
    interpret KP_6+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+0);
    };
    interpret KP_Right+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+0);
    };
    interpret KP_7+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=-1);
    };
    interpret KP_Home+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=-1);
    };
    interpret KP_8+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=-1);
    };
    interpret KP_Up+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=-1);
    };
    interpret KP_9+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=-1);
    };
    interpret KP_Prior+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=-1);
    };
    interpret KP_5+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default);
    };
    interpret KP_Begin+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default);
    };
    interpret KP_F2+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=1);
    };
    interpret KP_Divide+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=1);
    };
    interpret KP_F3+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=2);
    };
    interpret KP_Multiply+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=2);
    };
    interpret KP_F4+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=3);
    };
    interpret KP_Subtract+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=3);
    };
    interpret KP_Separator+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default,count=2);
    };
    interpret KP_Add+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default,count=2);
    };
    interpret KP_0+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=lock);
    };
    interpret KP_Insert+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=lock);
    };
    interpret KP_Decimal+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=unlock);
    };
    interpret KP_Delete+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=unlock);
    };
    interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
        action= PtrBtn(button=default);
    };
    interpret Pointer_Button1+AnyOfOrNone(all) {
        action= PtrBtn(button=1);
    };
    interpret Pointer_Button2+AnyOfOrNone(all) {
        action= PtrBtn(button=2);
    };
    interpret Pointer_Button3+AnyOfOrNone(all) {
        action= PtrBtn(button=3);
    };
    interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
        action= PtrBtn(button=default,count=2);
    };
    interpret Pointer_DblClick1+AnyOfOrNone(all) {
        action= PtrBtn(button=1,count=2);
    };
    interpret Pointer_DblClick2+AnyOfOrNone(all) {
        action= PtrBtn(button=2,count=2);
    };
    interpret Pointer_DblClick3+AnyOfOrNone(all) {
        action= PtrBtn(button=3,count=2);
    };
    interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
        action= LockPtrBtn(button=default,affect=both);
    };
    interpret Pointer_Drag1+AnyOfOrNone(all) {
        action= LockPtrBtn(button=1,affect=both);
    };
    interpret Pointer_Drag2+AnyOfOrNone(all) {
        action= LockPtrBtn(button=2,affect=both);
    };
    interpret Pointer_Drag3+AnyOfOrNone(all) {
        action= LockPtrBtn(button=3,affect=both);
    };
    interpret Pointer_EnableKeys+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeys);
    };
    interpret Pointer_Accelerate+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeysAccel);
    };
    interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
        action= SetPtrDflt(affect=button,button=+1);
    };
    interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
        action= SetPtrDflt(affect=button,button=-1);
    };
    interpret AccessX_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=AccessXKeys);
    };
    interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=AccessXFeedback);
    };
    interpret RepeatKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=RepeatKeys);
    };
    interpret SlowKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=SlowKeys);
    };
    interpret BounceKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=BounceKeys);
    };
    interpret StickyKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=StickyKeys);
    };
    interpret MouseKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeys);
    };
    interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeysAccel);
    };
    interpret Overlay1_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=Overlay1);
    };
    interpret Overlay2_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=Overlay2);
    };
    interpret AudibleBell_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=AudibleBell);
    };
    interpret Terminate_Server+AnyOfOrNone(all) {
        action= Terminate();
    };
    interpret Alt_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Alt,clearLocks);
    };
    interpret Alt_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Alt,clearLocks);
    };
    interpret Meta_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Meta,clearLocks);
    };
    interpret Meta_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Alt,clearLocks);
    };
    interpret Super_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Super,clearLocks);
    };
    interpret Super_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Super,clearLocks);
    };
    interpret Hyper_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Hyper,clearLocks);
    };
    interpret Hyper_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Hyper,clearLocks);
    };
    interpret XF86_Switch_VT_1+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=1,!same);
    };
    interpret XF86_Switch_VT_2+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=2,!same);
    };
    interpret XF86_Switch_VT_3+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=3,!same);
    };
    interpret XF86_Switch_VT_4+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=4,!same);
    };
    interpret XF86_Switch_VT_5+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=5,!same);
    };
    interpret XF86_Switch_VT_6+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=6,!same);
    };
    interpret XF86_Switch_VT_7+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=7,!same);
    };
    interpret XF86_Switch_VT_8+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=8,!same);
    };
    interpret XF86_Switch_VT_9+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=9,!same);
    };
    interpret XF86_Switch_VT_10+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=10,!same);
    };
    interpret XF86_Switch_VT_11+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=11,!same);
    };
    interpret XF86_Switch_VT_12+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=12,!same);
    };
    interpret XF86_Ungrab+AnyOfOrNone(all) {
        repeat= True;
        action=
Private(type=0x86,data[0]=0x55,data[1]=0x6e,data[2]=0x67,data[3]=0x72,data[4]=0x61,data[5]=0x62,data[6]=0x00);
    };
    interpret XF86_ClearGrab+AnyOfOrNone(all) {
        repeat= True;
        action=
Private(type=0x86,data[0]=0x43,data[1]=0x6c,data[2]=0x73,data[3]=0x47,data[4]=0x72,data[5]=0x62,data[6]=0x00);
    };
    interpret XF86_Next_VMode+AnyOfOrNone(all) {
        repeat= True;
        action=
Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
    };
    interpret XF86_Prev_VMode+AnyOfOrNone(all) {
        repeat= True;
        action=
Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
    };
    interpret Any+Exactly(Lock) {
        action= LockMods(modifiers=Lock);
    };
    interpret Any+AnyOf(all) {
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    group 2 = AltGr;
    group 3 = AltGr;
    group 4 = AltGr;
    indicator "Num Lock" {
        !allowExplicit;
        whichModState= locked;
        modifiers= NumLock;
    };
    indicator "Scroll Lock" {
        whichModState= locked;
        modifiers= ScrollLock;
    };
    indicator "Caps Lock" {
        !allowExplicit;
        whichModState= locked;
        modifiers= Lock;
    };
    indicator "Shift Lock" {
        !allowExplicit;
        whichModState= locked;
        modifiers= Shift;
    };
    indicator "Group 2" {
        !allowExplicit;
        groups= 0xfe;
    };
    indicator "Mouse Keys" {
        indicatorDrivesKeyboard;
        controls= mouseKeys;
    };
};

xkb_symbols "unknown" {

    key <FK02> {         [              F1,             F11 ] };
    key <FK10> {         [              F2,             F12 ] };
    key <FK03> {         [             F10,             F20 ] };
    key <FK11> {         [              F3,             F13 ] };
    key <FK04> {         [             F11 ] };
    key <FK12> {         [              F4,             F14 ] };
    key <FK05> {         [             F12 ] };
    key <ALGR> {         [              F5,             F15 ] };
    key <FK06> {         [           Alt_R ] };
    key     <> {         [              F6,             F16 ] };
    key <FK08> {         [              F7,             F17 ] };
    key <FK09> {         [              F8,             F18 ] };
    key <LALT> {         [              F9,             F19 ] };
    key   <UP> {         [           Alt_L ] };
    key <PAUS> {         [              Up ] };
    key <PRSC> {         [           Pause ] };
    key <LEFT> {         [     Scroll_Lock ] };
    key <PROP> {         [            Left ] };
    key <RGHT> {         [            Down ] };
    key  <ESC> {         [           Right ] };
    key <AE01> {         [          Escape ] };
    key <AE02> {         [               1,          exclam ] };
    key <AE03> {         [               2,              at ] };
    key <AE04> {         [               3,      numbersign ] };
    key <AE05> {         [               4,          dollar ] };
    key <AE06> {         [               5,         percent ] };
    key <AE07> {         [               6,     asciicircum ] };
    key <AE08> {         [               7,       ampersand ] };
    key <AE09> {         [               8,        asterisk ] };
    key <AE10> {         [               9,       parenleft ] };
    key <AE11> {         [               0,      parenright ] };
    key <AE12> {         [           minus,      underscore ] };
    key <TLDE> {         [           equal,            plus ] };
    key <BKSP> {         [           grave,      asciitilde ] };
    key  <INS> {         [       BackSpace ] };
    key <MUTE> {         [          Insert ] };
    key <KPDV> {         [           equal ] };
    key <KPMU> {         [       KP_Divide ] };
    key <POWR> {         [     KP_Multiply ] };
    key <COPY> {         [      KP_Decimal ] };
    key  <TAB> {         [            Home ] };
    key <AD01> {         [             Tab ] };
    key <AD02> {         [               q,               Q ] };
    key <AD03> {         [               w,               W ] };
    key <AD04> {         [               e,               E ] };
    key <AD05> {         [               r,               R ] };
    key <AD06> {         [               t,               T ] };
    key <AD07> {         [               y,               Y ] };
    key <AD08> {         [               u,               U ] };
    key <AD09> {         [               i,               I ] };
    key <AD10> {         [               o,               O ] };
    key <AD11> {         [               p,               P ] };
    key <AD12> {         [     bracketleft,       braceleft ] };
    key <DELE> {         [    bracketright,      braceright ] };
    key <COMP> {         [       BackSpace ] };
    key  <KP7> {         [       Multi_key ] };
    key  <KP8> {         [            KP_7 ] };
    key  <KP9> {         [            KP_8 ] };
    key <KPSU> {         [            KP_9 ] };
    key <OPEN> {         [     KP_Subtract ] };
    key <AC01> {         [       Control_L ] };
    key <AC02> {         [               a,               A ] };
    key <AC03> {         [               s,               S ] };
    key <AC04> {         [               d,               D ] };
    key <AC05> {         [               f,               F ] };
    key <AC06> {         [               g,               G ] };
    key <AC07> {         [               h,               H ] };
    key <AC08> {         [               j,               J ] };
    key <AC09> {         [               k,               K ] };
    key <AC11> {         [       semicolon,           colon ] };
    key <BKSL> {         [      apostrophe,        quotedbl ] };
    key <RTRN> {         [       backslash,             bar ] };
    key <KPEN> {         [               c,               C ] };
    key  <KP4> {         [               v,               V ] };
    key  <KP5> {         [               b,               B ] };
    key  <KP6> {         [               n,               N ] };
    key  <KP0> {         [            KP_6 ] };
    key <FIND> {         [               m,               M ] };
    key <PGUP> {         [           comma,            less ] };
    key  <CUT> {         [          period,         greater ] };
    key <NMLK> {         [           slash,        question ] };
    key <LFSH> {         [         Shift_L ] };
    key <AB01> {         [        Linefeed ] };
    key <AB02> {         [           Prior ] };
    key <AB04> {         [       Caps_Lock ] };
    key <AB05> {         [         Shift_L ] };
    key <AB06> {         [        Num_Lock ] };
    key <AB07> {         [               z,               Z ] };
    key <AB08> {         [               x,               X ] };
    key  <KP1> {         [            Next ] };
    key <LMTA> {         [        KP_Enter ] };
    key <SPCE> {         [            KP_4 ] };
    key <RMTA> {         [            KP_5 ] };
    key <PGDN> {         [            KP_6 ] };
    modifier_map Mod1 { <FK06> };
    modifier_map Mod1 { <UP> };
    modifier_map Mod5 { <LEFT> };
    modifier_map Control { <AC01> };
    modifier_map Shift { <LFSH> };
    modifier_map Lock { <AB04> };
    modifier_map Shift { <AB05> };
    modifier_map Mod2 { <AB06> };
};

xkb_geometry "sun(type5)" {

    width=       515;
    height=      170;

    baseColor=   "white";
    labelColor=  "black";
    xfont=
"-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
    description= "Sun Type5 keyboard";

    shape "EDGE" { corner= 2,{ [ 515, 170 ] } };
    shape "NORM" {
        corner= 1,
        { [  18,  18 ] },
        { [   2,   1 ], [  16,  17 ] }
    };
    shape "BKSP" {
        corner= 1,
        { [  37,  18 ] },
        { [   2,   1 ], [  35,  17 ] }
    };
    shape "TABK" {
        corner= 1,
        { [  27,  18 ] },
        { [   2,   1 ], [  25,  17 ] }
    };
    shape "BKSL" {
        corner= 1,
        { [  27,  18 ] },
        { [   2,   1 ], [  25,  17 ] }
    };
    shape "RTRN" {
        corner= 1,
        { [  42,  18 ] },
        { [   2,   1 ], [  40,  17 ] }
    };
    shape "CAPS" {
        corner= 1,
        { [  32,  18 ] },
        { [   2,   1 ], [  30,  17 ] }
    };
    shape "LFSH" {
        corner= 1,
        { [  42,  18 ] },
        { [   2,   1 ], [  40,  17 ] }
    };
    shape "RTSH" {
        corner= 1,
        { [  51,  18 ] },
        { [   2,   1 ], [  49,  17 ] }
    };
    shape "LCTL" {
        corner= 1,
        { [  32,  18 ] },
        { [   2,   1 ], [  30,  17 ] }
    };
    shape "MODK" {
        corner= 1,
        { [  28,  18 ] },
        { [   2,   1 ], [  26,  17 ] }
    };
    shape "SPCE" {
        corner= 1,
        { [ 157,  18 ] },
        { [   2,   1 ], [ 155,  17 ] }
    };
    shape "KP0" {
        corner= 1,
        { [  37,  18 ] },
        { [   2,   1 ], [  35,  17 ] }
    };
    shape "KPAD" {
        corner= 1,
        { [  18,  37 ] },
        { [   2,   1 ], [  16,  36 ] }
    };
    shape "HELP" {
        corner= 1,
        { [  37,  18 ] },
        { [   2,   1 ], [  35,  17 ] }
    };
    shape "LOGO" { corner= 1,{ [  16,  16 ] } };
    section "Function" {
        key.color= "white";
        priority=  1;
        top=       24;
        left=      14;
        width=     481;
        height=    19;
        row {
            top=  1;
            left= 1;
            keys {
                { <HELP>, "HELP",   1 }, {  <ESC>, "NORM",   9 },
                { <FK01>, "NORM",  19 }, { <FK02>, "NORM",   1 },
                { <FK03>, "NORM",   1 }, { <FK04>, "NORM",   1 },
                { <FK05>, "NORM",  11 }, { <FK06>, "NORM",   1 },
                { <FK07>, "NORM",   1 }, { <FK08>, "NORM",   1 },
                { <FK09>, "NORM",  11 }, { <FK10>, "NORM",   1 },
                { <FK11>, "NORM",   1 }, { <FK12>, "NORM",   1 },
                { <PRSC>, "NORM",   9 }, { <SCLK>, "NORM",   1 },
                { <PAUS>, "NORM",   1 }, { <MUTE>, "NORM",   9 },
                { <VOL->, "NORM",   1 }, { <VOL+>, "NORM",   1 },
                { <POWR>, "NORM",   1 }
            };
        };
    }; // End of "Function" section

    section "Alpha" {
        key.color= "white";
        priority=  2;
        top=       61;
        left=      14;
        width=     333;
        height=    95;
        row {
            top=  1;
            left= 1;
            keys {
                { <STOP>, "NORM",   1 }, { <AGAI>, "NORM",   1 },
                { <TLDE>, "NORM",   9 }, { <AE01>, "NORM",   1 },
                { <AE02>, "NORM",   1 }, { <AE03>, "NORM",   1 },
                { <AE04>, "NORM",   1 }, { <AE05>, "NORM",   1 },
                { <AE06>, "NORM",   1 }, { <AE07>, "NORM",   1 },
                { <AE08>, "NORM",   1 }, { <AE09>, "NORM",   1 },
                { <AE10>, "NORM",   1 }, { <AE11>, "NORM",   1 },
                { <AE12>, "NORM",   1 },
                { <BKSP>, "BKSP",   1, color="grey20" }
            };
        };
        row {
            top=  20;
            left= 1;
            keys {
                { <PROP>, "NORM",   1 }, { <UNDO>, "NORM",   1 },
                {  <TAB>, "TABK",   9 }, { <AD01>, "NORM",   1 },
                { <AD02>, "NORM",   1 }, { <AD03>, "NORM",   1 },
                { <AD04>, "NORM",   1 }, { <AD05>, "NORM",   1 },
                { <AD06>, "NORM",   1 }, { <AD07>, "NORM",   1 },
                { <AD08>, "NORM",   1 }, { <AD09>, "NORM",   1 },
                { <AD10>, "NORM",   1 }, { <AD11>, "NORM",   1 },
                { <AD12>, "NORM",   1 }, { <BKSL>, "BKSL",   1 }
            };
        };
        row {
            top=  39;
            left= 1;
            keys {
                { <FRNT>, "NORM",   1 }, { <COPY>, "NORM",   1 },
                { <CAPS>, "CAPS",   9 }, { <AC01>, "NORM",   1 },
                { <AC02>, "NORM",   1 }, { <AC03>, "NORM",   1 },
                { <AC04>, "NORM",   1 }, { <AC05>, "NORM",   1 },
                { <AC06>, "NORM",   1 }, { <AC07>, "NORM",   1 },
                { <AC08>, "NORM",   1 }, { <AC09>, "NORM",   1 },
                { <AC10>, "NORM",   1 }, { <AC11>, "NORM",   1 },
                { <RTRN>, "RTRN",   1 }
            };
        };
        row {
            top=  58;
            left= 1;
            keys {
                { <OPEN>, "NORM",   1 }, { <PAST>, "NORM",   1 },
                { <LFSH>, "LFSH",   9 }, { <AB01>, "NORM",   1 },
                { <AB02>, "NORM",   1 }, { <AB03>, "NORM",   1 },
                { <AB04>, "NORM",   1 }, { <AB05>, "NORM",   1 },
                { <AB06>, "NORM",   1 }, { <AB07>, "NORM",   1 },
                { <AB08>, "NORM",   1 }, { <AB09>, "NORM",   1 },
                { <AB10>, "NORM",   1 },
                { <RTSH>, "RTSH",   1, color="grey20" }
            };
        };
        row {
            top=  77;
            left= 1;
            keys {
                { <FIND>, "NORM",   1 }, {  <CUT>, "NORM",   1 },
                { <LCTL>, "LCTL",   9 }, { <LALT>, "NORM",   1 },
                { <LMTA>, "NORM",   1 }, { <SPCE>, "SPCE",   1 },
                { <RMTA>, "NORM",   1 }, { <COMP>, "NORM",   1 },
                { <ALGR>, "NORM",   1 }
            };
        };
    }; // End of "Alpha" section

    section "Editing" {
        key.color= "white";
        priority=  3;
        top=       61;
        left=      352;
        width=     58;
        height=    95;
        row {
            top=  1;
            left= 1;
            keys {
                {  <INS>, "NORM",   1 }, { <HOME>, "NORM",   1 },
                { <PGUP>, "NORM",   1 }
            };
        };
        row {
            top=  20;
            left= 1;
            keys {
                { <DELE>, "NORM",   1 }, {  <END>, "NORM",   1 },
                { <PGDN>, "NORM",   1 }
            };
        };
        row {
            top=  58;
            left= 20;
            keys {
                {   <UP>, "NORM",   1 }
            };
        };
        row {
            top=  77;
            left= 1;
            keys {
                { <LEFT>, "NORM",   1 }, { <DOWN>, "NORM",   1 },
                { <RGHT>, "NORM",   1 }
            };
        };
    }; // End of "Editing" section

    section "Keypad" {
        key.color= "white";
        priority=  4;
        top=       61;
        left=      420;
        width=     77;
        height=    95;
        row {
            top=  1;
            left= 1;
            keys {
                { <NMLK>, "NORM",   1 }, { <KPDV>, "NORM",   1 },
                { <KPMU>, "NORM",   1 }, { <KPSU>, "NORM",   1 }
            };
        };
        row {
            top=  20;
            left= 1;
            keys {
                {  <KP7>, "NORM",   1 }, {  <KP8>, "NORM",   1 },
                {  <KP9>, "NORM",   1 },
                { <KPAD>, "KPAD",   1, color="grey20" }
            };
        };
        row {
            top=  39;
            left= 1;
            keys {
                {  <KP4>, "NORM",   1 }, {  <KP5>, "NORM",   1 },
                {  <KP6>, "NORM",   1 }
            };
        };
        row {
            top=  58;
            left= 1;
            keys {
                {  <KP1>, "NORM",   1 }, {  <KP2>, "NORM",   1 },
                {  <KP3>, "NORM",   1 },
                { <KPEN>, "KPAD",   1, color="grey20" }
            };
        };
        row {
            top=  77;
            left= 1;
            keys {
                {  <KP0>, "KP0",   1 }, { <KPDL>, "NORM",   1 }
            };
        };
    }; // End of "Keypad" section

    outline "Edges" {
        top=      0;
        left=     0;
        priority= 0;
        shape= "EDGE";
    };
};

};






Reply to: