aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/printedpad/keymaps
diff options
context:
space:
mode:
authorJoel Challis2024-08-04 21:34:57 +0200
committerGitHub2024-08-04 21:34:57 +0200
commitac1b4881707d78aab3870583ace7d7970f05da27 (patch)
tree29774ce03f5c73a2902b3b648d952dd59e5786fc /keyboards/printedpad/keymaps
parentb5b4e938579b2cc1c088054814e6a0a9c01cea1a (diff)
Refactor printedpad (#24236)
Diffstat (limited to 'keyboards/printedpad/keymaps')
-rw-r--r--keyboards/printedpad/keymaps/default/keymap.c27
-rw-r--r--keyboards/printedpad/keymaps/via/keymap.c27
2 files changed, 52 insertions, 2 deletions
diff --git a/keyboards/printedpad/keymaps/default/keymap.c b/keyboards/printedpad/keymaps/default/keymap.c
index 2126dc593f..97893af0e0 100644
--- a/keyboards/printedpad/keymaps/default/keymap.c
+++ b/keyboards/printedpad/keymaps/default/keymap.c
@@ -42,4 +42,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_V, KC_W, KC_X,
KC_Y, KC_Z, KC_ENT
)
-}; \ No newline at end of file
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch(keycode) {
+ case LT(0, KC_NO):
+ if (record->event.pressed) {
+ // on tap
+ if (record->tap.count) {
+ if (get_highest_layer(layer_state) >= 3) {
+ layer_clear();
+ } else {
+ layer_move(get_highest_layer(layer_state) + 1);
+ }
+ }
+#ifdef OLED_ENABLE
+ // on hold
+ else {
+ void oled_display_mode_step(void);
+ oled_display_mode_step();
+ }
+#endif
+ }
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/printedpad/keymaps/via/keymap.c b/keyboards/printedpad/keymaps/via/keymap.c
index 2126dc593f..97893af0e0 100644
--- a/keyboards/printedpad/keymaps/via/keymap.c
+++ b/keyboards/printedpad/keymaps/via/keymap.c
@@ -42,4 +42,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_V, KC_W, KC_X,
KC_Y, KC_Z, KC_ENT
)
-}; \ No newline at end of file
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch(keycode) {
+ case LT(0, KC_NO):
+ if (record->event.pressed) {
+ // on tap
+ if (record->tap.count) {
+ if (get_highest_layer(layer_state) >= 3) {
+ layer_clear();
+ } else {
+ layer_move(get_highest_layer(layer_state) + 1);
+ }
+ }
+#ifdef OLED_ENABLE
+ // on hold
+ else {
+ void oled_display_mode_step(void);
+ oled_display_mode_step();
+ }
+#endif
+ }
+ return false;
+ }
+ return true;
+}