diff options
Diffstat (limited to 'keyboards/lily58/keymaps/yuchi/keymap.c')
| -rw-r--r-- | keyboards/lily58/keymaps/yuchi/keymap.c | 47 |
1 files changed, 18 insertions, 29 deletions
diff --git a/keyboards/lily58/keymaps/yuchi/keymap.c b/keyboards/lily58/keymaps/yuchi/keymap.c index 13b6cb168..d258fbcbc 100644 --- a/keyboards/lily58/keymaps/yuchi/keymap.c +++ b/keyboards/lily58/keymaps/yuchi/keymap.c | |||
| @@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 112 | * |LOWER | LGUI | Alt | /Space / \Enter \ |BackSP| RGUI |RAISE | | 112 | * |LOWER | LGUI | Alt | /Space / \Enter \ |BackSP| RGUI |RAISE | |
| 113 | * | | | |/ / \ \ | | | | | 113 | * | | | |/ / \ \ | | | | |
| 114 | * `----------------------------' '------''--------------------' | 114 | * `----------------------------' '------''--------------------' |
| 115 | */ | 115 | */ |
| 116 | [_ADJUST] = LAYOUT( \ | 116 | [_ADJUST] = LAYOUT( \ |
| 117 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 117 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 118 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 118 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| @@ -137,14 +137,16 @@ void matrix_init_user(void) { | |||
| 137 | #ifdef RGBLIGHT_ENABLE | 137 | #ifdef RGBLIGHT_ENABLE |
| 138 | RGB_current_mode = rgblight_config.mode; | 138 | RGB_current_mode = rgblight_config.mode; |
| 139 | #endif | 139 | #endif |
| 140 | //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h | ||
| 141 | #ifdef SSD1306OLED | ||
| 142 | iota_gfx_init(!has_usb()); // turns on the display | ||
| 143 | #endif | ||
| 144 | } | 140 | } |
| 145 | 141 | ||
| 146 | //SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h | 142 | //SSD1306 OLED update loop, make sure to enable OLED_DRIVER_ENABLE=yes in rules.mk |
| 147 | #ifdef SSD1306OLED | 143 | #ifdef OLED_DRIVER_ENABLE |
| 144 | |||
| 145 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
| 146 | if (!is_keyboard_master()) | ||
| 147 | return OLED_ROTATION_180; // flips the display 180 degrees if offhand | ||
| 148 | return rotation; | ||
| 149 | } | ||
| 148 | 150 | ||
| 149 | // When add source files to SRC in rules.mk, you can use functions. | 151 | // When add source files to SRC in rules.mk, you can use functions. |
| 150 | const char *read_layer_state(void); | 152 | const char *read_layer_state(void); |
| @@ -165,35 +167,22 @@ void matrix_scan_user(void) { | |||
| 165 | void matrix_render_user(struct CharacterMatrix *matrix) { | 167 | void matrix_render_user(struct CharacterMatrix *matrix) { |
| 166 | if (is_master) { | 168 | if (is_master) { |
| 167 | // If you want to change the display of OLED, you need to change here | 169 | // If you want to change the display of OLED, you need to change here |
| 168 | matrix_write_ln(matrix, read_layer_state()); | 170 | oled_write_ln(read_layer_state(), false); |
| 169 | matrix_write_ln(matrix, read_keylog()); | 171 | oled_write_ln(read_keylog(), false); |
| 170 | matrix_write_ln(matrix, read_keylogs()); | 172 | oled_write_ln(read_keylogs(), false); |
| 171 | //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); | 173 | //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false); |
| 172 | //matrix_write_ln(matrix, read_host_led_state()); | 174 | //oled_write_ln(read_host_led_state(), false); |
| 173 | //matrix_write_ln(matrix, read_timelog()); | 175 | //oled_write_ln(read_timelog(), false); |
| 174 | } else { | 176 | } else { |
| 175 | matrix_write(matrix, read_logo()); | 177 | oled_write(read_logo(), false); |
| 176 | } | 178 | } |
| 177 | } | 179 | } |
| 178 | 180 | ||
| 179 | void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { | ||
| 180 | if (memcmp(dest->display, source->display, sizeof(dest->display))) { | ||
| 181 | memcpy(dest->display, source->display, sizeof(dest->display)); | ||
| 182 | dest->dirty = true; | ||
| 183 | } | ||
| 184 | } | ||
| 185 | |||
| 186 | void iota_gfx_task_user(void) { | ||
| 187 | struct CharacterMatrix matrix; | ||
| 188 | matrix_clear(&matrix); | ||
| 189 | matrix_render_user(&matrix); | ||
| 190 | matrix_update(&display, &matrix); | ||
| 191 | } | ||
| 192 | #endif//SSD1306OLED | 181 | #endif//SSD1306OLED |
| 193 | 182 | ||
| 194 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 183 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 195 | if (record->event.pressed) { | 184 | if (record->event.pressed) { |
| 196 | #ifdef SSD1306OLED | 185 | #ifdef OLED_DRIVER_ENABLE |
| 197 | set_keylog(keycode, record); | 186 | set_keylog(keycode, record); |
| 198 | #endif | 187 | #endif |
| 199 | // set_timelog(); | 188 | // set_timelog(); |
| @@ -236,4 +225,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 236 | break; | 225 | break; |
| 237 | } | 226 | } |
| 238 | return true; | 227 | return true; |
| 239 | } \ No newline at end of file | 228 | } |
