aboutsummaryrefslogtreecommitdiff
path: root/keyboards/anavi/macropad8/keymaps/default/keymap.c
diff options
context:
space:
mode:
authorLeon Anavi <leon@anavi.org>2020-06-05 10:48:58 +0300
committerGitHub <noreply@github.com>2020-06-05 00:48:58 -0700
commitf4ff225c004702b030f01ea0da98f9e966b7de80 (patch)
treeb6151a1bc2c23f5232475084a9a71a981e5f156a /keyboards/anavi/macropad8/keymaps/default/keymap.c
parenta68b0ed9a25dcbfd616faabab10a123c3c0710fd (diff)
downloadqmk_firmware-f4ff225c004702b030f01ea0da98f9e966b7de80.tar.gz
qmk_firmware-f4ff225c004702b030f01ea0da98f9e966b7de80.zip
[Keyboard] keyboards/anavi: Add ANAVI Macro Pad 8 (#9164)
ANAVI Macro Pad 8 is an open source mini mechanical keyboard with 8 keys, backlit, addressable RGB WS2812B LED strip on the back and mini OLED display. Powered by ATmega 32U4 microcontroller and with microUSB connector. Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis <git@zvecr.com> Signed-off-by: Leon Anavi <leon@anavi.org>
Diffstat (limited to 'keyboards/anavi/macropad8/keymaps/default/keymap.c')
-rw-r--r--keyboards/anavi/macropad8/keymaps/default/keymap.c61
1 files changed, 61 insertions, 0 deletions
diff --git a/keyboards/anavi/macropad8/keymaps/default/keymap.c b/keyboards/anavi/macropad8/keymaps/default/keymap.c
new file mode 100644
index 000000000..8cdf90280
--- /dev/null
+++ b/keyboards/anavi/macropad8/keymaps/default/keymap.c
@@ -0,0 +1,61 @@
1#include QMK_KEYBOARD_H
2
3#define _MAIN 0
4#define _FN 1
5
6#define KC_X0 LT(_FN, KC_ESC)
7
8const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
9 [_MAIN] = LAYOUT_ortho_2x4(
10 G(KC_D), KC_UP, C(KC_C), C(KC_V),
11 KC_LEFT, KC_DOWN, KC_RGHT, MO(_FN)
12 ),
13
14 [_FN] = LAYOUT_ortho_2x4(
15 RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN,
16 BL_TOGG, BL_STEP, BL_BRTG, _______
17 )
18};
19
20#ifdef OLED_DRIVER_ENABLE
21oled_rotation_t oled_init_user(oled_rotation_t rotation) {
22 return OLED_ROTATION_180; // flips the display 180 degrees if offhand
23}
24
25void oled_task_user(void) {
26 // Host Keyboard Layer Status
27 oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false);
28 oled_write_P(PSTR("Active layer:"), false);
29
30 switch (get_highest_layer(layer_state)) {
31 case _MAIN:
32 oled_write_ln_P(PSTR("Main"), false);
33 break;
34 case _FN:
35 oled_write_ln_P(PSTR("FN"), false);
36 break;
37 default:
38 // Or use the write_ln shortcut over adding '\n' to the end of your string
39 oled_write_ln_P(PSTR("N/A"), false);
40 }
41
42 // Host Keyboard LED Status
43 led_t led_state = host_keyboard_led_state();
44 oled_write_P(PSTR("Num Lock: "), false);
45 oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false);
46 oled_write_P(PSTR("Caps Lock: "), false);
47 oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false);
48 oled_write_P(PSTR("Scroll Lock: "), false);
49 oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false);
50 oled_write_P(PSTR("Backlit: "), false);
51 oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false);
52#ifdef RGBLIGHT_ENABLE
53 static char rgbStatusLine1[26] = {0};
54 snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode());
55 oled_write_ln(rgbStatusLine1, false);
56 static char rgbStatusLine2[26] = {0};
57 snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val());
58 oled_write_ln(rgbStatusLine2, false);
59#endif
60}
61#endif