Refactor to use led config - Part 2 (#10906)
* Refactor to use led config * Refactor to use led config * Refactor to use led config
This commit is contained in:
		
							parent
							
								
									3c156e130b
								
							
						
					
					
						commit
						adfd34c451
					
				| @ -48,6 +48,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| /* COL2ROW or ROW2COL */ | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| #define LED_NUM_LOCK_PIN B7 | ||||
| #define LED_CAPS_LOCK_PIN C6 | ||||
| #define LED_SCROLL_LOCK_PIN C5 | ||||
| #define LED_PIN_ON_STATE 0 | ||||
| 
 | ||||
| // #define BACKLIGHT_PIN B7
 | ||||
| // #define BACKLIGHT_BREATHING
 | ||||
| // #define BACKLIGHT_LEVELS 3
 | ||||
|  | ||||
| @ -1,51 +1 @@ | ||||
| #include "kitten_paw.h" | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
| 	// put your keyboard start-up code here
 | ||||
| 	// runs once when the firmware starts up
 | ||||
| 
 | ||||
| 	matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
| 	// put your looping keyboard code here
 | ||||
| 	// runs every cycle (a lot)
 | ||||
| 
 | ||||
|     matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| __attribute__ ((weak)) | ||||
| void matrix_init_user(void) { | ||||
| } | ||||
| 
 | ||||
| __attribute__ ((weak)) | ||||
| void matrix_scan_user(void) { | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
| 	// put your per-action keyboard code here
 | ||||
| 	// runs for every action, just before processing by the firmware
 | ||||
| 
 | ||||
| 	return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
| 	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | ||||
|     CONFIG_LED_IO; | ||||
|     CONFIG_LED_IO; | ||||
|     print_dec(usb_led); | ||||
|     if (usb_led & (1<<USB_LED_CAPS_LOCK)) | ||||
|         USB_LED_CAPS_LOCK_ON; | ||||
|     else | ||||
|         USB_LED_CAPS_LOCK_OFF; | ||||
| 
 | ||||
|     if (usb_led & (1<<USB_LED_NUM_LOCK)) | ||||
|         USB_LED_NUM_LOCK_ON; | ||||
|     else | ||||
|         USB_LED_NUM_LOCK_OFF; | ||||
|     if (usb_led & (1<<USB_LED_SCROLL_LOCK)) | ||||
|         USB_LED_SCROLL_LOCK_ON; | ||||
|     else | ||||
|         USB_LED_SCROLL_LOCK_OFF; | ||||
| 	led_set_user(usb_led); | ||||
| } | ||||
|  | ||||
| @ -3,17 +3,6 @@ | ||||
| 
 | ||||
| #include "quantum.h" | ||||
| 
 | ||||
| #define CONFIG_LED_IO \ | ||||
|   DDRB |= (1<<7); \ | ||||
|   DDRC |= (1<<5) | (1<<6); | ||||
| 
 | ||||
| #define USB_LED_CAPS_LOCK_ON    PORTC &= ~(1<<6) | ||||
| #define USB_LED_CAPS_LOCK_OFF   PORTC |=  (1<<6) | ||||
| #define USB_LED_NUM_LOCK_ON     PORTB &= ~(1<<7) | ||||
| #define USB_LED_NUM_LOCK_OFF    PORTB |=  (1<<7) | ||||
| #define USB_LED_SCROLL_LOCK_ON  PORTC &= ~(1<<5) | ||||
| #define USB_LED_SCROLL_LOCK_OFF PORTC |=  (1<<5) | ||||
| 
 | ||||
| // This a shortcut to help you visually see your layout.
 | ||||
| // The first section contains all of the arguements
 | ||||
| // The second converts the arguments into a two-dimensional array
 | ||||
|  | ||||
| @ -44,6 +44,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| #define UNUSED_PINS { B0, C4, D3 } | ||||
| 
 | ||||
| #define LED_NUM_LOCK_PIN C5 | ||||
| #define LED_CAPS_LOCK_PIN C6 | ||||
| #define LED_SCROLL_LOCK_PIN B7 | ||||
| #define LED_PIN_ON_STATE 0 | ||||
| 
 | ||||
| /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||
| #define DEBOUNCE 5 | ||||
| 
 | ||||
|  | ||||
| @ -1,63 +1 @@ | ||||
| #include "tiger_lily.h" | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
|     // put your keyboard start-up code here
 | ||||
|     // runs once when the firmware starts up
 | ||||
| 
 | ||||
|     matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
|     // put your looping keyboard code here
 | ||||
|     // runs every cycle (a lot)
 | ||||
| 
 | ||||
|     matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
|     // put your per-action keyboard code here
 | ||||
|     // runs for every action, just before processing by the firmware
 | ||||
| 
 | ||||
|     return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
|     DDRB |= (1<<7); | ||||
|     DDRC |= (1<<5) | (1<<6); | ||||
| 
 | ||||
|     print_dec(usb_led); | ||||
| 
 | ||||
|     if (usb_led & (1<<USB_LED_NUM_LOCK)) | ||||
|         PORTC &= ~(1<<5); | ||||
|     else | ||||
|         PORTC |=  (1<<5); | ||||
| 
 | ||||
|     if (usb_led & (1<<USB_LED_SCROLL_LOCK)) | ||||
|         PORTB &= ~(1<<7); | ||||
|     else | ||||
|         PORTB |=  (1<<7); | ||||
| 
 | ||||
|     if (usb_led & (1<<USB_LED_CAPS_LOCK)) | ||||
|         PORTC &= ~(1<<6); | ||||
|     else | ||||
|         PORTC |=  (1<<6); | ||||
| 
 | ||||
|     led_set_user(usb_led); | ||||
| } | ||||
| 
 | ||||
