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