* mitosis:datagrok: fix typo'd inconsistent brace arrangement (thank you @cari66ean) * mitosis:datagrok: add makefile argument MITOSIS_DATAGROK_SLOWUART * mitosis:datagrok: return backspace to opposite space, use TT(), more - move backspace back to its position opposite space - move del to red+backspace - move tab back to tap-leftshift - move printscreen/scrolllock/pause to blue+left pinky column - use TT() instead of MO() to stick a layer on if wanted - indentation that my text editor wants - default to no audio; i can enable it at compile time. * mitosis:datagrok: modularize features, add default layer rotator key * mitosis: add MITOSIS_DATAGROK_BOTTOMSPACE makefile argument * mitosis:datagrok: README improvements; document new features * mitosis:datagrok: dot. not "number pad dot." in numbers layer * mitosis:datagrok remove unnecessary _user audio code * mitosis:datagrok: return to MO() for red/blue, keep TT() for purple in this way, the LED still updates quickly when red or blue is pressed, but we can still lock the purple layer on for 10-key numpad operation with red+tapping blue. * mitosis:datagrok: add colemak and dvorak default layers * mitosis:datagrok update readme re: available default layouts * mitosis: remove unneeded code that was overriding led_set_user also, add some comments * mitosis:datagrok: updated led setting code for new layers also, place into led_set_user where it belongs, not matrix_scan_user. * mitosis:datagrok: update LEDs when setting the default layer maybe this should go into default_layer_set? * mitosis:datagrok update readme with new imgur links + other improvements * mitosis:datagrok fix typo in image urls * mitosis:datagrok remove useless #include (ty @drashna) * mitosis:datagrok undo unnecessary change to quantum/quantum.h i can put the extern float definition in my own keymap code. (ty @drashna) * mitosis:datagrok move customized layout to my keymap no need to modify keyboard-level mitosis.h. (ty @drashna) * mitosis:datagrok update comment describing my led indicator logic * datagrok:mitosis update readme to document LED indicator.
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef MITOSIS_H
 | |
| #define MITOSIS_H
 | |
| 
 | |
| #include "quantum.h"
 | |
| #include "matrix.h"
 | |
| #include "backlight.h"
 | |
| #include <stddef.h>
 | |
| 
 | |
| #define red_led_off   PORTF |= (1<<5)
 | |
| #define red_led_on    PORTF &= ~(1<<5)
 | |
| #define blu_led_off   PORTF |= (1<<4)
 | |
| #define blu_led_on    PORTF &= ~(1<<4)
 | |
| #define grn_led_off   PORTD |= (1<<1)
 | |
| #define grn_led_on    PORTD &= ~(1<<1)
 | |
| 
 | |
| #define set_led_off     red_led_off; grn_led_off; blu_led_off
 | |
| #define set_led_red     red_led_on;  grn_led_off; blu_led_off
 | |
| #define set_led_blue    red_led_off; grn_led_off; blu_led_on
 | |
| #define set_led_green   red_led_off; grn_led_on;  blu_led_off
 | |
| #define set_led_yellow  red_led_on;  grn_led_on;  blu_led_off
 | |
| #define set_led_magenta red_led_on;  grn_led_off; blu_led_on
 | |
| #define set_led_cyan    red_led_off; grn_led_on;  blu_led_on
 | |
| #define set_led_white   red_led_on;  grn_led_on;  blu_led_on
 | |
| 
 | |
| /*
 | |
| #define LED_B 5
 | |
| #define LED_R 6
 | |
| #define LED_G 7
 | |
| 
 | |
| #define all_leds_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
 | |
| 
 | |
| #define red_led_on   PORTF |= (1<<LED_R)
 | |
| #define red_led_off  PORTF &= ~(1<<LED_R)
 | |
| #define grn_led_on   PORTF |= (1<<LED_G)
 | |
| #define grn_led_off  PORTF &= ~(1<<LED_G)
 | |
| #define blu_led_on   PORTF |= (1<<LED_B)
 | |
| #define blu_led_off  PORTF &= ~(1<<LED_B)
 | |
| 
 | |
| #define set_led_off     PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
 | |
| #define set_led_red     PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_G) | (1<<LED_R)
 | |
| #define set_led_blue    PORTF = PORTF & ~(1<<LED_G) & ~(1<<LED_R) | (1<<LED_B)
 | |
| #define set_led_green   PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_R) | (1<<LED_G)
 | |
| #define set_led_yellow  PORTF = PORTF & ~(1<<LED_B) | (1<<LED_R) | (1<<LED_G)
 | |
| #define set_led_magenta PORTF = PORTF & ~(1<<LED_G) | (1<<LED_R) | (1<<LED_B)
 | |
| #define set_led_cyan    PORTF = PORTF & ~(1<<LED_R) | (1<<LED_B) | (1<<LED_G)
 | |
| #define set_led_white   PORTF |= (1<<LED_B) | (1<<LED_R) | (1<<LED_G)
 | |
| */
 | |
| 
 | |
| // This a shortcut to help you visually see your layout.
 | |
| // The first section contains all of the arguments
 | |
| // The second converts the arguments into a two-dimensional array
 | |
| #define LAYOUT( \
 | |
|   k00, k01, k02, k03, k04,      k05, k06, k07, k08, k09, \
 | |
|   k10, k11, k12, k13, k14,      k15, k16, k17, k18, k19, \
 | |
|   k20, k21, k22, k23, k24,      k25, k26, k27, k28, k29, \
 | |
|        k31, k32, k33, k34,      k35, k36, k37, k38, \
 | |
|        k41, k42, k43, k44,      k45, k46, k47, k48  \
 | |
| ) \
 | |
|   {                                                           \
 | |
|     { k00,   k01, k02, k03, k04, k05, k06, k07, k08, k09   }, \
 | |
|     { k10,   k11, k12, k13, k14, k15, k16, k17, k18, k19   }, \
 | |
|     { k20,   k21, k22, k23, k24, k25, k26, k27, k28, k29   }, \
 | |
|     { KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, KC_NO }, \
 | |
|     { KC_NO, k41, k42, k43, k44, k45, k46, k47, k48, KC_NO }  \
 | |
|   }
 | |
| #endif
 |