summaryrefslogtreecommitdiff
path: root/totem/totem.c
diff options
context:
space:
mode:
authorChristoph Cullmann <cullmann@kde.org>2023-04-13 12:04:24 +0200
committerChristoph Cullmann <cullmann@kde.org>2023-04-13 12:04:24 +0200
commitf6735a8d5865e193cd6383a1697626359f590039 (patch)
treeb1c92ed615e47d1a494d2b9f87708a548100e319 /totem/totem.c
parent38d7e5910378c311fbc0b429151ca95b0d613062 (diff)
add initial totem stuff
Diffstat (limited to 'totem/totem.c')
-rw-r--r--totem/totem.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/totem/totem.c b/totem/totem.c
new file mode 100644
index 0000000..9785fb5
--- /dev/null
+++ b/totem/totem.c
@@ -0,0 +1,56 @@
+/* Copyright 2022
+ * GEIST @geigeigeist
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "totem.h"
+
+
+#ifdef SWAP_HANDS_ENABLE
+
+__attribute__ ((weak))
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] =
+ // The LAYOUT macro could work for this, but it was harder to figure out the
+ // identity using it.
+
+ // This is the identity layout.
+/*
+{ \
+ { {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0} }, \
+ { {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1} }, \
+ { {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2} }, \
+ { {0, 3}, {2, 3}, {3, 3}, {4, 3} }, \
+ \
+ { {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4} }, \
+ { {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5} }, \
+ { {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6} }, \
+ { {0, 7}, {1, 7}, {2, 7}, {4, 7}, \
+};
+*/
+
+ // This is the mirror, q <-> p, w <-> o, etc...
+{ \
+ { {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4} }, \
+ { {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5} }, \
+ { {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6} }, \
+ { {4, 7}, {2, 7}, {1, 7}, {0, 7} }, \
+ \
+ { {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0} }, \
+ { {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1} }, \
+ { {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2} }, \
+ { {4, 3}, {3, 3}, {2, 3}, {0, 3} }, \
+};
+
+#endif //SWAP_HANDS_ENABLE \ No newline at end of file