Merge pull request #190 from yoyoerx/function_pointers

Addressing void* return warning & coding style
example_keyboards
Erez Zukerman 9 years ago
commit 403d756ad5

@ -1,16 +1,16 @@
#include "atomic.h" #include "atomic.h"
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_init_user(void) { void matrix_init_user(void) {
// leave these blank // leave these blank
}; }
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_scan_user(void) { void matrix_scan_user(void) {
// leave these blank // leave these blank
}; }
void * matrix_init_kb(void) { void matrix_init_kb(void) {
// put your keyboard start-up code here // put your keyboard start-up code here
// runs once when the firmware starts up // runs once when the firmware starts up
@ -25,16 +25,12 @@ void * matrix_init_kb(void) {
DDRE |= (1<<6); DDRE |= (1<<6);
PORTE |= (1<<6); PORTE |= (1<<6);
if (matrix_init_user) { matrix_init_user();
(*matrix_init_user)();
} }
};
void * matrix_scan_kb(void) { void matrix_scan_kb(void) {
// put your looping keyboard code here // put your looping keyboard code here
// runs every cycle (a lot) // runs every cycle (a lot)
if (matrix_scan_user) { matrix_scan_user();
(*matrix_scan_user)();
} }
};

@ -24,7 +24,7 @@
{ K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \ { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \
} }
void * matrix_init_user(void); void matrix_init_user(void);
void * matrix_scan_user(void); void matrix_scan_user(void);
#endif #endif

@ -1,16 +1,16 @@
#include "atreus.h" #include "atreus.h"
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_init_user(void) { void matrix_init_user(void) {
// leave these blank // leave these blank
}; };
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_scan_user(void) { void matrix_scan_user(void) {
// leave these blank // leave these blank
}; };
void * matrix_init_kb(void) { void matrix_init_kb(void) {
// put your keyboard start-up code here // put your keyboard start-up code here
// runs once when the firmware starts up // runs once when the firmware starts up
@ -19,7 +19,7 @@ void * matrix_init_kb(void) {
} }
}; };
void * matrix_scan_kb(void) { void matrix_scan_kb(void) {
// put your looping keyboard code here // put your looping keyboard code here
// runs every cycle (a lot) // runs every cycle (a lot)

@ -22,7 +22,7 @@
{ k2a, k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a } \ { k2a, k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a } \
} }
void * matrix_init_user(void); void matrix_init_user(void);
void * matrix_scan_user(void); void matrix_scan_user(void);
#endif #endif

