summaryrefslogtreecommitdiff
path: root/keyboards/splitkb/zima/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/splitkb/zima/keymaps')
-rw-r--r--keyboards/splitkb/zima/keymaps/drashna/config.h2
-rw-r--r--keyboards/splitkb/zima/keymaps/drashna/keymap.c62
-rw-r--r--keyboards/splitkb/zima/keymaps/drashna/rules.mk1
-rw-r--r--keyboards/splitkb/zima/keymaps/via/config.h20
-rw-r--r--keyboards/splitkb/zima/keymaps/via/keymap.c68
-rw-r--r--keyboards/splitkb/zima/keymaps/via/rules.mk2
6 files changed, 135 insertions, 20 deletions
diff --git a/keyboards/splitkb/zima/keymaps/drashna/config.h b/keyboards/splitkb/zima/keymaps/drashna/config.h
index 91d657eda1..133ab6a914 100644
--- a/keyboards/splitkb/zima/keymaps/drashna/config.h
+++ b/keyboards/splitkb/zima/keymaps/drashna/config.h
@@ -30,3 +30,5 @@
// # define OLED_LOGO_CORNE
// # define OLED_LOGO_GOTHAM
#define OLED_LOGO_SCIFI
+
+#define ENCODER_RESOLUTION 2
diff --git a/keyboards/splitkb/zima/keymaps/drashna/keymap.c b/keyboards/splitkb/zima/keymaps/drashna/keymap.c
index d9e1f44e29..29d03ec918 100644
--- a/keyboards/splitkb/zima/keymaps/drashna/keymap.c
+++ b/keyboards/splitkb/zima/keymaps/drashna/keymap.c
@@ -15,13 +15,13 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
-#include <stdio.h>
#ifdef HAPTIC_ENABLE
# include "haptic.h"
extern haptic_config_t haptic_config;
#endif
+// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_4x3( /* Base */
KC_MUTE, TG(1), TG(2),
@@ -43,12 +43,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { { KC_DOWN, KC_UP } },
+ [1] = { { KC_VOLD, KC_VOLU } },
+ [2] = { { RGB_MOD, RGB_RMOD} },
+};
+#endif
+// clang-format on
-static bool is_asleep = false;
+static bool is_asleep = false;
static uint32_t oled_timer;
void render_oled_logo(void) {
- // clang-format off
+ // clang-format off
static const char PROGMEM qmk_logo[] = {
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
@@ -68,9 +76,7 @@ void render_user_status(void) {
oled_write_P(nukem_good[0], haptic_config.enable);
}
-void keyboard_post_init_user(void) {
- oled_scroll_set_speed(0);
-}
+void keyboard_post_init_user(void) { oled_scroll_set_speed(0); }
void oled_task_user(void) {
if (is_asleep) {
@@ -83,15 +89,35 @@ void oled_task_user(void) {
oled_scroll_off();
oled_write_P(PSTR("SplitKB's Zima"), false);
char layer[2] = {0};
- snprintf(layer, sizeof(layer), "%d", get_highest_layer(layer_state));
+ uint8_t n = get_highest_layer(layer_state);
+ layer[1] = '\0';
+ layer[0] = '0' + n % 10;
oled_write_P(PSTR(" L:"), false);
oled_write_ln(layer, false);
oled_write_ln_P(PSTR("--------------"), false);
if (rgblight_is_enabled()) {
oled_write_P(PSTR("HSV: "), false);
- char rgbs[14];
- snprintf(rgbs, sizeof(rgbs), "%3d, %3d, %3d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val());
- oled_write_ln(rgbs, false);
+ char hsv_char[4];
+ n = rgblight_get_hue();
+ hsv_char[3] = '\0';
+ hsv_char[2] = '0' + n % 10;
+ hsv_char[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
+ hsv_char[0] = n / 10 ? '0' + n / 10 : ' ';
+ oled_write(hsv_char, false);
+ oled_write_P(PSTR(", "), false);
+ n = rgblight_get_sat();
+ hsv_char[3] = '\0';
+ hsv_char[2] = '0' + n % 10;
+ hsv_char[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
+ hsv_char[0] = n / 10 ? '0' + n / 10 : ' ';
+ oled_write(hsv_char, false);
+ oled_write_P(PSTR(", "), false);
+ n = rgblight_get_val();
+ hsv_char[3] = '\0';
+ hsv_char[2] = '0' + n % 10;
+ hsv_char[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
+ hsv_char[0] = n / 10 ? '0' + n / 10 : ' ';
+ oled_write_ln(hsv_char, false);
} else {
oled_write_ln_P(PSTR("RGB LIGHT DISABLED"), false);
}
@@ -107,13 +133,9 @@ void oled_task_user(void) {
}
}
-void suspend_power_down_user(void) {
- is_asleep = true;
-}
+void suspend_power_down_user(void) { is_asleep = true; }
-void suspend_wakeup_init_user(void) {
- is_asleep = false;
-}
+void suspend_wakeup_init_user(void) { is_asleep = false; }
bool process_record_user(uint16_t keycode, keyrecord_t* record) {
oled_timer = timer_read32();
@@ -121,12 +143,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) {
return true;
}
-
bool encoder_update_user(uint8_t index, bool clockwise) {
+ oled_timer = timer_read32();
if (clockwise) {
- tap_code16(KC_VOLU);
+ tap_code_delay(KC_VOLU, 10);
} else {
- tap_code16(KC_VOLD);
+ tap_code_delay(KC_VOLD, 10);
}
- return true;
+ return false;
}
diff --git a/keyboards/splitkb/zima/keymaps/drashna/rules.mk b/keyboards/splitkb/zima/keymaps/drashna/rules.mk
index b9a1f7f256..b9dc009159 100644
--- a/keyboards/splitkb/zima/keymaps/drashna/rules.mk
+++ b/keyboards/splitkb/zima/keymaps/drashna/rules.mk
@@ -1,2 +1,3 @@
# is intentional. won't compile under size, otherwise.
USER_NAME := not_drashna
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/splitkb/zima/keymaps/via/config.h b/keyboards/splitkb/zima/keymaps/via/config.h
new file mode 100644
index 0000000000..5a0e407c95
--- /dev/null
+++ b/keyboards/splitkb/zima/keymaps/via/config.h
@@ -0,0 +1,20 @@
+/* Copyright 2019 Thomas Baart
+ * Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * 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/>.
+ */
+
+#pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 8
diff --git a/keyboards/splitkb/zima/keymaps/via/keymap.c b/keyboards/splitkb/zima/keymaps/via/keymap.c
new file mode 100644
index 0000000000..e9fb001bbe
--- /dev/null
+++ b/keyboards/splitkb/zima/keymaps/via/keymap.c
@@ -0,0 +1,68 @@
+/* Copyright 2019 Thomas Baart
+ *
+ * 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 QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_ortho_4x3(/* Base */
+ KC_MUTE, TG(1), TG(2),
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6,
+ KC_P1, KC_P2, KC_P3
+ ),
+ [1] = LAYOUT_ortho_4x3(/* Layer 1 */
+ RESET, _______, XXXXXXX,
+ AU_ON, AU_OFF, XXXXXXX,
+ CK_TOGG, XXXXXXX, CK_UP,
+ CK_RST, XXXXXXX, CK_DOWN
+ ),
+ [2] = LAYOUT_ortho_4x3(/* Layer 2*/
+ RGB_TOG, RGB_MOD, _______,
+ RGB_HUI, RGB_SAI, RGB_VAI,
+ RGB_HUD, RGB_SAD, RGB_VAD,
+ HPT_TOG, HPT_FBK, HPT_CONT
+ ),
+ [3] = LAYOUT_ortho_4x3(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [4] = LAYOUT_ortho_4x3(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [5] = LAYOUT_ortho_4x3(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [6] = LAYOUT_ortho_4x3(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [7] = LAYOUT_ortho_4x3(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+};
diff --git a/keyboards/splitkb/zima/keymaps/via/rules.mk b/keyboards/splitkb/zima/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1eb438e469
--- /dev/null
+++ b/keyboards/splitkb/zima/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+HAPTIC_ENABLE = no