aboutsummaryrefslogtreecommitdiff
path: root/keyboards/lily58
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-08-12 03:40:49 +0000
committerQMK Bot <hello@qmk.fm>2021-08-12 03:40:49 +0000
commit7fe375aef5e197b2b7a903ee269358bb64ef960a (patch)
treefaf700804f2fc983983a6f9f69445195ed1ddaab /keyboards/lily58
parent353c615c29ebd1fd0ac74a25aa5dc4cc6e8234b5 (diff)
parent6a5c07680cc80a5fde62307ca1b651e228b2073e (diff)
downloadqmk_firmware-7fe375aef5e197b2b7a903ee269358bb64ef960a.tar.gz
qmk_firmware-7fe375aef5e197b2b7a903ee269358bb64ef960a.zip
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards/lily58')
-rw-r--r--keyboards/lily58/keymaps/datadavd/config.h53
-rw-r--r--keyboards/lily58/keymaps/datadavd/keymap.c266
-rw-r--r--keyboards/lily58/keymaps/datadavd/rules.mk6
3 files changed, 325 insertions, 0 deletions
diff --git a/keyboards/lily58/keymaps/datadavd/config.h b/keyboards/lily58/keymaps/datadavd/config.h
new file mode 100644
index 000000000..f0b7f6ee3
--- /dev/null
+++ b/keyboards/lily58/keymaps/datadavd/config.h
@@ -0,0 +1,53 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23//#define USE_MATRIX_I2C
24
25/* Select hand configuration */
26
27#define MASTER_LEFT
28// #define MASTER_RIGHT
29// #define EE_HANDS
30
31// #define SSD1306OLED
32
33#define TAPPING_FORCE_HOLD
34#define TAPPING_TERM 50
35
36#undef RGBLED_NUM
37#define RGBLIGHT_ANIMATIONS
38#define RGBLED_NUM 27
39#define RGBLIGHT_LIMIT_VAL 120
40#define RGBLIGHT_HUE_STEP 10
41#define RGBLIGHT_SAT_STEP 17
42#define RGBLIGHT_VAL_STEP 17
43
44// Mouse configs
45#define MOUSEKEY_DELAY 150
46
47// Underglow
48/*
49#undef RGBLED_NUM
50#define RGBLED_NUM 14 // Number of LEDs
51#define RGBLIGHT_ANIMATIONS
52#define RGBLIGHT_SLEEP
53*/
diff --git a/keyboards/lily58/keymaps/datadavd/keymap.c b/keyboards/lily58/keymaps/datadavd/keymap.c
new file mode 100644
index 000000000..df963b365
--- /dev/null
+++ b/keyboards/lily58/keymaps/datadavd/keymap.c
@@ -0,0 +1,266 @@
1/* Copyright 2021 David Dansby
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19enum layer_number {
20 _QWERTY = 0,
21 _SUPER,
22 _RAISE,
23 _MOUSE,
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28/* QWERTY
29 * ,-----------------------------------------. ,-----------------------------------------.
30 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |BackSP|
31 * |------+------+------+------+------+------| |------+------+------+------+------+----- |
32 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| |
33 * |------+------+------+------+------+------| |------+------+------+------+------+----- |
34 * |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | ;: | '" |
35 * |------+------+------+------+------+------| `~ | | Enter |------+------+------+------+------+------|
36 * |LCTRL | Z | X | C | V | B |-------| |-------| N | M | ,< | .> | ?/ |RShift|
37 * `-----------------------------------------/ / \ \-----------------------------------------'
38 * | [ | LAlt | LGUI | /SUPER / \Space \ |RAISE | RGUI | ] |
39 * | | | |/ / \ \ | | | |
40 * `----------------------------' '------''--------------------'
41 */
42
43 [_QWERTY] = LAYOUT(
44 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
45 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
46 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
47 KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
48 KC_LBRC, KC_LALT, KC_LGUI, MO(_SUPER), KC_SPC, MO(_RAISE), KC_RGUI, KC_RBRC
49),
50/* SUPER
51 * ,-----------------------------------------. ,-----------------------------------------.
52 * | Pwr |Pwr Dn| Sleep| Wake | XXXX | XXXX | | \| | `~ | } | -_ | =+ |BackSP|
53 * |------+------+------+------+------+------| |------+------+------+------+------+------|
54 * | Tab | Tab | ESC |Enter |LCTRL | { | | ) | Tab | Up | {[ | ]} | \| |
55 * |------+------+------+------+------+------| |------+------+------+------+------+------|
56 * |LShift|LShift| LGUI | LAlt | _ | ( |-------. ,-------|BackSP| Left | Down |Right | = |Enter |
57 * |------+------+------+------+------+------| CAPS | | `~ |------+------+------+------+------+------|
58 * |LCTRL |LCTRL | Home |Pg Up |Pg Dwn| End |-------| |-------| B | V | C | X | Z |RShift|
59 * `-----------------------------------------/ / \ \-----------------------------------------'
60 * |Trans | LAlt |LGUI | /Trans / \Space \ |Del | TGUI |Trans |
61 * | | | |/ / \ \ | | | |
62 * `----------------------------' '------''--------------------'
63 */
64[_SUPER] = LAYOUT(
65 KC_POWER, KC_PWR, KC_SLEP, KC_WAKE, KC_NO, KC_NO, KC_BSLS, KC_GRV, KC_RCBR, KC_MINS, KC_EQL, KC_BSPC,
66 KC_TAB, KC_TAB, KC_ESC, KC_ENT, KC_LCTRL, KC_LCBR, KC_RPRN, KC_TAB, KC_UP, KC_LBRC, KC_RBRC, KC_TRNS,
67 KC_LSFT, KC_LSFT, KC_LGUI, KC_LALT, KC_UNDS, KC_LPRN, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_EQL, KC_ENT,
68 KC_LCTL, KC_LCTL, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_CAPS, KC_GRV, KC_B, KC_V, KC_C, KC_X, KC_Z, KC_RSFT,
69 KC_TRNS, KC_LALT, KC_LGUI, KC_TRNS, KC_SPC, KC_DEL, KC_RGUI, KC_TRNS
70),
71/* RAISE
72 * ,-----------------------------------------. ,-----------------------------------------.
73 * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
74 * |------+------+------+------+------+------| |------+------+------+------+------+------|
75 * | TAB | TAB | XXXX | ( | ) | TAB | | MUTE | VOLU | Up |_MOUSE|ENTER | CAPS |
76 * |------+------+------+------+------+------| |------+------+------+------+------+------|
77 * |LShift|LShift| DEL | [ | ] | `~ |-------. ,-------| VOLD | Left | Down |Right |RShift|_MOUSE|
78 * |------+------+------+------+------+------| BRID | | BRIU |------+------+------+------+------+------|
79 * |LCTRL |LCTRL | MRWD | MPLY | MFFD | MSTP |-------| |-------| End |Pg Dwn|Pg Up | Home |RShift|RShift|
80 * `-----------------------------------------/ / \ \-----------------------------------------'
81 * |MS_BT2| LAlt | LGUI | /BackSP / \Trans \ |Trans |Trans | XXXX |
82 * | | | |/ / \ \ | | | |
83 * `----------------------------' '------''--------------------'
84 */
85
86[_RAISE] = LAYOUT(
87 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
88 KC_TAB, KC_TAB, KC_NO, KC_LPRN, KC_RPRN, KC_TAB, KC_MUTE, KC_VOLU, KC_UP, MO(_MOUSE), KC_ENT, KC_CAPS,
89 KC_LSFT, KC_LSFT, KC_DEL, KC_LBRC, KC_RBRC, KC_GRV, KC_VOLD, KC_LEFT, KC_DOWN, KC_RGHT, KC_RSFT, MO(_MOUSE),
90 KC_LCTL, KC_LCTL, KC_MRWD, KC_MPLY, KC_MFFD, KC_MSTP, KC_BRID, KC_BRIU, KC_END, KC_PGDN, KC_PGUP, KC_HOME, KC_RSFT, KC_RSFT,
91 KC_NO, KC_LALT, KC_LGUI, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO
92),
93/* MOUSE
94 * ,-----------------------------------------. ,-----------------------------------------.
95 * | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
96 * |------+------+------+------+------+------| |------+------+------+------+------+------|
97 * | XXXX | XXXX |MS_W_D| MS_U |MS_W_U| XXXX | | XXXX | XXXX |LShift|Trans | LGUI | XXXX |
98 * |------+------+------+------+------+------| |------+------+------+------+------+------|
99 * | XXXX |MS_BT2| MS_L | MS_D | MS_R | XXXX |-------. ,-------| XXXX | XXXX | XXXX | XXXX | XXXX |Trans |
100 * |------+------+------+------+------+------| XXXX | | XXXX |------+------+------+------+------+------|
101 * | XXXX | XXXX |MS_W_R|MS_BT3|MS_W_L| XXXX |-------| |-------| XXXX | XXXX | XXXX | XXXX | XXXX | XXXX |
102 * `-----------------------------------------/ / \ \-----------------------------------------'
103 * | XXXX | XXXX | XXXX | / MS_BT1/ \ XXXX \ |Trans | XXXX | XXXX |
104 * | | | |/ / \ \ | | | |
105 * `----------------------------' '------''--------------------'
106 */
107
108[_MOUSE] = LAYOUT(
109 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
110 KC_NO, KC_NO, KC_WH_D, KC_MS_U, KC_WH_U, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_TRNS, KC_LGUI, KC_NO,
111 KC_NO, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
112 KC_NO, KC_NO, KC_WH_R, KC_BTN3, KC_WH_L, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
113 KC_NO, KC_NO, KC_NO, KC_BTN1, KC_NO, KC_TRNS, KC_NO, KC_NO
114)
115};
116
117//SSD1306 OLED update loop, make sure to enable OLED_DRIVER_ENABLE=yes in rules.mk
118#ifdef OLED_DRIVER_ENABLE
119
120oled_rotation_t oled_init_user(oled_rotation_t rotation) {
121 if (!is_keyboard_master())
122 return OLED_ROTATION_180; // flips the display 180 degrees if offhand
123 return rotation;
124}
125
126// When you add source files to SRC in rules.mk, you can use functions.
127const char *read_layer_state(void);
128const char *read_logo(void);
129void set_keylog(uint16_t keycode, keyrecord_t *record);
130//const char *read_keylog(void);
131//const char *read_keylogs(void);
132
133// const char *read_mode_icon(bool swap);
134// const char *read_host_led_state(void);
135// void set_timelog(void);
136// const char *read_timelog(void);
137
138static void render_logo(void) {
139 static const char PROGMEM my_logo[] = {
140 // Paste the code from the previous step below this line!
141 // 'DataDavD Logo', 128x32px
142 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
143 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
144 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
145 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
146 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
147 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
148 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
149 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
150 0x01, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x19, 0xf9, 0xf9, 0xf9, 0xe1, 0xe7, 0x07, 0xff, 0xff,
151 0xff, 0x01, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x01, 0xff, 0xff,
152 0xff, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x61, 0x61, 0x67, 0x67, 0x67, 0x67, 0x07, 0x07, 0xff,
153 0xff, 0x01, 0x01, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xf9, 0xf9, 0xf9, 0xf9, 0x01, 0x01, 0xff,
154 0xff, 0x01, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x19, 0xf9, 0xf9, 0xf9, 0xe1, 0xe7, 0x07, 0xff,
155 0xff, 0xff, 0x01, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x01, 0xff,
156 0xff, 0xff, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x01, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0x01, 0x01,
157 0xff, 0xff, 0x01, 0x01, 0xf9, 0xf9, 0xf9, 0xf9, 0x19, 0x19, 0xf9, 0xf9, 0xe1, 0xe1, 0x07, 0x07,
158 0x80, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x98, 0x9f, 0x9f, 0x9f, 0x87, 0xe7, 0xe0, 0xff, 0xff,
159 0xff, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x99, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x80, 0xff, 0xff,
160 0xff, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x98, 0x98, 0x9e, 0x9e, 0x9e, 0x9e, 0x80, 0x80, 0xff,
161 0xff, 0x80, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x99, 0x99, 0x9f, 0x9f, 0x9f, 0x9f, 0x80, 0x80, 0xff,
162 0xff, 0x80, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x98, 0x9f, 0x9f, 0x9f, 0x87, 0xe7, 0xe0, 0xff,
163 0xff, 0xff, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x99, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x80, 0xff,
164 0xff, 0xff, 0xe0, 0xe7, 0x87, 0x9f, 0x9f, 0x9f, 0x98, 0x98, 0x9f, 0x9f, 0x87, 0x87, 0xe0, 0xe0,
165 0xff, 0xff, 0x80, 0x80, 0x9f, 0x9f, 0x9f, 0x9f, 0x98, 0x98, 0x9f, 0x9f, 0x87, 0x87, 0xe0, 0xe0,
166 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
167 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
168 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
169 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
170 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
171 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
172 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
173 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
174
175 };
176
177 oled_write_raw_P(my_logo, sizeof(my_logo));
178}
179
180static void render_lfc_logo(void) {
181 static const char PROGMEM my_lfc_logo[] = {
182 // Paste the code from the previous step below this line!
183 // 'YNWA', 128x32px
184 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
185 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff,
186 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff,
187 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff,
188 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
189 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
190 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
192 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
193 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf0, 0xc3, 0x87,
194 0x1f, 0x3f, 0x1f, 0x8f, 0xc3, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xf0, 0xe1,
195 0xc3, 0x87, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
196 0xfc, 0xf0, 0x00, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x03, 0x81, 0x03, 0x1f, 0xff, 0xff,
197 0xff, 0xff, 0x1f, 0x00, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x87, 0xe1, 0xf0, 0xc0,
198 0x07, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
201 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
202 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff,
203 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf1, 0xc3, 0x87, 0x1f, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
204 0xff, 0xff, 0xff, 0xf8, 0x80, 0x03, 0x1f, 0x07, 0xc0, 0xf8, 0xff, 0xff, 0xfe, 0xf0, 0x81, 0x0f,
205 0x07, 0x80, 0xf0, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x87, 0xe1, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9,
206 0xf9, 0xf8, 0xe0, 0x03, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
209 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
210 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xff, 0xff,
211 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff,
212 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
213 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
214 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
216
217 };
218
219 oled_write_raw_P(my_lfc_logo, sizeof(my_lfc_logo));
220}
221
222void oled_task_user(void) {
223 if (is_keyboard_master()) {
224 render_logo();
225 } else {
226 render_lfc_logo();
227 }
228}
229#endif // OLED_DRIVER_ENABLE
230
231bool process_record_user(uint16_t keycode, keyrecord_t *record) {
232 if (record->event.pressed) {
233#ifdef OLED_DRIVER_ENABLE
234#endif
235 }
236 return true;
237}
238
239#include <stdio.h>
240#include "lily58.h"
241
242#define L_BASE 0
243#define L_SUPER (1 << 1)
244#define L_RAISE (1 << 2)
245
246char layer_state_str[24];
247
248const char *read_layer_state(void) {
249 switch (layer_state)
250 {
251 case L_BASE:
252 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Default");
253 break;
254 case L_RAISE:
255 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise");
256 break;
257 case L_SUPER:
258 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Super");
259 break;
260 default:
261 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
262 }
263
264 return layer_state_str;
265}
266
diff --git a/keyboards/lily58/keymaps/datadavd/rules.mk b/keyboards/lily58/keymaps/datadavd/rules.mk
new file mode 100644
index 000000000..b53fed1a7
--- /dev/null
+++ b/keyboards/lily58/keymaps/datadavd/rules.mk
@@ -0,0 +1,6 @@
1MOUSEKEY_ENABLE = yes
2EXTRAKEY_ENABLE = yes
3
4# If you want to change the display of OLED, you need to change here
5SRC += ./lib/rgb_state_reader.c \
6 ./lib/logo_reader.c