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