| __attribute__ ((weak)) | ||||
| void matrix_init_user(void) { | ||||
| } | ||||
| 
 | ||||
| __attribute__ ((weak)) | ||||
| void matrix_scan_user(void) { | ||||
| } | ||||
| 
 | ||||
| __attribute__ ((weak)) | ||||
| bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||
|   return true; | ||||
| } | ||||
| 
 | ||||
| __attribute__ ((weak)) | ||||
| void led_set_user(uint8_t usb_led) { | ||||
| } | ||||
| @ -35,6 +35,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||
| #define DEBOUNCE 5 | ||||
| 
 | ||||
| #define LED_NUM_LOCK_PIN B7 | ||||
| #define LED_CAPS_LOCK_PIN C5 | ||||
| #define LED_SCROLL_LOCK_PIN C6 | ||||
| #define LED_PIN_ON_STATE 0 | ||||
| 
 | ||||
| /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||||
| //#define MATRIX_HAS_GHOST
 | ||||
| 
 | ||||
|  | ||||
| @ -14,57 +14,3 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| #include "unloved_bastard.h" | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
| 	// put your keyboard start-up code here
 | ||||
| 	// runs once when the firmware starts up
 | ||||
| 	led_init_ports(); | ||||
| 	matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
| 	// put your looping keyboard code here
 | ||||
| 	// runs every cycle (a lot)
 | ||||
| 
 | ||||
| 	matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
|     // put your per-action keyboard code here
 | ||||
|     // runs for every action, just before processing by the firmware
 | ||||
|     return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| // C5 left
 | ||||
| // C6 middle led
 | ||||
| // B7 right led
 | ||||
| void led_init_ports(void) { | ||||
|     DDRB |= (1<<7); | ||||
|     DDRC |= (1<<5); | ||||
|     DDRC |= (1<<6); | ||||
| 
 | ||||
|     PORTB |= (1<<7); | ||||
|     PORTC |= (1<<5); | ||||
|     PORTC |= (1<<6); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
| 
 | ||||
|     if (usb_led & (1<<USB_LED_CAPS_LOCK)) | ||||
|         PORTC &= ~(1<<5); | ||||
|     else | ||||
|         PORTC |=  (1<<5); | ||||
| 
 | ||||
|     if (usb_led & (1<<USB_LED_NUM_LOCK)) | ||||
|         PORTB &= ~(1<<7); | ||||
|     else | ||||
|         PORTB |=  (1<<7); | ||||
| 
 | ||||
|     if (usb_led & (1<<USB_LED_SCROLL_LOCK)) | ||||
|         PORTC &= ~(1<<6); | ||||
|     else | ||||
|         PORTC |=  (1<<6); | ||||
| 
 | ||||
|     led_set_user(usb_led); | ||||
| } | ||||
|  | ||||
| @ -48,10 +48,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| /* COL2ROW, ROW2COL*/ | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| /*
 | ||||
|  * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. | ||||
|  */ | ||||
| #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
 | ||||
