summaryrefslogtreecommitdiff
path: root/geometry
diff options
context:
space:
mode:
authorsvu <svu>2007-07-10 18:24:28 +0000
committersvu <svu>2007-07-10 18:24:28 +0000
commitc4987213fbfb7e697b47b35d2db4fabb57d10495 (patch)
treeee097674a5b7c289f3deb0fa819a0336e3c798ef /geometry
parent05a55671f524b23bc9186766a94241b0522592d7 (diff)
hhk geometry, b.fd.o#11519
Diffstat (limited to 'geometry')
-rw-r--r--geometry/Makefile.am2
-rw-r--r--geometry/hhk259
2 files changed, 260 insertions, 1 deletions
diff --git a/geometry/Makefile.am b/geometry/Makefile.am
index c54eb2b7..d57d1b1d 100644
--- a/geometry/Makefile.am
+++ b/geometry/Makefile.am
@@ -5,7 +5,7 @@ geomdir = $(xkb_base)/geometry
dist_geom_DATA = \
amiga ataritt chicony \
dell everex fujitsu \
-hp keytronic kinesis \
+hhk hp keytronic kinesis \
macintosh microsoft nec \
northgate pc sony thinkpad \
sun winbook README
diff --git a/geometry/hhk b/geometry/hhk
new file mode 100644
index 00000000..e80fd0ad
--- /dev/null
+++ b/geometry/hhk
@@ -0,0 +1,259 @@
+// $XKeyboardConfig$
+//
+// XKB geometry for the Happy Hacking Keyboard (Lite).
+// Different variants correspond to different switch
+// settings on the HHK.
+//
+// Copyright (c) Doug Palmer <doug@charvolant.org>, 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 {
+ <LALT>,
+ { <LWIN>, "DIAM" },
+ { <SPCE>, "SPCE" },
+ { <RWIN>, "DIAM" },
+ <RALT>
+ };
+ };
+ };
+};
+
+// 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 {
+ <LWIN>,
+ { <LALT>, "DIAM" },
+ { <SPCE>, "SPCE" },
+ { <RALT>, "DIAM" },
+ <RWIN>
+ };
+ };
+ };
+};
+
+// 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 {
+ <LALT>,
+ { <FN>, "DIAM" },
+ { <SPCE>, "SPCE" },
+ { <RWIN>, "DIAM" },
+ <RALT>
+ };
+ };
+ };
+};
+
+// 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 {
+ <FN>,
+ { <LALT>, "DIAM" },
+ { <SPCE>, "SPCE" },
+ { <RALT>, "DIAM" },
+ <RWIN>
+ };
+ };
+ };
+};
+
+// 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 {
+ <LALT>,
+ { <NFER>, "DIAM" },
+ { <SPCE>, "SPCE" },
+ { <XFER>, "DIAM" },
+ <RALT>
+ };
+ };
+ };
+};
+
+// 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 {
+ <NFER>,
+ { <LALT>, "DIAM" },
+ { <SPCE>, "SPCE" },
+ { <RALT>, "DIAM" },
+ <XFER>
+ };
+ };
+ };
+};
+
+// 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 {
+ <LALT>,
+ { <FN>, "DIAM" },
+ { <SPCE>, "SPCE" },
+ { <XFER>, "DIAM" },
+ <RALT>
+ };
+ };
+ };
+};
+
+// 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 {
+ <FN>,
+ { <LALT>, "DIAM" },
+ { <SPCE>, "SPCE" },
+ { <RALT>, "DIAM" },
+ <XFER>
+ };
+ };
+ };
+};
+
+// 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 {
+ <ESC>,
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
+ <AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
+ <AE11>, <AE12>,
+ <BKSL>, <TLDE>
+ };
+ };
+ row {
+ top = 20;
+ keys {
+ { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top = 39;
+ keys {
+ { <LCTL>, "CTRL" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top = 58;
+ keys {
+ { <LFSH>, "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" },
+ { <FN>, color = "grey20" }
+ };
+ };
+ };
+
+ alias <AC00> = <LCTL>;
+};
+