]> git.gir.st - tmk_keyboard.git/blob - tmk_core/common/hook.c
Merge branch 'flabbergast-update'
[tmk_keyboard.git] / tmk_core / common / hook.c
1 /*
2 Copyright 2016 Jun Wako <wakojun@gmail.com>
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18 #include "keyboard.h"
19 #include "hook.h"
20
21 /* -------------------------------------------------
22 * Definitions of hardware-independent default hooks
23 * ------------------------------------------------- */
24
25 /* Called on layer state change event. */
26 /* Default behaviour: do nothing. */
27 __attribute__((weak))
28 void hook_layer_change(uint8_t layer_state) {
29 (void)layer_state;
30 }
31
32 /* Called periodically from the matrix scan loop (very often!) */
33 /* Default behaviour: do nothing. */
34 __attribute__((weak))
35 void hook_keyboard_loop(void) {}
36
37 /* Called on matrix state change event (every keypress => often!) */
38 /* Default behaviour: do nothing. */
39 __attribute__((weak))
40 void hook_matrix_change(keyevent_t event) {
41 (void)event;
42 }
43
44 /* Called on indicator LED update event (when reported from host). */
45 /* Default behaviour: calls led_set (for compatibility). */
46 __attribute__((weak))
47 void hook_keyboard_leds_change(uint8_t led_status) {
48 keyboard_set_leds(led_status);
49 }
50
51 /* Called once, on checking the bootmagic combos. */
52 /* Default behaviour: do nothing. */
53 __attribute__((weak))
54 void hook_bootmagic(void) {
55 /* An example: */
56 // #include "bootmagic.h"
57 // #include "keymap.h"
58 // if(bootmagic_scan_keycode(KC_W)) {
59 // // do something
60 // }
61 }
Imprint / Impressum