From c25a37d2bc37b1cb83c58a2a26965d9f498704bd Mon Sep 17 00:00:00 2001
From: madhead <siarhei.krukau@gmail.com>
Date: Sat, 23 Mar 2024 20:07:47 +0100
Subject: [PATCH] Add Ultimate Hacking Keyboard (UHK) layouts

---
 src/key_layouts.scad              |  3 +++
 src/layouts/uhk/uhk60v2_ansi.scad | 13 +++++++++++++
 src/layouts/uhk/uhk60v2_iso.scad  | 13 +++++++++++++
 3 files changed, 29 insertions(+)
 create mode 100644 src/layouts/uhk/uhk60v2_ansi.scad
 create mode 100644 src/layouts/uhk/uhk60v2_iso.scad

diff --git a/src/key_layouts.scad b/src/key_layouts.scad
index 10b5630..77ec7c5 100644
--- a/src/key_layouts.scad
+++ b/src/key_layouts.scad
@@ -17,4 +17,7 @@ include <layouts/gherkin/gherkin_bump.scad>
 include <layouts/dactyl_manuform/4x6.scad>
 include <layouts/dactyl_manuform/4x6_legends.scad>
 
+include <layouts/uhk/uhk60v2_ansi.scad>
+include <layouts/uhk/uhk60v2_iso.scad>
+
 include <layouts/plate.scad>
diff --git a/src/layouts/uhk/uhk60v2_ansi.scad b/src/layouts/uhk/uhk60v2_ansi.scad
new file mode 100644
index 0000000..7f58746
--- /dev/null
+++ b/src/layouts/uhk/uhk60v2_ansi.scad
@@ -0,0 +1,13 @@
+include <../layout.scad>
+
+uhk60v2_ansi_layout = [
+  [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.5],
+  [1.5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
+  [1.75, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.75],
+  [2.25, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2.25],
+  [1.25, 1.25, 1.25, 1.25, 1.75, 1.75, 1.25, 1.25, 1.25, 2.25],
+];
+
+module uhk60v2_ansi(profile) {
+  layout(uhk60v2_ansi_layout, profile) children();
+}
diff --git a/src/layouts/uhk/uhk60v2_iso.scad b/src/layouts/uhk/uhk60v2_iso.scad
new file mode 100644
index 0000000..2888bb4
--- /dev/null
+++ b/src/layouts/uhk/uhk60v2_iso.scad
@@ -0,0 +1,13 @@
+include <../layout.scad>
+
+uhk60v2_iso_layout = [
+  [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.5],
+  [1.5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
+  [1.75, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.75],
+  [1.25, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2.25],
+  [1.25, 1.25, 1.25, 1.25, 1.75, 1.75, 1.25, 1.25, 1.25, 2.25],
+];
+
+module uhk60v2_iso(profile) {
+  layout(uhk60v2_iso_layout, profile) children();
+}