// $TOG: sun /main/7 1997/03/26 16:50:29 kaleb $
//
//Copyright (c) 1996  X Consortium
//
//Permission is hereby granted, free of charge, to any person obtaining
//a copy of this software and associated documentation files (the
//"Software"), to deal in the Software without restriction, including
//without limitation the rights to use, copy, modify, merge, publish,
//distribute, sublicense, and/or sell copies of the Software, and to
//permit persons to whom the Software is furnished to do so, subject to
//the following conditions:
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of the X Consortium shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from the X Consortium.
//
xkb_geometry "type4" {

    // This is an approximate layout for a (US/ASCII) Sun Type4 US
    // keyboard.  

    description= "Sun Type4 keyboard";

    width= 452;
    height= 185;

    shape "EDGE" { cornerRadius= 2, { [ 452, 185 ] } };
    shape.cornerRadius= 1;
    shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
    shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
    shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
    shape "DELE" { { [ 37,18] }, { [2,1], [35,17] } };
    shape "RTRN" { 
	    approx = { [ 0, 0], [28,37] },
	    { [ 0, 0], [28, 0], [28,37],
	      [ 5,37], [ 5,19], [ 0,19] },
	    { [ 1, 1], [26, 1], [26,36],
	      [ 7,36], [ 7,18], [ 1,18] }
    };
    shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
    shape "LFSH" { { [ 41,18] }, { [2,1], [39,17] } };
    shape "RTSH" { { [ 33,18] }, { [2,1], [31,17] } };
    shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
    shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
    shape "SPCE" { { [170,18] }, { [2,1], [168,17] } };
    shape "KP0"  { { [ 37,18] }, { [2,1], [35,17] } };
    shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
    shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };

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

    section.left= 17;
    row.left= 1;
    key.shape= "NORM";
    key.gap=  1;

    section "Alpha" {
	top= 58;
	row {
	    top= 1;
	    keys { <STOP>, <AGAI>,
		 { <FK01>, 9 }, <FK02>, <FK03>, <FK04>,
		   <FK05>, <FK06>, <FK07>, <FK08>,
		   <FK09>, <FK10>, <FK11>, <FK12>,
		   <BKSL>, { <DELE>, "DELE" },
		 { <PAUS>, 9 }, <PRSC>, <SCLK>, <NMLK>
	    };
	};
	row {
	    top= 20;
	    keys { <PROP>, <UNDO>, { <ESC>, 9 }, 
		   <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, 
		   <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, 
		   <AE11>, <AE12>,
		 { <BKSP>, "BKSP" },
		 { <KPEQ>, 9 }, <KPDV>, <KPMU>, <KPSU> 

	    };
	};
	row {
	    top= 39;
	    keys { <FRNT>, <COPY>, 
		 { <TAB>, 9, shape="TABK" },
		   <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, 
		   <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, 
		   <AD11>, <AD12>, { <RTRN>, "RTRN" },
		 { <KP7>, 9 }, <KP8>, <KP9>, { <KPAD>, "KPAD" } 
	    };
	};
	row {
	    top= 58;
	    keys { <OPEN>, <PAST>, 
		 { <LCTL>, 9, shape="LCTL" },
		   <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, 
		   <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, 
		   <AC11>, <TLDE>,
		 { <KP4>, 33 }, <KP5>, <KP6>
	    };
	};
	row {
	    top= 77;
	    keys { <FIND>, <CUT>, 
		 { <LFSH>, 9 , shape="LFSH" }, 
		   <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, 
		   <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, 
		 { <RTSH>, "RTSH" }, <LNFD>,
		 { <KP1>, 9} , <KP2>, <KP3>, { <KPEN>, "KPAD" }
	    };
	};
	row {
	    top= 96;
	    keys { { <HELP>, "HELP" }, { <CAPS>, 9 },
		   <LALT>, <LMTA>, { <SPCE>, "SPCE" },
		   <RMTA>, <COMP>, <ALGR>,
		 { <KP0>, 9, shape="KP0" }, <KPDL>
	    };
	};
    }; // End of "Alpha" section

    shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } };
    shape "LED"  { cornerRadius= 0, { [  7,  4 ] } };
    solid "LedPanel" {
	shape= "LEDS";
	top=  28;
	left= 358;
    };
    indicator.onColor= "green";
    indicator.offColor= "green30";
    indicator.top= 43;
    indicator.shape= "LED";
    indicator "CapsLock"	{ left= 364; };
    indicator "Compose"	{ left= 383; };
    indicator "ScrollLock"	{ left= 402; };
    indicator "NumLock"	{ left= 421; };
    text.top= 34;
    text.color= "black";
    text "CapsLockLabel"	{ left= 364; text="Caps\nLock"; };
    text "ComposeLabel"		{ left= 380; text="Compose"; };
    text "ScrollLockLabel"	{ left= 402; text="Scroll\nLock"; };
    text "NumLockLabel"		{ left= 421; text="Num\nLock"; };
};