| #define LED_CAPS_LOCK_PIN E6 | ||||
| #define LED_PIN_ON_STATE 0 | ||||
| 
 | ||||
| #define BACKLIGHT_PIN B7 | ||||
| #define BACKLIGHT_BREATHING | ||||
|  | ||||
| @ -14,36 +14,3 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| #include "space65.h" | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
| 	// put your keyboard start-up code here
 | ||||
| 	// runs once when the firmware starts up
 | ||||
| 
 | ||||
| 	setPinOutput(E6); | ||||
| 	matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
| 	// put your looping keyboard code here
 | ||||
| 	// runs every cycle (a lot)
 | ||||
| 
 | ||||
| 	matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
| 	// put your per-action keyboard code here
 | ||||
| 	// runs for every action, just before processing by the firmware
 | ||||
| 
 | ||||
| 	return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
| 	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | ||||
|   if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { | ||||
|     writePinLow(E6); | ||||
|   } else { | ||||
|     writePinHigh(E6); | ||||
|   } | ||||
| 
 | ||||
| 	led_set_user(usb_led); | ||||
| } | ||||
|  | ||||
| @ -46,6 +46,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| #define LED_NUM_LOCK_PIN C6 | ||||
| #define LED_CAPS_LOCK_PIN C7 | ||||
| #define LED_SCROLL_LOCK_PIN F7 | ||||
| #define LED_PIN_ON_STATE 0 | ||||
| 
 | ||||
| #define RGB_DI_PIN E2 | ||||
| #ifdef RGB_DI_PIN | ||||
|     #define RGBLED_NUM 22 | ||||
|  | ||||
| @ -14,58 +14,3 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| #include "hotswap.h" | ||||
| 
 | ||||
| // Optional override functions below.
 | ||||
| // You can leave any or all of these undefined.
 | ||||
| // These are only required if you want to perform custom actions.
 | ||||
| 
 | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
|   // put your keyboard start-up code here
 | ||||
|   // runs once when the firmware starts up
 | ||||
| 
 | ||||
|   setPinOutput(C6); | ||||
|   setPinOutput(C7); | ||||
|   setPinOutput(F7); | ||||
|    | ||||
|   matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
|   // put your looping keyboard code here
 | ||||
|   // runs every cycle (a lot)
 | ||||
| 
 | ||||
|   matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
|   // put your per-action keyboard code here
 | ||||
|   // runs for every action, just before processing by the firmware
 | ||||
| 
 | ||||
|   return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
|   // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | ||||
| 
 | ||||
|   if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { | ||||
|     writePinLow(C7); | ||||
|   } else { | ||||
|     writePinHigh(C7); | ||||
|   } | ||||
| 
 | ||||
|   if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { | ||||
|     writePinLow(C6); | ||||
|   } else { | ||||
|     writePinHigh(C6); | ||||
|   } | ||||
| 
 | ||||
|   if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { | ||||
|     writePinLow(F7); | ||||
|   } else { | ||||
|     writePinHigh(F7); | ||||
|   } | ||||
| 
 | ||||
|   led_set_user(usb_led); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -47,6 +47,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| /* COL2ROW, ROW2COL*/ | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| #define LED_NUM_LOCK_PIN B2 | ||||
| #define LED_CAPS_LOCK_PIN B0 | ||||
| #define LED_SCROLL_LOCK_PIN B1 | ||||
| 
 | ||||
| #define BACKLIGHT_PIN B6 | ||||
| #ifdef BACKLIGHT_PIN | ||||
| #define BACKLIGHT_LEVELS 3 | ||||
|  | ||||
| @ -16,57 +16,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| */ | ||||
| 
 | ||||
