summaryrefslogtreecommitdiffstats
path: root/keyboards/lily58/keymaps/niolang/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/lily58/keymaps/niolang/keymap.c')
-rw-r--r--keyboards/lily58/keymaps/niolang/keymap.c359
1 files changed, 0 insertions, 359 deletions
diff --git a/keyboards/lily58/keymaps/niolang/keymap.c b/keyboards/lily58/keymaps/niolang/keymap.c
deleted file mode 100644
index 9a4b03668a..0000000000
--- a/keyboards/lily58/keymaps/niolang/keymap.c
+++ /dev/null
@@ -1,359 +0,0 @@
- /* Copyright 2017 F_YUUCHI
- * Copyright 2020 Drashna Jaelre <@drashna>
- * Copyright 2020 Ben Roesner (keycapsss.com)
- * Copyright 2022 Niolang
- *
- * 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
-#include "keymap_bepo.h"
-
-
-enum layers {
- _BEPO,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-//Modification of cut/copy/paste by their combination, works in more cases
-#define KC_COPY LCTL(KC_H)
-#define KC_CUT LCTL(KC_C)
-#define KC_PSTE2 LCTL(KC_U)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* BÉPO
- * ,-----------------------------------------. ,-----------------------------------------.
- * |ESC/VM| " 1 | « 2 | » 3 | ( 4 | ) 5 | | @ 6 | + 7 | - 8 | / 9 | * 0 | W |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | B | | É | P & | O œ | È | | !^ | V | D | L | J | Z |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | A | Uù | I¨ | E€ | ,;' |-------. ,-------| C/ç | Tᵉ | S | R | N | M |
- * |------+------+------+------+------+------|CtPtScn| |SUPPR |------+------+------+------+------+------|
- * |LShift| À \ | Y { | X } | .:… | K ~ |-------| |-------| ’? | Q | G | H | F |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| AltGr|
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
- [_BEPO] = LAYOUT(
- MT(KC_CAPS, KC_ESC), BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_W,
- KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z,
- KC_LCTL, BP_A, BP_U, BP_I, BP_E, BP_COMM, MT(BP_CCED, BP_C), BP_T, BP_S, BP_R, BP_N, BP_M,
- KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, LSFT(KC_PSCR), KC_DEL, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KC_RSFT,
- KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RALT
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | + | 7 | 8 | 9 | = | # |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F7 | F8 | F9 | F10 | F11 | F12 | | - | 4 | 5 | 6 | % | ^ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | c+c | c+v | Up | home | end |-------. ,-------| / | 1 | 2 | 3 | < | > |
- * |------+------+------+------+------+------|TGHi/Lo| |SUPPR |------+------+------+------+------+------|
- * |LShift| c+x | Left | Down | Right| pscr |-------| |-------| * | 0 | . | , | ( | ) |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| AltGr|
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-[_LOWER] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PPLS, KC_P7, KC_P8, KC_P9, BP_EQL, BP_HASH,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PMNS, KC_P4, KC_P5, KC_P6, BP_PERC, BP_RABK,
- _______, KC_COPY, KC_PSTE2, KC_UP, KC_HOME, KC_END, KC_PSLS, KC_P1, KC_P2, KC_P3, BP_LABK, BP_RABK,
- _______, KC_CUT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR,TG(_RAISE), _______, KC_PAST, KC_P0, KC_PDOT, KC_PCMM, BP_LPRN, BP_RPRN,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-[_RAISE] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PPLS, KC_P7, KC_P8, KC_P9, BP_EQL, BP_HASH,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PMNS, KC_P4, KC_P5, KC_P6, BP_PERC, BP_CIRC,
- _______, KC_COPY, KC_PSTE2, KC_UP, KC_HOME, KC_END, KC_PSLS, KC_P1, KC_P2, KC_P3, BP_LABK, BP_RABK,
- _______, KC_CUT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR,TG(_LOWER), _______, KC_PAST, KC_P0, KC_PDOT, KC_PCMM, BP_LPRN, BP_RPRN,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | ScLck| Ins | Pause| | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | NUML | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCRL, KC_INS, KC_PAUSE, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
- return state;
-}
-
-//SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
-#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_270;
- } else {
- return OLED_ROTATION_0;
- }
-}
-
-void render_lily58_logo(void) {
- static const char PROGMEM lily58_logo[] = {
- // 'logo', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00,
- 0x80, 0xe0, 0x70, 0x3c, 0x0e, 0x06, 0x0e, 0x3c, 0x70, 0xe0, 0x80, 0x00, 0x00, 0xc0, 0xc0, 0x00,
- 0xc0, 0xc0, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x80,
- 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0xc0, 0x80, 0x80, 0x80, 0x81, 0x83, 0x83,
- 0x07, 0x07, 0x0c, 0x18, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x80, 0xb6, 0xb6, 0x80,
- 0xb0, 0xb0, 0x00, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf1, 0x00, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0x00, 0x00, 0x00, 0x30, 0xf0, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf0,
- 0x30, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xe1, 0x71, 0x71, 0xf1, 0xf1, 0xe1, 0xc1, 0x81, 0x00, 0x00,
- 0x00, 0x00, 0x0c, 0x3f, 0xff, 0xf3, 0xe1, 0xc1, 0xc1, 0x81, 0x81, 0xc3, 0xff, 0x7f, 0x1c, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x20, 0x70, 0x78, 0xdc, 0xcc, 0x86, 0x06, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x03, 0x02, 0x06, 0x84, 0xe1, 0xfb, 0x38, 0x1c, 0x0c, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x03, 0x03, 0x06, 0x86, 0xcc, 0xdc, 0x78, 0x70, 0x20, 0x00, 0xff, 0xff, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x7e, 0xf8, 0xe0, 0xf0, 0x7e, 0x1f, 0x03, 0x00,
- 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xe1, 0xff, 0x7f, 0x3f, 0x00,
- 0x00, 0x00, 0x3e, 0xff, 0xff, 0xc1, 0xc0, 0x80, 0x81, 0x81, 0xc3, 0xc3, 0xff, 0xfe, 0x3c, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x06, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, 0x06,
- 0x06, 0x02, 0x03, 0x01, 0x01, 0x00, 0x01, 0x01, 0x03, 0x02, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04,
- 0x06, 0x06, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x01, 0x01, 0x00, 0x00, 0x60, 0x60, 0x70, 0x38, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00
-};
- oled_write_raw_P(lily58_logo, sizeof(lily58_logo));
-}
-
-
-# define KEYLOG_LEN 6
-char keylog_str[KEYLOG_LEN] = {};
-uint8_t keylogs_str_idx = 0;
-uint16_t log_timer = 0;
-
-const char code_to_name[60] = {
- ' ', ' ', ' ', ' ', 'a', 'k', 'x', 'i', 'p', 'e',
- ',', 'c', 'd', 't', 's', 'r', 'q', ' ', 'l', 'j',
- 'b', 'o', 'u', 'e', 'v', '.', 'e', 'y', '^', 'a',
- ' ', ' ', ' ', '(', ')', '@', '+', '-', '/', '*',
- 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
- '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
-
-void add_keylog(uint16_t keycode) {
- if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
- keycode = keycode & 0xFF;
- }
-
- for (uint8_t i = KEYLOG_LEN - 1; i > 0; i--) {
- keylog_str[i] = keylog_str[i - 1];
- }
- if (keycode < 60) {
- keylog_str[0] = code_to_name[keycode];
- }
- keylog_str[KEYLOG_LEN - 1] = 0;
-
- log_timer = timer_read();
-}
-
-void update_log(void) {
- if (timer_elapsed(log_timer) > 750) {
- add_keylog(0);
- }
-}
-
-void render_keylogger_status(void) {
- oled_write_P(PSTR("KLogr"), false);
- oled_write(keylog_str, false);
-}
-
-void render_default_layer_state(void) {
- oled_write_P(PSTR("Layer"), false);
- oled_write_P(PSTR(" "), false);
- switch (get_highest_layer(layer_state)) {
- case _BEPO:
- oled_write_P(PSTR("BEPO"), false);
- break;
- case _LOWER:
- oled_write_ln_P(PSTR("LOW"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("HIGH"), false);
- break;
- case _ADJUST:
- oled_write_ln_P(PSTR("ADJ"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undefined"), false);
- }
-}
-
-void render_keylock_status(led_t led_state) {
- oled_write_ln_P(PSTR("Lock"), false);
- oled_write_P(PSTR(" "), false);
- oled_write_P(PSTR("N"), led_state.num_lock);
- oled_write_P(PSTR("C"), led_state.caps_lock);
- oled_write_ln_P(PSTR("S"), led_state.scroll_lock);
-}
-
-void render_mod_status(uint8_t modifiers) {
- oled_write_ln_P(PSTR("Mods"), false);
- oled_write_P(PSTR(" "), false);
- oled_write_P(PSTR("S"), (modifiers & MOD_MASK_SHIFT));
- oled_write_P(PSTR("C"), (modifiers & MOD_MASK_CTRL));
- oled_write_P(PSTR("A"), (modifiers & MOD_MASK_ALT));
- oled_write_P(PSTR("G"), (modifiers & MOD_MASK_GUI));
-}
-
-void render_status_main(void) {
- // Show keyboard layout
- render_default_layer_state();
- // Add a empty line
- oled_write_P(PSTR("-----"), false);
- // Show host keyboard led status
- render_keylock_status(host_keyboard_led_state());
- // Add a empty line
- oled_write_P(PSTR("-----"), false);
- // Show modifier status
- render_mod_status(get_mods());
- // Add a empty line
- oled_write_P(PSTR("-----"), false);
- render_keylogger_status();
-}
-
-bool oled_task_user(void) {
- update_log();
- if (is_keyboard_master()) {
- render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_lily58_logo();
- }
- return false;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- add_keylog(keycode);
- }
- //return true;
-
-//intercepting hold/tap to change hold function
- switch (keycode) {
- case MT(KC_CAPS, KC_ESC):
- if (!record->tap.count && record->event.pressed) {
- tap_code(KC_CAPS); // Intercept hold function to send Caps Lock
- return false;
- }
- return true; // Return true for normal processing of tap keycode
- case MT(BP_CCED, BP_C):
- if (!record->tap.count && record->event.pressed) {
- tap_code(BP_CCED); // Intercept hold function to send ç
- return false;
- }
- return true; // Return true for normal processing of tap keycode
- }
- return true;
-}
-#endif // OLED_ENABLE
-
-
-// Rotary encoder related code
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { // Encoder on master side
- if(IS_LAYER_ON(_RAISE)) { // on Raise layer
- // Cursor control
- if (clockwise) {
- tap_code(KC_MNXT);
- } else {
- tap_code(KC_MPRV);
- }
- }
- else {
- if (clockwise) {
- tap_code(KC_VOLD);
- } else {
- tap_code(KC_VOLU);
- }
- }
- }
- else if (index == 1) { // Encoder on slave side
- if(IS_LAYER_ON(_LOWER)) { // on Lower layer
- //
- if (clockwise) {
- tap_code(KC_RIGHT);
- } else {
- tap_code(KC_LEFT);
- }
- }
- else {
- if (clockwise) {
- tap_code(KC_DOWN);
- } else {
- tap_code(KC_UP);
- }
- }
- }
- return false;
-}
-#endif
-
-//layer led modification
-// Light LEDs 6 to 9 and 12 to 15 red when caps lock is active. Hard to ignore!
-const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 6, HSV_RED}, // Light 6 LEDs, starting with LED 0
- {35, 6, HSV_RED} // Light 6 LEDs, starting with LED 35
-);
-// Now define the array of layers. Later layers take precedence
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- my_capslock_layer
-);
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_rgb_layers;
-}
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(0, led_state.caps_lock);
- return true;
-}