Home | History | Annotate | Line # | Download | only in geometry
      1 //
      2 //	XKB geometry for the Happy Hacking (Lite).
      3 //	Different variants correspond to different switch
      4 //	settings on the HHK.
      5 //
      6 //  Copyright (c) Doug Palmer <doug (a] charvolant.org>, 2002
      7 //
      8 //Permission is hereby granted, free of charge, to any person obtaining a copy
      9 //of this software and associated documentation files (the "Software"), to deal
     10 //in the Software without restriction, including without limitation the rights
     11 //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     12 //copies of the Software, and to permit persons to whom the Software is
     13 //furnished to do so, subject to the following conditions:
     14 //
     15 //The above copyright notice and this permission notice shall be included in
     16 //all copies or substantial portions of the Software.
     17 //
     18 //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     19 //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     20 //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     21 //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     22 //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     23 //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     24 //THE SOFTWARE.
     25 
     26 // SW = 100 Default layout with windows keys
     27 default xkb_geometry "win1" {
     28 	include "hhk(basic)"
     29 
     30 	key.gap = 1;
     31 	section "Space" {
     32 		top = 86;
     33 		left = 30;
     34 		row {
     35 			top = 1;
     36 			keys {
     37 				<LALT>,
     38 				{ <LWIN>, "DIAM" },
     39 				{ <SPCE>, "SPCE" },
     40 				{ <RWIN>, "DIAM" },
     41 				<RALT>
     42 			};
     43 		};
     44 	};
     45 };
     46 
     47 // SW = 101 Layout with windows and alt keys swapped
     48 xkb_geometry "win2" {
     49 	include "hhk(basic)"
     50 
     51 	key.gap = 1;
     52 	section "Space" {
     53 		top = 86;
     54 		left = 30;
     55 		row {
     56 			top = 1;
     57 			keys {
     58 				<LWIN>,
     59 				{ <LALT>, "DIAM" },
     60 				{ <SPCE>, "SPCE" },
     61 				{ <RALT>, "DIAM" },
     62 				<RWIN>
     63 			};
     64 		};
     65 	};
     66 };
     67 
     68 // SW = 110 Default layout with windows keys, and left diamond = Fn key
     69 xkb_geometry "win3" {
     70 	include "hhk(basic)"
     71 
     72 	key.gap = 1;
     73 	section "Space" {
     74 		top = 86;
     75 		left = 30;
     76 		row {
     77 			top = 1;
     78 			keys {
     79 				<LALT>,
     80 				{ <FN>, "DIAM" },
     81 				{ <SPCE>, "SPCE" },
     82 				{ <RWIN>, "DIAM" },
     83 				<RALT>
     84 			};
     85 		};
     86 	};
     87 };
     88 
     89 // SW = 101 Layout with windows and alt keys swapped and left-Alt = Fn key
     90 xkb_geometry "win4" {
     91 	include "hhk(basic)"
     92 
     93 	key.gap = 1;
     94 	section "Space" {
     95 		top = 86;
     96 		left = 30;
     97 		row {
     98 			top = 1;
     99 			keys {
    100 				<FN>,
    101 				{ <LALT>, "DIAM" },
    102 				{ <SPCE>, "SPCE" },
    103 				{ <RALT>, "DIAM" },
    104 				<RWIN>
    105 			};
    106 		};
    107 	};
    108 };
    109 
    110 // SW = 000 Layout with Muhenkan and Henkan keys
    111 xkb_geometry "jp1" {
    112 	include "hhk(basic)"
    113 
    114 	key.gap = 1;
    115 	section "Space" {
    116 		top = 86;
    117 		left = 30;
    118 		row {
    119 			top = 1;
    120 			keys {
    121 				<LALT>,
    122 				{ <NFER>, "DIAM" },
    123 				{ <SPCE>, "SPCE" },
    124 				{ <XFER>, "DIAM" },
    125 				<RALT>
    126 			};
    127 		};
    128 	};
    129 };
    130 
    131 // SW = 001 Layout with Muhenkan and Henkan keys swapped with Alt
    132 xkb_geometry "jp2" {
    133 	include "hhk(basic)"
    134 
    135 	key.gap = 1;
    136 	section "Space" {
    137 		top = 86;
    138 		left = 30;
    139 		row {
    140 			top = 1;
    141 			keys {
    142 				<NFER>,
    143 				{ <LALT>, "DIAM" },
    144 				{ <SPCE>, "SPCE" },
    145 				{ <RALT>, "DIAM" },
    146 				<XFER>
    147 			};
    148 		};
    149 	};
    150 };
    151 
    152 // SW = 010 Layout with Henkan key and left-diamond as Fn
    153 xkb_geometry "jp3" {
    154 	include "hhk(basic)"
    155 
    156 	key.gap = 1;
    157 	section "Space" {
    158 		top = 86;
    159 		left = 30;
    160 		row {
    161 			top = 1;
    162 			keys {
    163 				<LALT>,
    164 				{ <FN>, "DIAM" },
    165 				{ <SPCE>, "SPCE" },
    166 				{ <XFER>, "DIAM" },
    167 				<RALT>
    168 			};
    169 		};
    170 	};
    171 };
    172 
    173 // SW = 001 Layout with Henkan key swapped with Alt and left-Alt as Fn
    174 xkb_geometry "jp4" {
    175 	include "hhk(basic)"
    176 
    177 	key.gap = 1;
    178 	section "Space" {
    179 		top = 86;
    180 		left = 30;
    181 		row {
    182 			top = 1;
    183 			keys {
    184 				<FN>,
    185 				{ <LALT>, "DIAM" },
    186 				{ <SPCE>, "SPCE" },
    187 				{ <RALT>, "DIAM" },
    188 				<XFER>
    189 			};
    190 		};
    191 	};
    192 };
    193 
    194 // Basic layout for non-switchable keys
    195 partial hidden xkb_geometry "basic" {
    196 
    197 	description = "Happy Hacking";
    198 	width = 290;
    199 	height = 106;
    200 	
    201 	shape.cornerRadius = 1;
    202 	shape "NORM" { { [18, 18] }, { [2, 1], [14, 14] } };
    203 	shape "BKSP" { { [28, 18] }, { [2, 1], [24, 14] } };
    204 	shape "TABK" { { [28, 18] }, { [2, 1], [24, 14] } };
    205 	shape "CTRL" { { [32, 18] }, { [2, 1], [28, 14] } };
    206 	shape "RTRN" { { [42, 18] }, { [2, 1], [38, 14] } };
    207 	shape "LFSH" { { [42, 18] }, { [2, 1], [38, 14] } };
    208 	shape "RTSH" { { [32, 18] }, { [2, 1], [28, 14] } };
    209 	shape "DIAM" { { [28, 18] }, { [2, 1], [24, 14] } };
    210 	shape "SPCE" { { [114, 18] }, { [2, 1], [110, 14] } };
    211 
    212 	text.color = "black";
    213 	text "PFULabel" { left = 16; top = 2; fontsize = 20; text = "PFU"; };
    214 	text "HHKLabel" { left = 254; top = 90; text = "Happy Hacking\nKeyboard"; };
    215 
    216 	section.left = 1;
    217 	row.left = 1;
    218 	key.shape = "NORM";
    219 	key.gap = 1;
    220 
    221 	section "Alphanumeric" {
    222 		top = 10;
    223 		row {
    224 			top = 1;
    225 			keys {
    226 				 <ESC>, 
    227 				<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, 
    228 				<AE06>, <AE07>, <AE08>, <AE09>, <AE10>, 
    229 				<AE11>, <AE12>, 
    230 				<BKSL>, <TLDE>
    231 			};
    232 		};
    233 		row {
    234 			top = 20;
    235 			keys {
    236 				{ <TAB>, "TABK" },
    237 				<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
    238 				<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
    239 				<AD11>, <AD12>,
    240 				{ <BKSP>, "BKSP" }
    241 			};
    242 		};
    243 		row {
    244 			top = 39;
    245 			keys {
    246 				{ <LCTL>, "CTRL" },
    247 				<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
    248 				<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
    249 				<AC11>, 
    250 				{ <RTRN>, "RTRN" }
    251 			};
    252 		};
    253 		row {
    254 			top = 58;
    255 			keys {
    256 				{ <LFSH>, "LFSH" },
    257 				<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
    258 				<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
    259 				{ <RTSH>, "RTSH" },
    260 				{ <FN>, color = "grey20" }
    261 			};
    262 		};
    263 	};
    264 
    265 	alias <AC00> = <LCTL>;
    266 };
    267