aboutsummaryrefslogtreecommitdiff
path: root/keyboards/whitefox/keymaps/matt3o/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/whitefox/keymaps/matt3o/keymap.c')
-rw-r--r--keyboards/whitefox/keymaps/matt3o/keymap.c60
1 files changed, 43 insertions, 17 deletions
diff --git a/keyboards/whitefox/keymaps/matt3o/keymap.c b/keyboards/whitefox/keymaps/matt3o/keymap.c
index f6987fe1a..bb8419668 100644
--- a/keyboards/whitefox/keymaps/matt3o/keymap.c
+++ b/keyboards/whitefox/keymaps/matt3o/keymap.c
@@ -16,6 +16,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18 18
19enum custom_keycodes {
20 AL_FILE = SAFE_RANGE,
21 AL_WWW,
22 AL_HELP,
23 AL_CMD
24};
25
19const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 /* Layer 0: Default Layer 27 /* Layer 0: Default Layer
21 * ,---------------------------------------------------------------. 28 * ,---------------------------------------------------------------.
@@ -45,25 +52,44 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
45 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_HOME,KC_PGDN,KC_END \ 52 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_HOME,KC_PGDN,KC_END \
46 ), 53 ),
47 [2] = LAYOUT( \ 54 [2] = LAYOUT( \
48 KC_SLEP,KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_FN2, \ 55 KC_SLEP,KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_NO, \
49 KC_TRNS,KC_TRNS,KC_FN5 ,KC_FN6 ,KC_TRNS,KC_FN7 ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_TRNS,KC_TRNS,KC_TRNS, KC_FN3, \ 56 KC_TRNS,KC_TRNS,AL_WWW ,AL_HELP ,KC_TRNS,AL_CMD ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_TRNS,KC_TRNS,KC_TRNS, KC_NO, \
50 KC_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,KC_FN4 ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,\ 57 KC_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,AL_FILE ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,\
51 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_TRNS,KC_TRNS,KC_TRNS,KC_MAIL,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,\ 58 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_TRNS,KC_TRNS,KC_TRNS,KC_MAIL,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,\
52 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS \ 59 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS \
53 ), 60 ),
54}; 61};
55 62
56/* Give numbers some descriptive names */ 63bool process_record_user(uint16_t keycode, keyrecord_t *record) {
57#define ACTION_LEDS_ALL 1 64 switch (keycode) {
58#define ACTION_LEDS_GAME 2 65 case AL_FILE:
59 66 if (record->event.pressed) {
60const uint16_t fn_actions[] = { 67 host_consumer_send(0x1B4); // AL File Browser
61 [2] = ACTION_FUNCTION(ACTION_LEDS_ALL), 68 } else {
62 [3] = ACTION_FUNCTION(ACTION_LEDS_GAME), 69 host_consumer_send(0);
63 70 }
64 [4] = ACTION_USAGE_CONSUMER(0x1B4), 71 return false;
65 [5] = ACTION_USAGE_CONSUMER(0x196), 72 case AL_WWW:
66 [6] = ACTION_USAGE_CONSUMER(0x1A6), 73 if (record->event.pressed) {
67 [7] = ACTION_USAGE_CONSUMER(0x1A0), 74 host_consumer_send(0x196); // AL Internet Browser
68 75 } else {
69}; 76 host_consumer_send(0);
77 }
78 return false;
79 case AL_HELP:
80 if (record->event.pressed) {
81 host_consumer_send(0x1A6); // AL Integrated Help Center
82 } else {
83 host_consumer_send(0);
84 }
85 return false;
86 case AL_CMD:
87 if (record->event.pressed) {
88 host_consumer_send(0x1A0); // AL Command Line Processor/Run
89 } else {
90 host_consumer_send(0);
91 }
92 return false;
93 }
94 return true;
95}