[Keymap] Display logo for caps lock indication on crkbd using old OLED driver (#7535)
* Display logo for caps lock indication on crkbd using old OLED driver * Add emacs read-only mode file variable to generated files * use LTO_ENABLE instead of EXTRAFLAGS This enables the same option, and disables action_macros, and action_functions, both of which seem to break when LTO is enabled. And this is a lot simpler to use. Co-Authored-By: Drashna Jaelre <drashna@live.com>
This commit is contained in:
		
							parent
							
								
									e676278474
								
							
						
					
					
						commit
						3d78e6078e
					
				
					 9 changed files with 107 additions and 34 deletions
				
			
		| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
 | 
			
		||||
// generated from users/manna-harbour_miryoku/miryoku.org
 | 
			
		||||
// generated from users/manna-harbour_miryoku/miryoku.org  -*- buffer-read-only: t -*-
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
 | 
			
		||||
// generated from users/manna-harbour_miryoku/miryoku.org
 | 
			
		||||
// generated from users/manna-harbour_miryoku/miryoku.org  -*- buffer-read-only: t -*-
 | 
			
		||||
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -384,7 +384,7 @@ Header for tangled src files.
 | 
			
		|||
 | 
			
		||||
#+NAME: header
 | 
			
		||||
#+BEGIN_SRC C :tangle no
 | 
			
		||||
generated from users/manna-harbour_miryoku/miryoku.org
 | 
			
		||||
generated from users/manna-harbour_miryoku/miryoku.org  -*- buffer-read-only: t -*-
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -405,8 +405,7 @@ bottom row unused and the rest of the bottom row are the thumb keys.
 | 
			
		|||
Contains the keymap.  Included from keymap.c
 | 
			
		||||
 | 
			
		||||
[[./manna-harbour_miryoku.c][users/manna-harbour_miryoku/manna-harbour_miryoku.c]]
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :tangle manna-harbour_miryoku.c
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :padline no :tangle manna-harbour_miryoku.c
 | 
			
		||||
// <<header>>
 | 
			
		||||
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
| 
						 | 
				
			
			@ -442,8 +441,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
Config options.  Automatically included.
 | 
			
		||||
 | 
			
		||||
[[./config.h][users/manna-harbour_miryoku/config.h]]
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :tangle config.h
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :padline no :tangle config.h
 | 
			
		||||
// <<header>>
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
| 
						 | 
				
			
			@ -465,13 +463,12 @@ Config options.  Automatically included.
 | 
			
		|||
Build options.  Automatically included.
 | 
			
		||||
 | 
			
		||||
[[./rules.mk][users/manna-harbour_miryoku/rules.mk]]
 | 
			
		||||
#+BEGIN_SRC makefile :noweb yes :tangle rules.mk
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC makefile :noweb yes :padline no :tangle rules.mk
 | 
			
		||||
# <<header>>
 | 
			
		||||
 | 
			
		||||
MOUSEKEY_ENABLE = yes        # Mouse keys(+4700)
 | 
			
		||||
EXTRAKEY_ENABLE = yes        # Audio control and System control(+450)
 | 
			
		||||
 | 
			
		||||
EXTRAFLAGS += -flto	     # Link Time Optimization to reduce code size, 31358->28034/28672
 | 
			
		||||
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -490,8 +487,7 @@ thumb key is the innermost key of the partial bottom row.  The remaining keys
 | 
			
		|||
are unused.
 | 
			
		||||
 | 
			
		||||
[[../../layouts/community/ergodox/manna-harbour_miryoku/keymap.c][layouts/community/ergodox/manna-harbour_miryoku/keymap.c]]
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :tangle ../../layouts/community/ergodox/manna-harbour_miryoku/keymap.c
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :padline no :tangle ../../layouts/community/ergodox/manna-harbour_miryoku/keymap.c
 | 
			
		||||
// <<header>>
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_miryoku(\
 | 
			
		||||
| 
						 | 
				
			
			@ -533,8 +529,7 @@ provide some column stagger on ortho keyboards.  The bottom row left 3 columns
 | 
			
		|||
are the thumb keys.  The remaining keys are unused.
 | 
			
		||||
 | 
			
		||||
[[../../layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c][layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c]]
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :tangle ../../layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :padline no :tangle ../../layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c
 | 
			
		||||
// <<header>>
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_miryoku(\
 | 
			
		||||
| 
						 | 
				
			
			@ -577,8 +572,7 @@ The outer columns are unused.
 | 
			
		|||
**** keymap.c
 | 
			
		||||
 | 
			
		||||
[[../../keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c][keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c]]
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :tangle ../../keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :padline no :tangle ../../keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c
 | 
			
		||||
// <<header>>
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_miryoku( \
 | 
			
		||||
| 
						 | 
				
			
			@ -596,14 +590,51 @@ KC_NO, K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   KC_
 | 
			
		|||
 | 
			
		||||
#include "manna-harbour_miryoku.c"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef SSD1306OLED
 | 
			
		||||
 | 
			
		||||
#include "ssd1306.h"
 | 
			
		||||
 | 
			
		||||
void matrix_init_user(void) {
 | 
			
		||||
  iota_gfx_init(!has_usb());   // turns on the display
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// When add source files to SRC in rules.mk, you can use functions.
 | 
			
		||||
const char *read_logo(void);
 | 
			
		||||
 | 
			
		||||
void matrix_scan_user(void) {
 | 
			
		||||
   iota_gfx_task();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_render_user(struct CharacterMatrix *matrix) {
 | 
			
		||||
  if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
 | 
			
		||||
    matrix_write(matrix, read_logo());
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
 | 
			
		||||
  if (memcmp(dest->display, source->display, sizeof(dest->display))) {
 | 
			
		||||
    memcpy(dest->display, source->display, sizeof(dest->display));
 | 
			
		||||
    dest->dirty = true;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void iota_gfx_task_user(void) {
 | 
			
		||||
  struct CharacterMatrix matrix;
 | 
			
		||||
  matrix_clear(&matrix);
 | 
			
		||||
  matrix_render_user(&matrix);
 | 
			
		||||
  matrix_update(&display, &matrix);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif //SSD1306OLED
 | 
			
		||||
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** config.h
 | 
			
		||||
 | 
			
		||||
[[../../keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h][keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h]]
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :tangle ../../keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :padline no :tangle ../../keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h
 | 
			
		||||
// <<header>>
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
| 
						 | 
				
			
			@ -621,18 +652,23 @@ KC_NO, K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   KC_
 | 
			
		|||
#define RGB_MATRIX_SPD_STEP 10
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define SSD1306OLED // old oled driver
 | 
			
		||||
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** rules.mk
 | 
			
		||||
 | 
			
		||||
[[../../keyboards/crkbd/keymaps/manna-harbour_miryoku/rules.mk][keyboards/crkbd/keymaps/manna-harbour_miryoku/rules.mk]]
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :tangle ../../keyboards/crkbd/keymaps/manna-harbour_miryoku/rules.mk
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC C :noweb yes :padline no :tangle ../../keyboards/crkbd/keymaps/manna-harbour_miryoku/rules.mk
 | 
			
		||||
# <<header>>
 | 
			
		||||
 | 
			
		||||
RGB_MATRIX_ENABLE = WS2812
 | 
			
		||||
 | 
			
		||||
# old oled driver
 | 
			
		||||
SRC += ./lib/glcdfont.c \
 | 
			
		||||
       ./lib/logo_reader.c
 | 
			
		||||
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
 | 
			
		||||
# generated from users/manna-harbour_miryoku/miryoku.org
 | 
			
		||||
# generated from users/manna-harbour_miryoku/miryoku.org  -*- buffer-read-only: t -*-
 | 
			
		||||
 | 
			
		||||
MOUSEKEY_ENABLE = yes        # Mouse keys(+4700)
 | 
			
		||||
EXTRAKEY_ENABLE = yes        # Audio control and System control(+450)
 | 
			
		||||
LTO_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue