summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2023-05-13 08:09:46 -0400
committerKjetil Orbekk <kj@orbekk.com>2023-05-13 08:09:46 -0400
commitc2315412f2565ab58f8b5594beedbb18b4f260bf (patch)
treee42acd9816f4550ceaaedd6620f62532253d2359
parent274eef94aa3e9eb14056495483b12f931a7c8d40 (diff)
Add keypos files
-rw-r--r--config/base.keymap1
-rw-r--r--config/keypos_defs/keypos_36keys.h55
-rw-r--r--config/keypos_defs/keypos_42keys.h61
-rw-r--r--config/keypos_defs/keypos_48keys.h67
4 files changed, 184 insertions, 0 deletions
diff --git a/config/base.keymap b/config/base.keymap
index bab7a4e..761536c 100644
--- a/config/base.keymap
+++ b/config/base.keymap
@@ -1,4 +1,5 @@
// -*- mode: dts-mode; tab-width: 2 -*-
+// Loosely based on https://github.com/urob/zmk-config/tree/main/config
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
diff --git a/config/keypos_defs/keypos_36keys.h b/config/keypos_defs/keypos_36keys.h
new file mode 100644
index 0000000..6bf73c1
--- /dev/null
+++ b/config/keypos_defs/keypos_36keys.h
@@ -0,0 +1,55 @@
+/* 36 KEY MATRIX / LAYOUT MAPPING
+
+ ╭────────────────────┬────────────────────╮ ╭─────────────────────┬─────────────────────╮
+ │ 0 1 2 3 4 │ 5 6 7 8 9 │ │ LT4 LT3 LT2 LT1 LT0 │ RT0 RT1 RT2 RT3 RT4 │
+ │ 10 11 12 13 14 │ 15 16 17 18 19 │ │ LM4 LM3 LM2 LM1 LM0 │ RM0 RM1 RM2 RM3 RM4 │
+ │ 20 21 22 23 24 │ 25 26 27 28 29 │ │ LB4 LB3 LB2 LB1 LB0 │ RB0 RB1 RB2 RB3 RB4 │
+ ╰───────╮ 30 31 32 │ 33 34 35 ╭───────╯ ╰───────╮ LH2 LH1 LH0 │ RH0 RH1 RH2 ╭───────╯
+ ╰────────────┴────────────╯ ╰─────────────┴─────────────╯ */
+
+#pragma once
+
+#define LT0 4 // left-top row
+#define LT1 3
+#define LT2 2
+#define LT3 1
+#define LT4 0
+
+#define RT0 5 // right-top row
+#define RT1 6
+#define RT2 7
+#define RT3 8
+#define RT4 9
+
+#define LM0 14 // left-middle row
+#define LM1 13
+#define LM2 12
+#define LM3 11
+#define LM4 10
+
+#define RM0 15 // right-middle row
+#define RM1 16
+#define RM2 17
+#define RM3 18
+#define RM4 19
+
+#define LB0 24 // left-bottom row
+#define LB1 23
+#define LB2 22
+#define LB3 21
+#define LB4 20
+
+#define RB0 25 // right-bottom row
+#define RB1 26
+#define RB2 27
+#define RB3 28
+#define RB4 29
+
+#define LH0 32 // left thumb keys
+#define LH1 31
+#define LH2 30
+
+#define RH0 33 // right thumb keys
+#define RH1 34
+#define RH2 35
+
diff --git a/config/keypos_defs/keypos_42keys.h b/config/keypos_defs/keypos_42keys.h
new file mode 100644
index 0000000..f2ad1aa
--- /dev/null
+++ b/config/keypos_defs/keypos_42keys.h
@@ -0,0 +1,61 @@
+/* 42 KEY MATRIX / LAYOUT MAPPING
+
+ ╭────────────────────────┬────────────────────────╮ ╭─────────────────────────┬─────────────────────────╮
+ │ 0 1 2 3 4 5 │ 6 7 8 9 10 11 │ │ LT5 LT4 LT3 LT2 LT1 LT0 │ RT0 RT1 RT2 RT3 RT4 RT5 │
+ │ 12 13 14 15 16 17 │ 18 19 20 21 22 23 │ │ LM5 LM4 LM3 LM2 LM1 LM0 │ RM0 RM1 RM2 RM3 RM4 RM5 │
+ │ 24 25 26 27 28 29 │ 30 31 32 33 34 35 │ │ LB5 LB4 LB3 LB2 LB1 LB0 │ RB0 RB1 RB2 RB3 RB4 RB5 │
+ ╰───────────╮ 36 37 38 │ 39 40 41 ╭───────────╯ ╰───────────╮ LH2 LH1 LH0 │ RH0 RH1 RH2 ╭───────────╯
+ ╰────────────┴────────────╯ ╰─────────────┴─────────────╯ */
+
+#pragma once
+
+#define LT0 5 // left-top row
+#define LT1 4
+#define LT2 3
+#define LT3 2
+#define LT4 1
+#define LT5 0
+
+#define RT0 6 // right-top row
+#define RT1 7
+#define RT2 8
+#define RT3 9
+#define RT4 10
+#define RT5 11
+
+#define LM0 17 // left-middle row
+#define LM1 16
+#define LM2 15
+#define LM3 14
+#define LM4 13
+#define LM5 12
+
+#define RM0 18 // right-middle row
+#define RM1 19
+#define RM2 20
+#define RM3 21
+#define RM4 22
+#define RM5 23
+
+#define LB0 29 // left-bottom row
+#define LB1 28
+#define LB2 27
+#define LB3 26
+#define LB4 25
+#define LB5 24
+
+#define RB0 30 // right-bottom row
+#define RB1 31
+#define RB2 32
+#define RB3 33
+#define RB4 34
+#define RB5 35
+
+#define LH0 38 // left thumb keys
+#define LH1 37
+#define LH2 36
+
+#define RH0 39 // right thumb keys
+#define RH1 40
+#define RH2 41
+
diff --git a/config/keypos_defs/keypos_48keys.h b/config/keypos_defs/keypos_48keys.h
new file mode 100644
index 0000000..3c171f0
--- /dev/null
+++ b/config/keypos_defs/keypos_48keys.h
@@ -0,0 +1,67 @@
+/* 48 KEY MATRIX / LAYOUT MAPPING
+
+ ╭────────────────────────┬────────────────────────╮ ╭─────────────────────────┬─────────────────────────╮
+ │ 0 1 2 3 4 5 │ 6 7 8 9 10 11 │ │ LT5 LT4 LT3 LT2 LT1 LT0 │ RT0 RT1 RT2 RT3 RT4 RT5 │
+ │ 12 13 14 15 16 17 │ 18 19 20 21 22 23 │ │ LM5 LM4 LM3 LM2 LM1 LM0 │ RM0 RM1 RM2 RM3 RM4 RM5 │
+ │ 24 25 26 27 28 29 │ 30 31 32 33 34 35 │ │ LB5 LB4 LB3 LB2 LB1 LB0 │ RB0 RB1 RB2 RB3 RB4 RB5 │
+ │ 36 37 38 39 40 41 │ 42 43 44 45 46 47 │ │ LH5 LH4 LH3 LH2 LH1 LH0 │ RH0 RH1 RH2 RH3 RH4 RH5 │
+ ╰────────────────────────┴────────────────────────╯ ╰─────────────────────────┴─────────────────────────╯ */
+
+#pragma once
+
+#define LT0 5 // left-top row
+#define LT1 4
+#define LT2 3
+#define LT3 2
+#define LT4 1
+#define LT5 0
+
+#define RT0 6 // right-top row
+#define RT1 7
+#define RT2 8
+#define RT3 9
+#define RT4 10
+#define RT5 11
+
+#define LM0 17 // left-middle row
+#define LM1 16
+#define LM2 15
+#define LM3 14
+#define LM4 13
+#define LM5 12
+
+#define RM0 18 // right-middle row
+#define RM1 19
+#define RM2 20
+#define RM3 21
+#define RM4 22
+#define RM5 23
+
+#define LB0 29 // left-bottom row
+#define LB1 28
+#define LB2 27
+#define LB3 26
+#define LB4 25
+#define LB5 24
+
+#define RB0 30 // right-bottom row
+#define RB1 31
+#define RB2 32
+#define RB3 33
+#define RB4 34
+#define RB5 35
+
+#define LH0 41 // left thumb keys
+#define LH1 40
+#define LH2 39
+#define LH3 38
+#define LH4 37
+#define LH5 36
+
+#define RH0 42 // right thumb keys
+#define RH1 43
+#define RH2 44
+#define RH3 45
+#define RH4 46
+#define RH5 47
+