4 __attribute__ ((weak))
\r
5 void matrix_init_user(void) {
\r
6 // leave this function blank - it can be defined in a keymap file
\r
9 __attribute__ ((weak))
\r
10 void matrix_scan_user(void) {
\r
11 // leave this function blank - it can be defined in a keymap file
\r
14 __attribute__ ((weak))
\r
15 bool process_action_user(keyrecord_t *record) {
\r
16 // leave this function blank - it can be defined in a keymap file
\r
20 __attribute__ ((weak))
\r
21 void led_set_user(uint8_t usb_led) {
\r
22 // leave this function blank - it can be defined in a keymap file
\r
25 void matrix_init_kb(void) {
\r
26 // put your keyboard start-up code here
\r
27 // runs once when the firmware starts up
\r
32 void matrix_scan_kb(void) {
\r
33 // put your looping keyboard code here
\r
34 // runs every cycle (a lot)
\r
39 bool process_action_kb(keyrecord_t *record) {
\r
40 // put your per-action keyboard code here
\r
41 // runs for every action, just before processing by the firmware
\r
43 return process_action_user(record);
\r
46 void led_set_kb(uint8_t usb_led) {
\r
47 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
\r
49 if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
\r
52 gh60_caps_led_off();
\r
55 // if (usb_led & (1<<USB_LED_NUM_LOCK)) {
\r
56 // gh60_esc_led_on();
\r
58 // gh60_esc_led_off();
\r
61 // if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
\r
62 // gh60_fn_led_on();
\r
64 // gh60_fn_led_off();
\r
67 led_set_user(usb_led);
\r