hhk revision 154daed1
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@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 28default 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 49xkb_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 70xkb_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 91xkb_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 112xkb_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 133xkb_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 154xkb_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 175xkb_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 196partial 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