| #include "kbd19x.h" | ||||
| 
 | ||||
| extern inline void kbd19x_caps_led_on(void); | ||||
| extern inline void kbd19x_caps_led_off(void); | ||||
| 
 | ||||
| extern inline void kbd19x_sclk_led_on(void); | ||||
| extern inline void kbd19x_sclk_led_off(void); | ||||
| 
 | ||||
| extern inline void kbd19x_nmlk_led_on(void); | ||||
| extern inline void kbd19x_nmlk_led_off(void); | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
| 	// put your keyboard start-up code here
 | ||||
| 	// runs once when the firmware starts up
 | ||||
| 
 | ||||
| 	matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
| 	// put your looping keyboard code here
 | ||||
| 	// runs every cycle (a lot)
 | ||||
| 
 | ||||
| 	matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
| 	// put your per-action keyboard code here
 | ||||
| 	// runs for every action, just before processing by the firmware
 | ||||
| 
 | ||||
| 	return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
| 	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | ||||
| 
 | ||||
|   if (usb_led & (1<<USB_LED_NUM_LOCK)) { | ||||
|     kbd19x_nmlk_led_on(); | ||||
|   } else { | ||||
|     kbd19x_nmlk_led_off(); | ||||
|   } | ||||
| 
 | ||||
|   if (usb_led & (1<<USB_LED_CAPS_LOCK)) { | ||||
|     kbd19x_caps_led_on(); | ||||
|   } else { | ||||
|     kbd19x_caps_led_off(); | ||||
|   } | ||||
| 
 | ||||
|   if (usb_led & (1<<USB_LED_SCROLL_LOCK)) { | ||||
|     kbd19x_sclk_led_on(); | ||||
|   } else { | ||||
|     kbd19x_sclk_led_off(); | ||||
|   } | ||||
| 
 | ||||
|   led_set_user(usb_led); | ||||
| } | ||||
|  | ||||
| @ -20,14 +20,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| #include "quantum.h" | ||||
| #include "led.h" | ||||
| 
 | ||||
| inline void kbd19x_caps_led_on(void)    { DDRB |=  (1<<0); PORTB &= ~(1<<0); } | ||||
| inline void kbd19x_caps_led_off(void)   { DDRB &= ~(1<<0); PORTB &= ~(1<<0); } | ||||
| inline void kbd19x_caps_led_on(void)    { writePinHigh(LED_CAPS_LOCK_PIN); } | ||||
| inline void kbd19x_caps_led_off(void)   { writePinLow(LED_CAPS_LOCK_PIN); } | ||||
| 
 | ||||
| inline void kbd19x_sclk_led_on(void)    { DDRB |=  (1<<1); PORTB &= ~(1<<1); } | ||||
| inline void kbd19x_sclk_led_off(void)   { DDRB &= ~(1<<1); PORTB &= ~(1<<1); } | ||||
| inline void kbd19x_sclk_led_on(void)    { writePinHigh(LED_SCROLL_LOCK_PIN); } | ||||
| inline void kbd19x_sclk_led_off(void)   { writePinLow(LED_SCROLL_LOCK_PIN); } | ||||
| 
 | ||||
| inline void kbd19x_nmlk_led_on(void)    { DDRB |=  (1<<2); PORTB &= ~(1<<2); } | ||||
| inline void kbd19x_nmlk_led_off(void)   { DDRB &= ~(1<<2); PORTB &= ~(1<<2); } | ||||
| inline void kbd19x_nmlk_led_on(void)    { writePinHigh(LED_NUM_LOCK_PIN); } | ||||
| inline void kbd19x_nmlk_led_off(void)   { writePinLow(LED_NUM_LOCK_PIN); } | ||||
| 
 | ||||
| // readability
 | ||||
| #define XXX KC_NO | ||||
|  | ||||
| @ -48,6 +48,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| /* COL2ROW, ROW2COL*/ | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| #define LED_CAPS_LOCK_PIN B2 | ||||
| 
 | ||||
