summaryrefslogtreecommitdiff
path: root/keyboards/splitkb/zima
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/splitkb/zima')
-rw-r--r--keyboards/splitkb/zima/config.h41
-rw-r--r--keyboards/splitkb/zima/keymaps/drashna/keymap.c26
-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, 125 insertions, 33 deletions
diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h
index fcfa37ff35..7e79e7f359 100644
--- a/keyboards/splitkb/zima/config.h
+++ b/keyboards/splitkb/zima/config.h
@@ -20,15 +20,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xF75B
-#define DEVICE_VER 0x0001
+#define VENDOR_ID 0x8D1D
+#define PRODUCT_ID 0xF75B
+#define DEVICE_VER 0x0001
#define MANUFACTURER splitkb
-#define PRODUCT Zima
+#define PRODUCT Zima
/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 3
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 3
/*
* Keyboard Matrix Assignments
@@ -37,9 +37,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ C6, D6, D5 }, \
{ C7, F7, D4 }, \
{ E6, F5, F6 }, \
- { F0, F1, F4 } \
+ { F0, F1, F4 }, \
}
-
#define UNUSED_PINS
#define ENCODERS_PAD_A { B4 }
@@ -53,11 +52,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define AUDIO_CLICKY
#define NO_MUSIC_MODE
-#define RGB_DI_PIN B5
-#define RGBLED_NUM 5
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
+#define RGB_DI_PIN B5
+#define RGBLED_NUM 5
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
#define RGBLIGHT_EFFECT_BREATHING
@@ -67,7 +66,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_TWINKLE
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
+#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
@@ -77,16 +76,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
// #define LOCKING_RESYNC_ENABLE
-#define FB_ERM_LRA 0
-#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
-#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
+#define FB_ERM_LRA 0
+#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
+#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
/* Please refer to your datasheet for the optimal setting for your specific motor. */
-#define RATED_VOLTAGE 3
-#define V_PEAK 5
+#define RATED_VOLTAGE 3
+#define V_PEAK 5
-#define DRV_GREETING alert_750ms
-#define DRV_MODE_DEFAULT buzz
+#define DRV_GREETING alert_750ms
+#define DRV_MODE_DEFAULT buzz
// EC11K encoders have a different resolution than other EC11 encoders.
// When using the default resolution of 4, if you notice your encoder skipping
// every other tick, lower the resolution to 2.
diff --git a/keyboards/splitkb/zima/keymaps/drashna/keymap.c b/keyboards/splitkb/zima/keymaps/drashna/keymap.c
index d9e1f44e29..6e198e3ddd 100644
--- a/keyboards/splitkb/zima/keymaps/drashna/keymap.c
+++ b/keyboards/splitkb/zima/keymaps/drashna/keymap.c
@@ -22,6 +22,7 @@
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 +44,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 +77,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) {
@@ -107,13 +114,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,7 +124,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) {
return true;
}
-
bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
tap_code16(KC_VOLU);
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