// $XKeyboardConfig$ // // XKB geometry for the Happy Hacking Keyboard (Lite). // Different variants correspond to different switch // settings on the HHK. // // Copyright (c) Doug Palmer , 2002 // // Permission is granted to anyone to use this document for any purpose, // including commercial use, and to alter it and redistribute it // freely, subject to the following restrictions: // // (i) Altered versions must be clearly marked as such. // // (ii) This notice may not be removed or altered. // // SW = 100 Default layout with windows keys default xkb_geometry "win1" { include "hhk(basic)" key.gap = 1; section "Space" { top = 86; left = 30; row { top = 1; keys { , { , "DIAM" }, { , "SPCE" }, { , "DIAM" }, }; }; }; }; // SW = 101 Layout with windows and alt keys swapped xkb_geometry "win2" { include "hhk(basic)" key.gap = 1; section "Space" { top = 86; left = 30; row { top = 1; keys { , { , "DIAM" }, { , "SPCE" }, { , "DIAM" }, }; }; }; }; // SW = 110 Default layout with windows keys, and left diamond = Fn key xkb_geometry "win3" { include "hhk(basic)" key.gap = 1; section "Space" { top = 86; left = 30; row { top = 1; keys { , { , "DIAM" }, { , "SPCE" }, { , "DIAM" }, }; }; }; }; // SW = 101 Layout with windows and alt keys swapped and left-Alt = Fn key xkb_geometry "win4" { include "hhk(basic)" key.gap = 1; section "Space" { top = 86; left = 30; row { top = 1; keys { , { , "DIAM" }, { , "SPCE" }, { , "DIAM" }, }; }; }; }; // SW = 000 Layout with Muhenkan and Henkan keys xkb_geometry "jp1" { include "hhk(basic)" key.gap = 1; section "Space" { top = 86; left = 30; row { top = 1; keys { , { , "DIAM" }, { , "SPCE" }, { , "DIAM" }, }; }; }; }; // SW = 001 Layout with Muhenkan and Henkan keys swapped with Alt keys xkb_geometry "jp2" { include "hhk(basic)" key.gap = 1; section "Space" { top = 86; left = 30; row { top = 1; keys { , { , "DIAM" }, { , "SPCE" }, { , "DIAM" }, }; }; }; }; // SW = 010 Layout with Henkan key and left-diamond as Fn xkb_geometry "jp3" { include "hhk(basic)" key.gap = 1; section "Space" { top = 86; left = 30; row { top = 1; keys { , { , "DIAM" }, { , "SPCE" }, { , "DIAM" }, }; }; }; }; // SW = 001 Layout with Henkan key swapped with Alt keys and left-Alt as Fn xkb_geometry "jp4" { include "hhk(basic)" key.gap = 1; section "Space" { top = 86; left = 30; row { top = 1; keys { , { , "DIAM" }, { , "SPCE" }, { , "DIAM" }, }; }; }; }; // Basic layout for non-swictchable keys partial hidden xkb_geometry "basic" { description = "Happy Hacking Keyboard"; width = 290; height = 106; shape.cornerRadius = 1; shape "NORM" { { [18, 18] }, { [2, 1], [14, 14] } }; shape "BKSP" { { [28, 18] }, { [2, 1], [24, 14] } }; shape "TABK" { { [28, 18] }, { [2, 1], [24, 14] } }; shape "CTRL" { { [32, 18] }, { [2, 1], [28, 14] } }; shape "RTRN" { { [42, 18] }, { [2, 1], [38, 14] } }; shape "LFSH" { { [42, 18] }, { [2, 1], [38, 14] } }; shape "RTSH" { { [32, 18] }, { [2, 1], [28, 14] } }; shape "DIAM" { { [28, 18] }, { [2, 1], [24, 14] } }; shape "SPCE" { { [114, 18] }, { [2, 1], [110, 14] } }; text.color = "black"; text "PFULabel" { left = 16; top = 2; fontsize = 20; text = "PFU"; }; text "HHKLabel" { left = 254; top = 90; text = "Happy Hacking\nKeyboard"; }; section.left = 1; row.left = 1; key.shape = "NORM"; key.gap = 1; section "Alphanumeric" { top = 10; row { top = 1; keys { , , , , , , , , , , , , , , }; }; row { top = 20; keys { { , "TABK" }, , , , , , , , , , , , , { , "BKSP" } }; }; row { top = 39; keys { { , "CTRL" }, , , , , , , , , , , , { , "RTRN" } }; }; row { top = 58; keys { { , "LFSH" }, , , , , , , , , , , { , "RTSH" }, { , color = "grey20" } }; }; }; alias = ; };