| #define BACKLIGHT_PIN B6 | ||||
| #ifdef BACKLIGHT_PIN | ||||
| #define BACKLIGHT_BREATHING | ||||
|  | ||||
| @ -14,38 +14,3 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| #include "rev1.h" | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
| 	// put your keyboard start-up code here
 | ||||
| 	// runs once when the firmware starts up
 | ||||
| 
 | ||||
| 	matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
| 	// put your looping keyboard code here
 | ||||
| 	// runs every cycle (a lot)
 | ||||
| 
 | ||||
| 	matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
| 	// put your per-action keyboard code here
 | ||||
| 	// runs for every action, just before processing by the firmware
 | ||||
| 
 | ||||
| 	return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
| 	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | ||||
| 
 | ||||
|   if (usb_led & (1 << USB_LED_CAPS_LOCK)) { | ||||
| 		DDRB |= (1 << 2); | ||||
| 		PORTB &= ~(1 << 2); | ||||
| 	} else { | ||||
| 		DDRB &= ~(1 << 2); | ||||
| 		PORTB &= ~(1 << 2); | ||||
| 	} | ||||
| 
 | ||||
| 	led_set_user(usb_led); | ||||
| } | ||||
|  | ||||
| @ -47,6 +47,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| /* COL2ROW, ROW2COL*/ | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| #define LED_CAPS_LOCK_PIN B6 | ||||
| 
 | ||||
| #define BACKLIGHT_PIN B7 | ||||
| #ifdef BACKLIGHT_PIN | ||||
| #define BACKLIGHT_BREATHING | ||||
|  | ||||
| @ -14,36 +14,3 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| #include "kbd6x.h" | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
| 	// put your keyboard start-up code here
 | ||||
| 	// runs once when the firmware starts up
 | ||||
| 
 | ||||
| 	matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
| 	// put your looping keyboard code here
 | ||||
| 	// runs every cycle (a lot)
 | ||||
| 
 | ||||
| 	matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
| 	// put your per-action keyboard code here
 | ||||
| 	// runs for every action, just before processing by the firmware
 | ||||
| 
 | ||||
| 	return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
| 	if (usb_led & (1 << USB_LED_CAPS_LOCK)) { | ||||
| 		DDRB |= (1 << 6);  | ||||
| 		PORTB &= ~(1 << 6); | ||||
| 	} else { | ||||
| 		DDRB &= ~(1 << 6);  | ||||
| 		PORTB &= ~(1 << 6); | ||||
| 	} | ||||
| 	 | ||||
| 	led_set_user(usb_led); | ||||
| } | ||||
| @ -20,6 +20,9 @@ | ||||
| /* COL2ROW or ROW2COL */ | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| #define LED_CAPS_LOCK_PIN B2 | ||||
| #define LED_PIN_ON_STATE 0 | ||||
| 
 | ||||
| /* number of backlight levels */ | ||||
| #define BACKLIGHT_PIN B6 | ||||
| #ifdef BACKLIGHT_PIN | ||||
|  | ||||
| @ -1,17 +1 @@ | ||||
| #include "rev1.h" | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
|   // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | ||||
|   if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { | ||||
|     writePinLow(B2); | ||||
|   } else { | ||||
|     writePinHigh(B2); | ||||
|   } | ||||
| 
 | ||||
|   led_set_user(usb_led); | ||||
| } | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
|   setPinOutput(B2); | ||||
|   matrix_init_user(); | ||||
| } | ||||
|  | ||||
| @ -1,17 +1 @@ | ||||
| #include "rev2.h" | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
|   // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | ||||
|   if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { | ||||
|     writePinLow(B2); | ||||
|   } else { | ||||
|     writePinHigh(B2); | ||||
|   } | ||||
| 
 | ||||
|   led_set_user(usb_led); | ||||
| } | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
|   setPinOutput(B2); | ||||
|   matrix_init_user(); | ||||
| } | ||||
|  | ||||
| @ -47,6 +47,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| /* COL2ROW, ROW2COL*/ | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| #define LED_NUM_LOCK_PIN B1 | ||||
| #define LED_CAPS_LOCK_PIN B3 | ||||
| #define LED_SCROLL_LOCK_PIN B2 | ||||
| 
 | ||||
