aboutsummaryrefslogtreecommitdiff
path: root/users/ishtob/ishtob.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/ishtob/ishtob.c')
-rw-r--r--users/ishtob/ishtob.c69
1 files changed, 69 insertions, 0 deletions
diff --git a/users/ishtob/ishtob.c b/users/ishtob/ishtob.c
new file mode 100644
index 000000000..1b847d630
--- /dev/null
+++ b/users/ishtob/ishtob.c
@@ -0,0 +1,69 @@
1/*
2Based on userspace written by @drashna 2017
3Copyright 2018 Hsian Chang <ishtob@gmail.com> @ishtob
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#include "ishtob.h"
18#include "action.h"
19#include "action_layer.h"
20// #include "dynamic_macro.h"
21#ifdef AUDIO_ENABLE
22 #include "audio.h"
23#endif
24
25
26// Add reconfigurable functions here, for keymap customization
27// This allows for a global, userspace functions, and continued
28// customization of the keymap. Use _keymap instead of _user
29// functions in the keymaps
30__attribute__ ((weak))
31void matrix_init_keymap(void) {}
32
33__attribute__ ((weak))
34void matrix_scan_keymap(void) {}
35
36__attribute__ ((weak))
37bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
38 return true;
39}
40
41__attribute__ ((weak))
42bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
43 return true;
44}
45
46// Call user matrix init, then call the keymap's init function
47void matrix_init_user(void) {
48 matrix_init_keymap();
49}
50
51// No global matrix scan code, so just run keymap's matix
52// scan function
53void matrix_scan_user(void) {
54 matrix_scan_keymap();
55}
56
57bool process_record_user(uint16_t keycode, keyrecord_t *record) {
58 switch (keycode) {
59 case DFU:
60 if (record->event.pressed) {
61 clear_keyboard();
62 reset_keyboard();
63 }
64 return false;
65 break;
66 }
67 return process_record_keymap(keycode, record) && process_record_secrets(keycode, record);
68}
69