summaryrefslogtreecommitdiff
path: root/keyboards/ai03/duet/keymaps/coordinate
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ai03/duet/keymaps/coordinate')
-rw-r--r--keyboards/ai03/duet/keymaps/coordinate/keymap.c34
-rw-r--r--keyboards/ai03/duet/keymaps/coordinate/readme.md4
2 files changed, 38 insertions, 0 deletions
diff --git a/keyboards/ai03/duet/keymaps/coordinate/keymap.c b/keyboards/ai03/duet/keymaps/coordinate/keymap.c
new file mode 100644
index 0000000000..821c029534
--- /dev/null
+++ b/keyboards/ai03/duet/keymaps/coordinate/keymap.c
@@ -0,0 +1,34 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+
+/* Coordinate keymap - designed to send a string in the format [a-r][0-5] corresponding to the matrix position, where a0 is the top left and r5 is bottom right */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0,
+ KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0,
+ KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0,
+ KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0,
+ KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0,
+ KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0
+ ),
+};
+
+
+/* String generation */
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+
+ if (record->event.pressed) {
+ char col = record->event.key.col + 'a';
+ char row = record->event.key.row + '0';
+ char result[2] = {col, row};
+ send_string(result);
+ }
+
+ return false;
+}
diff --git a/keyboards/ai03/duet/keymaps/coordinate/readme.md b/keyboards/ai03/duet/keymaps/coordinate/readme.md
new file mode 100644
index 0000000000..de8245875d
--- /dev/null
+++ b/keyboards/ai03/duet/keymaps/coordinate/readme.md
@@ -0,0 +1,4 @@
+# The coordinate keymap for Duet
+
+An example keymap which sends a string `[a-r][0-5]` corresponding to the column-row position of the pressed switch.
+Possibly useful for pairing to a kiosk device provided the display application can parse and handle this format.