| #define BACKLIGHT_PIN B6 | ||||
| #ifdef BACKLIGHT_PIN | ||||
| #define BACKLIGHT_BREATHING | ||||
|  | ||||
| @ -15,58 +15,3 @@ | ||||
|  */ | ||||
| 
 | ||||
| #include "kbd8x.h" | ||||
| 
 | ||||
| extern inline void caps_led_off(void); | ||||
| extern inline void caps_led_on(void); | ||||
| extern inline void num_led_off(void); | ||||
| extern inline void num_led_on(void); | ||||
| extern inline void scroll_led_off(void); | ||||
| extern inline void scroll_led_on(void); | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
| 	// put your keyboard start-up code here
 | ||||
| 	// runs once when the firmware starts up
 | ||||
| 
 | ||||
| 	matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
| 	// put your looping keyboard code here
 | ||||
| 	// runs every cycle (a lot)
 | ||||
| 
 | ||||
| 	matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
| 	// put your per-action keyboard code here
 | ||||
| 	// runs for every action, just before processing by the firmware
 | ||||
| 
 | ||||
| 	return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
| 	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | ||||
| 
 | ||||
|   if(usb_led & (1<<USB_LED_NUM_LOCK)) | ||||
|     { | ||||
|         num_led_on(); | ||||
|     } else { | ||||
|         num_led_off(); | ||||
|     } | ||||
| 
 | ||||
|     if(usb_led & (1<<USB_LED_CAPS_LOCK)) | ||||
|     { | ||||
|         caps_led_on(); | ||||
|     } else { | ||||
|         caps_led_off(); | ||||
|     } | ||||
| 
 | ||||
|     if(usb_led & (1<<USB_LED_SCROLL_LOCK)) | ||||
|     { | ||||
|         scroll_led_on(); | ||||
|     } else { | ||||
|         scroll_led_off(); | ||||
|     } | ||||
| 
 | ||||
| 	led_set_user(usb_led); | ||||
| } | ||||
|  | ||||
| @ -19,15 +19,14 @@ | ||||
| #include "led.h" | ||||
| 
 | ||||
| // Functions for setting LEDs on toggle keys
 | ||||
| inline void caps_led_on(void)     { DDRB |=  (1<<3); PORTB &= ~(1<<3); } | ||||
| inline void caps_led_off(void)    { DDRB &= ~(1<<3); PORTB &= ~(1<<3); } | ||||
| inline void caps_led_on(void)     { writePinHigh(LED_CAPS_LOCK_PIN); } | ||||
| inline void caps_led_off(void)    { writePinLow(LED_CAPS_LOCK_PIN); } | ||||
| 
 | ||||
| inline void num_led_on(void)      { DDRB |=  (1<<1); PORTB &= ~(1<<1); } | ||||
| inline void num_led_off(void)     { DDRB &= ~(1<<1); PORTB &= ~(1<<1); } | ||||
| 
 | ||||
| inline void scroll_led_on(void)   { DDRB |=  (1<<2); PORTB &= ~(1<<2); } | ||||
| inline void scroll_led_off(void)  { DDRB &= ~(1<<2); PORTB &= ~(1<<2); } | ||||
| inline void num_led_on(void)      { writePinHigh(LED_NUM_LOCK_PIN); } | ||||
| inline void num_led_off(void)     { writePinLow(LED_NUM_LOCK_PIN); } | ||||
| 
 | ||||
| inline void scroll_led_on(void)   { writePinHigh(LED_SCROLL_LOCK_PIN); } | ||||
| inline void scroll_led_off(void)  { writePinLow(LED_SCROLL_LOCK_PIN); } | ||||
| 
 | ||||
| // LAYOUT depicting all possible switch positions.
 | ||||
| // LAYOUT_all supports ISO, split backspace and split left/right shift.
 | ||||
|  | ||||
| @ -48,10 +48,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| /* COL2ROW, ROW2COL*/ | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| /*
 | ||||
|  * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. | ||||
|  */ | ||||
| #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
 | ||||
