|
| 1 | +// Copyright 2025 Christopher Courtney, aka Drashna Jael're (@drashna) <[email protected]> |
| 2 | +// SPDX-License-Identifier: GPL-3.0-or-later |
| 3 | + |
| 4 | +// SPDX-License-Identifier: GPL-2.0-or-later |
| 5 | +#include "drashna.h" |
| 6 | + |
| 7 | +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 8 | + /* |
| 9 | +
|
| 10 | +
|
| 11 | + ,----. ,-------------------. ,-------------------. ,-------------------. ,--------------. |
| 12 | + | Esc| | F1| F2| F3| F4| | F5| F6| F7| F8| | F9| F10| F11| F12| | PS | SL | PA | |
| 13 | + `----' `-------------------' '-------------------' `-------------------' `--------------' |
| 14 | + ,----------------------------------------------------+-------------------. ,--------------. ,-------------------. |
| 15 | + | `~| 1!| 2@| 3#| 4$| 5%| 6^| 7&| 8*| 9(| 0)| [{| ]}| Bspc | | In | Hm | PU | | Nl| P/| P*| P-| |
| 16 | + |------+----+----+----+----+----+----+----+----+----+----+----+----+-----| |----+----+----| |----+----+----+----| |
| 17 | + | Tab| '" | ,<| .>| P | Y | F | G | C | R | L | /?| =+| \| | | Dl | Ed | PD | | P7| P8| P9| | |
| 18 | + |--------+----+----+----+----+----+----+----+----+----+----+----+--------| `--------------' |----+----+----+ P+| |
| 19 | + | MO1 | A | O | E | U | I | D | H | T | N | S | -_| Enter | | P4| P5| P6| | |
| 20 | + |----------+----+----+----+----+----+----+----+----+----+----+-----------| ,----. |----+----+----+----| |
| 21 | + | TD1 | ;:| Q | J | K | X | B | M | W | V | Z | TD2 | | Up | | P1| P2| P3| | |
| 22 | + |-----+-----+-----+------------------------------+-----+-----+-----+-----| ,----+----+----. +---------+----+ PE| |
| 23 | + | LC | LG | LA | | RA | RG | Mn | RC | | Lf | Dn | Rt| | P0 | P.| | |
| 24 | + `------------------------------------------------------------------------' `--------------' `-------------------' |
| 25 | +
|
| 26 | + */ |
| 27 | + |
| 28 | + /* |
| 29 | + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ |
| 30 | + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ |
| 31 | + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ |
| 32 | + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ |
| 33 | + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ |
| 34 | + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ |
| 35 | + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ |
| 36 | + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ |
| 37 | + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ |
| 38 | + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ |
| 39 | + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ |
| 40 | + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ |
| 41 | + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ |
| 42 | + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ |
| 43 | + */ |
| 44 | + // clang-format off |
| 45 | + [0] = LAYOUT_fullsize_ansi( |
| 46 | + |
| 47 | + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, |
| 48 | + |
| 49 | + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, |
| 50 | + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, |
| 51 | + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, |
| 52 | + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, |
| 53 | + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT |
| 54 | + ) |
| 55 | + // clang-format on |
| 56 | +}; |
| 57 | + |
| 58 | +#ifdef OLED_ENABLE |
| 59 | +# include "display/oled/oled_stuff.h" |
| 60 | + |
| 61 | +extern bool is_oled_enabled; |
| 62 | + |
| 63 | +bool oled_task_keymap(void) { |
| 64 | + // No right side oled, so just exit. |
| 65 | + if (!is_keyboard_left()) { |
| 66 | + return false; |
| 67 | + } |
| 68 | + |
| 69 | + oled_write_raw_P(header_image, sizeof(header_image)); |
| 70 | + oled_set_cursor(4, 0); |
| 71 | + oled_write_P(PSTR(" Dilemma Max"), true); |
| 72 | + |
| 73 | + render_default_layer_state(1, 1); |
| 74 | + render_layer_state(1, 2); |
| 75 | + render_pet(0, 5); |
| 76 | + render_wpm(1, 7, 5); |
| 77 | + // # if defined(POINTING_DEVICE_ENABLE) |
| 78 | + // render_pointing_dpi_status( |
| 79 | + // dilemma_get_pointer_sniping_enabled() ? dilemma_get_pointer_sniping_dpi() : |
| 80 | + // dilemma_get_pointer_default_dpi(), 1, 7, 6); |
| 81 | + // render_mouse_mode(17, 6); |
| 82 | + // # else |
| 83 | + render_matrix_scan_rate(1, 7, 6); |
| 84 | + // # endif |
| 85 | + render_bootmagic_status(7, 7); |
| 86 | + render_user_status(1, 9); |
| 87 | + |
| 88 | + render_mod_status(get_mods() | get_oneshot_mods(), 1, 10); |
| 89 | + render_keylock_status(host_keyboard_led_state(), 1, 11); |
| 90 | + render_unicode_mode(1, 12); |
| 91 | + |
| 92 | + render_os(1, 13); |
| 93 | + render_rgb_mode(1, 14); |
| 94 | + |
| 95 | + for (uint8_t i = 1; i < 15; i++) { |
| 96 | + oled_set_cursor(0, i); |
| 97 | + oled_write_raw_P(display_border, sizeof(display_border)); |
| 98 | + oled_set_cursor(21, i); |
| 99 | + oled_write_raw_P(display_border, sizeof(display_border)); |
| 100 | + } |
| 101 | + |
| 102 | + oled_set_cursor(0, 15); |
| 103 | + oled_write_raw_P(footer_image2, sizeof(footer_image2)); |
| 104 | +# ifdef DISPLAY_KEYLOGGER_ENABLE |
| 105 | + oled_set_cursor(4, 15); |
| 106 | + oled_write(display_keylogger_string, true); |
| 107 | +# endif |
| 108 | + return false; |
| 109 | +} |
| 110 | +#endif |
0 commit comments