hhk revision 154daed1
1154daed1Smrg//	$XKeyboardConfig: xkeyboard-config/geometry/hhk,v 1.2 2007/07/11 22:43:45 svu Exp $
2154daed1Smrg//
3154daed1Smrg//	XKB geometry for the Happy Hacking Keyboard (Lite).
4154daed1Smrg//	Different variants correspond to different switch
5154daed1Smrg//	settings on the HHK.
6154daed1Smrg//
7154daed1Smrg//  Copyright (c) Doug Palmer <doug@charvolant.org>, 2002
8154daed1Smrg//
9154daed1Smrg//Permission is hereby granted, free of charge, to any person obtaining a copy
10154daed1Smrg//of this software and associated documentation files (the "Software"), to deal
11154daed1Smrg//in the Software without restriction, including without limitation the rights
12154daed1Smrg//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13154daed1Smrg//copies of the Software, and to permit persons to whom the Software is
14154daed1Smrg//furnished to do so, subject to the following conditions:
15154daed1Smrg//
16154daed1Smrg//The above copyright notice and this permission notice shall be included in
17154daed1Smrg//all copies or substantial portions of the Software.
18154daed1Smrg//
19154daed1Smrg//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20154daed1Smrg//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21154daed1Smrg//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22154daed1Smrg//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23154daed1Smrg//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24154daed1Smrg//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25154daed1Smrg//THE SOFTWARE.
26154daed1Smrg
27154daed1Smrg// SW = 100 Default layout with windows keys
28154daed1Smrgdefault xkb_geometry "win1" {
29154daed1Smrg	include "hhk(basic)"
30154daed1Smrg
31154daed1Smrg	key.gap = 1;
32154daed1Smrg	section "Space" {
33154daed1Smrg		top = 86;
34154daed1Smrg		left = 30;
35154daed1Smrg		row {
36154daed1Smrg			top = 1;
37154daed1Smrg			keys {
38154daed1Smrg				<LALT>,
39154daed1Smrg				{ <LWIN>, "DIAM" },
40154daed1Smrg				{ <SPCE>, "SPCE" },
41154daed1Smrg				{ <RWIN>, "DIAM" },
42154daed1Smrg				<RALT>
43154daed1Smrg			};
44154daed1Smrg		};
45154daed1Smrg	};
46154daed1Smrg};
47154daed1Smrg
48154daed1Smrg// SW = 101 Layout with windows and alt keys swapped
49154daed1Smrgxkb_geometry "win2" {
50154daed1Smrg	include "hhk(basic)"
51154daed1Smrg
52154daed1Smrg	key.gap = 1;
53154daed1Smrg	section "Space" {
54154daed1Smrg		top = 86;
55154daed1Smrg		left = 30;
56154daed1Smrg		row {
57154daed1Smrg			top = 1;
58154daed1Smrg			keys {
59154daed1Smrg				<LWIN>,
60154daed1Smrg				{ <LALT>, "DIAM" },
61154daed1Smrg				{ <SPCE>, "SPCE" },
62154daed1Smrg				{ <RALT>, "DIAM" },
63154daed1Smrg				<RWIN>
64154daed1Smrg			};
65154daed1Smrg		};
66154daed1Smrg	};
67154daed1Smrg};
68154daed1Smrg
69154daed1Smrg// SW = 110 Default layout with windows keys, and left diamond = Fn key
70154daed1Smrgxkb_geometry "win3" {
71154daed1Smrg	include "hhk(basic)"
72154daed1Smrg
73154daed1Smrg	key.gap = 1;
74154daed1Smrg	section "Space" {
75154daed1Smrg		top = 86;
76154daed1Smrg		left = 30;
77154daed1Smrg		row {
78154daed1Smrg			top = 1;
79154daed1Smrg			keys {
80154daed1Smrg				<LALT>,
81154daed1Smrg				{ <FN>, "DIAM" },
82154daed1Smrg				{ <SPCE>, "SPCE" },
83154daed1Smrg				{ <RWIN>, "DIAM" },
84154daed1Smrg				<RALT>
85154daed1Smrg			};
86154daed1Smrg		};
87154daed1Smrg	};
88154daed1Smrg};
89154daed1Smrg
90154daed1Smrg// SW = 101 Layout with windows and alt keys swapped and left-Alt = Fn key
91154daed1Smrgxkb_geometry "win4" {
92154daed1Smrg	include "hhk(basic)"
93154daed1Smrg
94154daed1Smrg	key.gap = 1;
95154daed1Smrg	section "Space" {
96154daed1Smrg		top = 86;
97154daed1Smrg		left = 30;
98154daed1Smrg		row {
99154daed1Smrg			top = 1;
100154daed1Smrg			keys {
101154daed1Smrg				<FN>,
102154daed1Smrg				{ <LALT>, "DIAM" },
103154daed1Smrg				{ <SPCE>, "SPCE" },
104154daed1Smrg				{ <RALT>, "DIAM" },
105154daed1Smrg				<RWIN>
106154daed1Smrg			};
107154daed1Smrg		};
108154daed1Smrg	};
109154daed1Smrg};
110154daed1Smrg
111154daed1Smrg// SW = 000 Layout with Muhenkan and Henkan keys
112154daed1Smrgxkb_geometry "jp1" {
113154daed1Smrg	include "hhk(basic)"
114154daed1Smrg
115154daed1Smrg	key.gap = 1;
116154daed1Smrg	section "Space" {
117154daed1Smrg		top = 86;
118154daed1Smrg		left = 30;
119154daed1Smrg		row {
120154daed1Smrg			top = 1;
121154daed1Smrg			keys {
122154daed1Smrg				<LALT>,
123154daed1Smrg				{ <NFER>, "DIAM" },
124154daed1Smrg				{ <SPCE>, "SPCE" },
125154daed1Smrg				{ <XFER>, "DIAM" },
126154daed1Smrg				<RALT>
127154daed1Smrg			};
128154daed1Smrg		};
129154daed1Smrg	};
130154daed1Smrg};
131154daed1Smrg
132154daed1Smrg// SW = 001 Layout with Muhenkan and Henkan keys swapped with Alt keys
133154daed1Smrgxkb_geometry "jp2" {
134154daed1Smrg	include "hhk(basic)"
135154daed1Smrg
136154daed1Smrg	key.gap = 1;
137154daed1Smrg	section "Space" {
138154daed1Smrg		top = 86;
139154daed1Smrg		left = 30;
140154daed1Smrg		row {
141154daed1Smrg			top = 1;
142154daed1Smrg			keys {
143154daed1Smrg				<NFER>,
144154daed1Smrg				{ <LALT>, "DIAM" },
145154daed1Smrg				{ <SPCE>, "SPCE" },
146154daed1Smrg				{ <RALT>, "DIAM" },
147154daed1Smrg				<XFER>
148154daed1Smrg			};
149154daed1Smrg		};
150154daed1Smrg	};
151154daed1Smrg};
152154daed1Smrg
153154daed1Smrg// SW = 010 Layout with Henkan key and left-diamond as Fn
154154daed1Smrgxkb_geometry "jp3" {
155154daed1Smrg	include "hhk(basic)"
156154daed1Smrg
157154daed1Smrg	key.gap = 1;
158154daed1Smrg	section "Space" {
159154daed1Smrg		top = 86;
160154daed1Smrg		left = 30;
161154daed1Smrg		row {
162154daed1Smrg			top = 1;
163154daed1Smrg			keys {
164154daed1Smrg				<LALT>,
165154daed1Smrg				{ <FN>, "DIAM" },
166154daed1Smrg				{ <SPCE>, "SPCE" },
167154daed1Smrg				{ <XFER>, "DIAM" },
168154daed1Smrg				<RALT>
169154daed1Smrg			};
170154daed1Smrg		};
171154daed1Smrg	};
172154daed1Smrg};
173154daed1Smrg
174154daed1Smrg// SW = 001 Layout with Henkan key swapped with Alt keys and left-Alt as Fn
175154daed1Smrgxkb_geometry "jp4" {
176154daed1Smrg	include "hhk(basic)"
177154daed1Smrg
178154daed1Smrg	key.gap = 1;
179154daed1Smrg	section "Space" {
180154daed1Smrg		top = 86;
181154daed1Smrg		left = 30;
182154daed1Smrg		row {
183154daed1Smrg			top = 1;
184154daed1Smrg			keys {
185154daed1Smrg				<FN>,
186154daed1Smrg				{ <LALT>, "DIAM" },
187154daed1Smrg				{ <SPCE>, "SPCE" },
188154daed1Smrg				{ <RALT>, "DIAM" },
189154daed1Smrg				<XFER>
190154daed1Smrg			};
191154daed1Smrg		};
192154daed1Smrg	};
193154daed1Smrg};
194154daed1Smrg
195154daed1Smrg// Basic layout for non-swictchable keys
196154daed1Smrgpartial hidden xkb_geometry "basic" {
197154daed1Smrg
198154daed1Smrg	description = "Happy Hacking Keyboard";
199154daed1Smrg	width = 290;
200154daed1Smrg	height = 106;
201154daed1Smrg	
202154daed1Smrg	shape.cornerRadius = 1;
203154daed1Smrg	shape "NORM" { { [18, 18] }, { [2, 1], [14, 14] } };
204154daed1Smrg	shape "BKSP" { { [28, 18] }, { [2, 1], [24, 14] } };
205154daed1Smrg	shape "TABK" { { [28, 18] }, { [2, 1], [24, 14] } };
206154daed1Smrg	shape "CTRL" { { [32, 18] }, { [2, 1], [28, 14] } };
207154daed1Smrg	shape "RTRN" { { [42, 18] }, { [2, 1], [38, 14] } };
208154daed1Smrg	shape "LFSH" { { [42, 18] }, { [2, 1], [38, 14] } };
209154daed1Smrg	shape "RTSH" { { [32, 18] }, { [2, 1], [28, 14] } };
210154daed1Smrg	shape "DIAM" { { [28, 18] }, { [2, 1], [24, 14] } };
211154daed1Smrg	shape "SPCE" { { [114, 18] }, { [2, 1], [110, 14] } };
212154daed1Smrg
213154daed1Smrg	text.color = "black";
214154daed1Smrg	text "PFULabel" { left = 16; top = 2; fontsize = 20; text = "PFU"; };
215154daed1Smrg	text "HHKLabel" { left = 254; top = 90; text = "Happy Hacking\nKeyboard"; };
216154daed1Smrg
217154daed1Smrg	section.left = 1;
218154daed1Smrg	row.left = 1;
219154daed1Smrg	key.shape = "NORM";
220154daed1Smrg	key.gap = 1;
221154daed1Smrg
222154daed1Smrg	section "Alphanumeric" {
223154daed1Smrg		top = 10;
224154daed1Smrg		row {
225154daed1Smrg			top = 1;
226154daed1Smrg			keys {
227154daed1Smrg				 <ESC>, 
228154daed1Smrg				<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, 
229154daed1Smrg				<AE06>, <AE07>, <AE08>, <AE09>, <AE10>, 
230154daed1Smrg				<AE11>, <AE12>, 
231154daed1Smrg				<BKSL>, <TLDE>
232154daed1Smrg			};
233154daed1Smrg		};
234154daed1Smrg		row {
235154daed1Smrg			top = 20;
236154daed1Smrg			keys {
237154daed1Smrg				{ <TAB>, "TABK" },
238154daed1Smrg				<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
239154daed1Smrg				<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
240154daed1Smrg				<AD11>, <AD12>,
241154daed1Smrg				{ <BKSP>, "BKSP" }
242154daed1Smrg			};
243154daed1Smrg		};
244154daed1Smrg		row {
245154daed1Smrg			top = 39;
246154daed1Smrg			keys {
247154daed1Smrg				{ <LCTL>, "CTRL" },
248154daed1Smrg				<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
249154daed1Smrg				<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
250154daed1Smrg				<AC11>, 
251154daed1Smrg				{ <RTRN>, "RTRN" }
252154daed1Smrg			};
253154daed1Smrg		};
254154daed1Smrg		row {
255154daed1Smrg			top = 58;
256154daed1Smrg			keys {
257154daed1Smrg				{ <LFSH>, "LFSH" },
258154daed1Smrg				<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
259154daed1Smrg				<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
260154daed1Smrg				{ <RTSH>, "RTSH" },
261154daed1Smrg				{ <FN>, color = "grey20" }
262154daed1Smrg			};
263154daed1Smrg		};
264154daed1Smrg	};
265154daed1Smrg
266154daed1Smrg	alias <AC00> = <LCTL>;
267154daed1Smrg};
268154daed1Smrg
269