| #define LED_CAPS_LOCK_PIN E6 | ||||
| #define LED_SCROLL_LOCK_PIN B2 | ||||
| #define LED_PIN_ON_STATE 0 | ||||
| 
 | ||||
| #define BACKLIGHT_PIN B7 | ||||
| #ifdef BACKLIGHT_PIN | ||||
| #define BACKLIGHT_BREATHING | ||||
|  | ||||
| @ -14,58 +14,3 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| #include "kbd8x_mk2.h" | ||||
| 
 | ||||
| void matrix_init_kb(void) {   | ||||
| 
 | ||||
|   // Indicator pins
 | ||||
|   // B2 - Scroll Lock
 | ||||
|   // E6 - Caps Lock
 | ||||
|   // Sinking setup - 5V -> LED/Resistor -> Pin
 | ||||
|    | ||||
|   setPinOutput(B2); | ||||
|   setPinOutput(E6); | ||||
| 
 | ||||
|   matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
|    | ||||
|   // Toggle indicator LEDs
 | ||||
|   // Since they are a sinking setup, write HIGH to DISABLE, LOW to ENABLE
 | ||||
|    | ||||
|   if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { | ||||
|     writePinLow(E6); | ||||
|   } else { | ||||
|     writePinHigh(E6); | ||||
|   } | ||||
|    | ||||
|   if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { | ||||
|     writePinLow(B2); | ||||
|   } else { | ||||
|     writePinHigh(B2); | ||||
|   } | ||||
| 
 | ||||
|   led_set_user(usb_led); | ||||
| } | ||||
| 
 | ||||
| // Optional override functions below.
 | ||||
| // You can leave any or all of these undefined.
 | ||||
| // These are only required if you want to perform custom actions.
 | ||||
| 
 | ||||
| /*
 | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
|   // put your looping keyboard code here
 | ||||
|   // runs every cycle (a lot)
 | ||||
| 
 | ||||
|   matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
|   // put your per-action keyboard code here
 | ||||
|   // runs for every action, just before processing by the firmware
 | ||||
| 
 | ||||
|   return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| */ | ||||
|  | ||||
| @ -48,10 +48,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| /* COL2ROW, ROW2COL*/ | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| /*
 | ||||
|  * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. | ||||
|  */ | ||||
| #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
 | ||||
| #define LED_CAPS_LOCK_PIN B4 | ||||
| #define LED_PIN_ON_STATE 0 | ||||
| 
 | ||||
| #define BACKLIGHT_PIN B7 | ||||
| #ifdef BACKLIGHT_PIN | ||||
|  | ||||
| @ -14,48 +14,3 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| #include "kbdpad_mk2.h" | ||||
| 
 | ||||
| void matrix_init_kb(void) { | ||||
| 	 | ||||
|   // Num Lock LED = B4
 | ||||
|   // Sinking setup (5V -> LED/Res -> Pin)
 | ||||
|    | ||||
|   setPinOutput(B4); | ||||
| 
 | ||||
|   matrix_init_user(); | ||||
| } | ||||
| 
 | ||||
| void led_set_kb(uint8_t usb_led) { | ||||
|    | ||||
|   // Sinking setup. Write HIGH to turn OFF, LOW to turn ON.
 | ||||
|    | ||||
|   if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { | ||||
|     writePinLow(B4); | ||||
|   } else { | ||||
|     writePinHigh(B4); | ||||
|   } | ||||
| 
 | ||||
|   led_set_user(usb_led); | ||||
| } | ||||
| 
 | ||||
| // Optional override functions below.
 | ||||
| // You can leave any or all of these undefined.
 | ||||
| // These are only required if you want to perform custom actions.
 | ||||
| 
 | ||||
| /*
 | ||||
| 
 | ||||
| void matrix_scan_kb(void) { | ||||
|   // put your looping keyboard code here
 | ||||
|   // runs every cycle (a lot)
 | ||||
| 
 | ||||
|   matrix_scan_user(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | ||||
|   // put your per-action keyboard code here
 | ||||
|   // runs for every action, just before processing by the firmware
 | ||||
| 
 | ||||
|   return process_record_user(keycode, record); | ||||
| } | ||||
| 
 | ||||
| */ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user