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