default xkb_geometry "type5" {

    // This is an approximate layout for a (US/ASCII) Sun Type5
    // keyboard.  I just took a similar layout (101 key PC keyboard)
    // and adjusted the sizes.

    description= "Sun Type5 keyboard";

    width= 515;
    height= 170;

    shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
    shape.cornerRadius= 1;
    shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
    shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
    shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
    shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
    shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } };
    shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
    shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } };
    shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
    shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
    shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
    shape "SPCE" { { [157,18] }, { [2,1], [155,17] } };
    shape "KP0"  { { [ 37,18] }, { [2,1], [35,17] } };
    shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
    shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
    shape "LOGO" { { [ 16,16] } };

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

    section.left= 14;
    row.left= 1;
    key.shape= "NORM";
    key.gap=  1;
    section "Function" {
	top= 24;
	row {
	    top= 1;
	    keys { { <HELP>, "HELP" }, { <ESC>, 9 },
		   { <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
		   { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
		   { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
		   { <PRSC>,  9 }, <SCLK>, <PAUS>,
		   { <MUTE>,  9 }, <VOL->, <VOL+>, <POWR>
	    };
	};
    }; // End of "Function" section

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

    section "Editing" {
	top= 61;
	left= 352;
	row {
	    top= 1;
	    keys { <INS>, <HOME>, <PGUP> };
	};
	row {
	    top= 20;
	    keys { <DELE>, <END>, <PGDN> };
	};
	row {
	    top= 58;
	    left= 20;
	    keys { <UP> };
	};
	row {
	    top= 77;
	    keys { <LEFT>, <DOWN>, <RGHT> };
	};
    }; // End of "Editing" section

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

xkb_geometry "type5euro" {

    // This is an approximate layout for a (US/ASCII) Sun Type5
    // keyboard.  I just took a similar layout (101 key PC keyboard)
    // and adjusted the sizes.

    description= "Sun Type5 keyboard";

    width= 515;
    height= 170;

    shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
    shape.cornerRadius= 1;
    shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
    shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
    shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
    shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
    shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } };
    shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
    shape "LFSH" { { [ 24,18] }, { [2,1], [22,17] } };
    shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
    shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
    shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
    shape "SPCE" { { [157,18] }, { [2,1], [155,17] } };
    shape "KP0"  { { [ 37,18] }, { [2,1], [35,17] } };
    shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
    shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
    shape "LOGO" { { [ 16,16] } };

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

    section.left= 14;
    row.left= 1;
    key.shape= "NORM";
    key.gap=  1;
    section "Function" {
	top= 24;
	row {
	    top= 1;
	    keys { { <HELP>, "HELP" }, { <ESC>, 9 },
		   { <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
		   { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
		   { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
		   { <PRSC>,  9 }, <SCLK>, <PAUS>,
		   { <MUTE>,  9 }, <VOL->, <VOL+>, <POWR>
	    };
	};
    }; // End of "Function" section

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

    section "Editing" {
	top= 61;
	left= 352;
	row {
	    top= 1;
	    keys { <INS>, <HOME>, <PGUP> };
	};
	row {
	    top= 20;
	    keys { <DELE>, <END>, <PGDN> };
	};
	row {
	    top= 58;
	    left= 20;
	    keys { <UP> };
	};
	row {
	    top= 77;
	    keys { <LEFT>, <DOWN>, <RGHT> };
	};
    }; // End of "Editing" section

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


xkb_geometry "type5unix" {

    // This is an approximate layout for a (US/ASCII) Sun Type5
    // keyboard.  I just took a similar layout (101 key PC keyboard)
    // and adjusted the sizes.

    description= "Sun Type5 Unix keyboard";

    width= 515;
    height= 170;

    shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
    shape.cornerRadius= 1;
    shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
    shape "BKSP" { { [ 27,18] }, { [2,1], [25,17] } };
    shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
    shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
    shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } };
    shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
    shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } };
    shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
    shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
    shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
    shape "SPCE" { { [157,18] }, { [2,1], [155,17] } };
    shape "KP0"  { { [ 37,18] }, { [2,1], [35,17] } };
    shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
    shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
    shape "LOGO" { { [ 16,16] } };

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

    section.left= 14;
    row.left= 1;
    key.shape= "NORM";
    key.gap=  1;
    section "Function" {
    top= 24;
	row {
	    top= 1;
	    keys { { <HELP>, "HELP" }, { <NONE>, 9 },
		   { <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
		   { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
		   { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
		   { <PRSC>,  9 }, <SCLK>, <PAUS>,
		   { <MUTE>,  9 }, <VOL->, <VOL+>, <POWR>
	    };
	};
    }; // End of "Function" section

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

    section "Editing" {
	top= 61;
	left= 352;
	row {
	    top= 1;
	    keys { <INS>, <HOME>, <PGUP> };
	};
	row {
	    top= 20;
	    keys { <DELE>, <END>, <PGDN> };
	};
	row {
	    top= 58;
	    left= 20;
	    keys { <UP> };
	};
	row {
	    top= 77;
	    keys { <LEFT>, <DOWN>, <RGHT> };
	};
    }; // End of "Editing" section

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