@ -0,0 +1,19 @@
#!/bin/bash
#a tool to fix broken keymaps as a result of pull request #190
#changing the declaration of matrix_scan_user() and matrix_init_user()
#
#This script will save a copy of the specified keymap as keymap.c.bak
#and then create a new keymap.c with the definion corrected.
#this script must be run from the ergodox_ez directory
if [ $# -ne 1 ]; then
echo $0: usage: ./190hotfix keymap_name
exit 1
fi
echo Saving backup as ./keymaps/$1/keymap.c.bak ...
mv ./keymaps/$1/keymap.c ./keymaps/$1/keymap.c.bak
echo Modifying ./keymaps/$1/keymap.c ...
cat ./keymaps/$1/keymap.c.bak | sed -r 's/^void \* matrix_/void matrix_/'>./keymaps/$1/keymap.c
echo Complete!

@ -5,16 +5,16 @@ bool i2c_initialized = 0;
uint8_t mcp23018_status = 0x20; uint8_t mcp23018_status = 0x20;
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_init_user(void) { void matrix_init_user(void) {
return NULL;
}; }
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_scan_user(void) { void matrix_scan_user(void) {
return NULL;
}; }
void * matrix_init_kb(void) { void matrix_init_kb(void) {
// keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md") // keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md")
TCCR1A = 0b10101001; // set and configure fast PWM TCCR1A = 0b10101001; // set and configure fast PWM
TCCR1B = 0b00001001; // set and configure fast PWM TCCR1B = 0b00001001; // set and configure fast PWM
@ -34,22 +34,13 @@ void * matrix_init_kb(void) {
ergodox_blink_all_leds(); ergodox_blink_all_leds();
if (matrix_init_user) { matrix_init_user();
(*matrix_init_user)();
} }
return NULL; void matrix_scan_kb(void) {
}; matrix_scan_user();
void * matrix_scan_kb(void) {
if (matrix_scan_user) {
(*matrix_scan_user)();
} }
return NULL;
};
void ergodox_blink_all_leds(void) void ergodox_blink_all_leds(void)
{ {

@ -123,8 +123,8 @@ inline void ergodox_led_all_set(uint8_t n)
{ k0D, k1D, k2D, k3D, k4D, KC_NO } \ { k0D, k1D, k2D, k3D, k4D, KC_NO } \
} }
void * matrix_init_user(void); void matrix_init_user(void);
void * matrix_scan_user(void); void matrix_scan_user(void);

File diff suppressed because it is too large Load Diff

@ -158,12 +158,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -243,12 +243,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) void matrix_scan_user(void)
{ {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -210,12 +210,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -154,12 +154,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
return NULL;
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
/* leds is a static array holding the current brightness of each of the /* leds is a static array holding the current brightness of each of the
* three keyboard LEDs. It's 4 long simply to avoid the ugliness of +1s and * three keyboard LEDs. It's 4 long simply to avoid the ugliness of +1s and
* -1s in the code below, and because wasting a byte really doesn't matter * -1s in the code below, and because wasting a byte really doesn't matter
@ -191,5 +191,5 @@ void * matrix_scan_user(void) {
} }
} }
return NULL;
}; };

File diff suppressed because it is too large Load Diff

@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -158,12 +158,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -200,12 +200,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

@ -156,12 +156,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

@ -182,12 +182,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -157,12 +157,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -157,12 +157,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -89,12 +89,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -244,12 +244,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -248,12 +248,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
} }
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
return NULL;
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -161,12 +161,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -390,12 +390,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -227,12 +227,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

@ -158,12 +158,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -162,12 +162,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

@ -199,12 +199,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -108,11 +108,11 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);
ergodox_board_led_off(); ergodox_board_led_off();
ergodox_right_led_1_off(); ergodox_right_led_1_off();

@ -114,12 +114,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -215,12 +215,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
return NULL;
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
ergodox_board_led_off(); ergodox_board_led_off();
ergodox_right_led_1_off(); ergodox_right_led_1_off();
@ -238,5 +238,5 @@ void * matrix_scan_user(void) {
if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) { if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
ergodox_right_led_3_on(); ergodox_right_led_3_on();
} }
return NULL;
}; };

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -155,12 +155,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

File diff suppressed because it is too large Load Diff

@ -337,12 +337,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}; };
// Runs just one time when the keyboard initializes. // Runs just one time when the keyboard initializes.
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void * matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

@ -0,0 +1,9 @@
#!/bin/bash
#a quick tool to rebuild all the hex files for the keymaps in the ./keymaps/ directory
make clean
for f in ./keymaps/*
do
MAPNAME=$(echo "$f"|sed -r 's#^./keymaps/##')
make KEYMAP=$MAPNAME
mv ergodox_ez.hex "$f/$MAPNAME.hex"
done

@ -62,12 +62,12 @@ uint32_t matrix_scan_count;
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_init_kb(void) { void matrix_init_kb(void) {
}; }
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_scan_kb(void) { void matrix_scan_kb(void) {
}; }
inline inline
uint8_t matrix_rows(void) uint8_t matrix_rows(void)
@ -102,9 +102,7 @@ void matrix_init(void)
matrix_scan_count = 0; matrix_scan_count = 0;
#endif #endif
if (matrix_init_kb) { matrix_init_kb();
(*matrix_init_kb)();
}
} }
@ -163,9 +161,7 @@ uint8_t matrix_scan(void)
} }
if (matrix_scan_kb) { matrix_scan_kb();
(*matrix_scan_kb)();
}
return 1; return 1;
} }

@ -1,16 +1,16 @@
#include "hhkb_qmk.h" #include "hhkb_qmk.h"
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_init_user(void) { void matrix_init_user(void) {
// leave these blank // leave these blank
}; };
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_scan_user(void) { void matrix_scan_user(void) {
// leave these blank // leave these blank
}; };
void * matrix_init_kb(void) { void matrix_init_kb(void) {
// put your keyboard start-up code here // put your keyboard start-up code here
// runs once when the firmware starts up // runs once when the firmware starts up
@ -19,7 +19,7 @@ void * matrix_init_kb(void) {
} }
}; };
void * matrix_scan_kb(void) { void matrix_scan_kb(void) {
// put your looping keyboard code here // put your looping keyboard code here
// runs every cycle (a lot) // runs every cycle (a lot)

@ -24,7 +24,7 @@
{ K70, K71, K72, K73, K74, K75, K76, KC_NO } \ { K70, K71, K72, K73, K74, K75, K76, KC_NO } \
} }
void * matrix_init_user(void); void matrix_init_user(void);
void * matrix_scan_user(void); void matrix_scan_user(void);
#endif #endif

@ -1,16 +1,16 @@
#include "jd45.h" #include "jd45.h"
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_init_user(void) { void matrix_init_user(void) {
}; };
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_scan_user(void) { void matrix_scan_user(void) {
}; };
void * matrix_init_kb(void) { void matrix_init_kb(void) {
#ifdef BACKLIGHT_ENABLE #ifdef BACKLIGHT_ENABLE
backlight_init_ports(); backlight_init_ports();
#endif #endif
@ -20,7 +20,7 @@ void * matrix_init_kb(void) {
} }
}; };
void * matrix_scan_kb(void) { void matrix_scan_kb(void) {
if (matrix_scan_user) { if (matrix_scan_user) {
(*matrix_scan_user)(); (*matrix_scan_user)();
} }

@ -6,7 +6,7 @@
#include "backlight.h" #include "backlight.h"
#include <stddef.h> #include <stddef.h>
void * matrix_init_user(void); void matrix_init_user(void);
void * matrix_scan_user(void); void matrix_scan_user(void);
#endif #endif

@ -150,7 +150,7 @@ float start_up[][2] = {
{440.0*pow(2.0,(64)/12.0), 1000}, {440.0*pow(2.0,(64)/12.0), 1000},
}; };
void * matrix_init_user(void) { void matrix_init_user(void) {
init_notes(); init_notes();
play_notes(&start_up, 9, false); play_notes(&start_up, 9, false);
} }

@ -1,16 +1,16 @@
#include "planck.h" #include "planck.h"
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_init_user(void) { void matrix_init_user(void) {
}; }
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_scan_user(void) { void matrix_scan_user(void) {
}; }
void * matrix_init_kb(void) { void matrix_init_kb(void) {
#ifdef BACKLIGHT_ENABLE #ifdef BACKLIGHT_ENABLE
backlight_init_ports(); backlight_init_ports();
#endif #endif
@ -24,13 +24,9 @@ void * matrix_init_kb(void) {
DDRE |= (1<<6); DDRE |= (1<<6);
PORTE |= (1<<6); PORTE |= (1<<6);
if (matrix_init_user) { matrix_init_user();
(*matrix_init_user)();
} }
};
void * matrix_scan_kb(void) { void matrix_scan_kb(void) {
if (matrix_scan_user) { matrix_scan_user();
(*matrix_scan_user)();
} }
};

@ -40,7 +40,7 @@
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \
} }
void * matrix_init_user(void); void matrix_init_user(void);
void * matrix_scan_user(void); void matrix_scan_user(void);
#endif #endif

@ -48,14 +48,14 @@ static void unselect_rows(void);
static void select_row(uint8_t row); static void select_row(uint8_t row);
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_init_kb(void) { void matrix_init_kb(void) {
}; }
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_scan_kb(void) { void matrix_scan_kb(void) {
}; }
inline inline
uint8_t matrix_rows(void) uint8_t matrix_rows(void)
@ -86,9 +86,7 @@ void matrix_init(void)
matrix_debouncing[i] = 0; matrix_debouncing[i] = 0;
} }
if (matrix_init_kb) { matrix_init_kb();
(*matrix_init_kb)();
}
} }
@ -152,9 +150,7 @@ uint8_t matrix_scan(void)
} }
#endif #endif
if (matrix_scan_kb) { matrix_scan_kb();
(*matrix_scan_kb)();
}
return 1; return 1;
} }

@ -1,29 +1,23 @@
#include "%KEYBOARD%.h" #include "%KEYBOARD%.h"
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_init_user(void) { void matrix_init_user(void) {
// leave these blank // leave these blank
}; }
__attribute__ ((weak)) __attribute__ ((weak))
void * matrix_scan_user(void) { void matrix_scan_user(void) {
// leave these blank // leave these blank
}; }
void * matrix_init_kb(void) { void matrix_init_kb(void) {
// put your keyboard start-up code here // put your keyboard start-up code here
// runs once when the firmware starts up // runs once when the firmware starts up
matrix_init_user();
if (matrix_init_user) {
(*matrix_init_user)();
} }
};
void * matrix_scan_kb(void) { void matrix_scan_kb(void) {
// put your looping keyboard code here // put your looping keyboard code here
// runs every cycle (a lot) // runs every cycle (a lot)
matrix_scan_user();
if (matrix_scan_user) {
(*matrix_scan_user)();
} }
};

@ -19,7 +19,7 @@
{ k10, KC_NO, k11 }, \ { k10, KC_NO, k11 }, \
} }
void * matrix_init_user(void); void matrix_init_user(void);
void * matrix_scan_user(void); void matrix_scan_user(void);
#endif #endif

@ -64,8 +64,8 @@ void matrix_power_up(void);
void matrix_power_down(void); void matrix_power_down(void);
/* keyboard-specific setup/loop functionality */ /* keyboard-specific setup/loop functionality */
void * matrix_init_kb(void); void matrix_init_kb(void);
void * matrix_scan_kb(void); void matrix_scan_kb(void);
#ifdef __cplusplus #ifdef __cplusplus
} }

Loading…
Cancel
Save