]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/christmas_tree/keymaps/default/keymap.c
Merge branch 'master' of github.com:qmk/qmk_firmware into hf/shinydox
[qmk_firmware.git] / keyboards / christmas_tree / keymaps / default / keymap.c
1 /* Copyright 2015-2017 Jack Humbert
2  *
3  * This program is free software: you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation, either version 2 of the License, or
6  * (at your option) any later version.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16
17 #include QMK_KEYBOARD_H
18
19 extern keymap_config_t keymap_config;
20
21 enum layers {
22   _BASE,
23   _FUNC
24 };
25
26 enum custom_keycodes {
27   FUNC = SAFE_RANGE,
28   BACKLIT
29 };
30
31 #define _______ KC_TRNS
32
33 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34
35   /* Base
36    *         ,------.
37    *         |   1  |
38    *     ,------+------.
39    *     |   2  |   3  |
40    * ,------+------+------.
41    * |   4  | FUNC |   6  |
42    * `--------------------'
43    */
44   [_BASE] = LAYOUT(
45             KC_1,
46          KC_2, KC_3,
47     KC_4, MO(_FUNC), KC_6
48   ),
49
50   /* Func
51    *         ,------.
52    *         |BCKLIT|
53    *     ,------+------.
54    *     |   8  |   9  |
55    * ,------+------+------.
56    * |   0  | FUNC | RESET|
57    * `--------------------'
58    */
59   [_FUNC] = LAYOUT(
60             BACKLIT,
61          KC_8, KC_9,
62     KC_0, _______, RESET
63   )
64
65
66 };
67
68 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
69   switch (keycode) {
70     case BACKLIT:
71       if (record->event.pressed) {
72         register_code(KC_RSFT);
73         #ifdef BACKLIGHT_ENABLE
74                   register_code(KC_LSFT);
75           backlight_step();
76         #endif
77       } else {
78         unregister_code(KC_RSFT);
79                 unregister_code(KC_LSFT);
80       }
81       return false;
82       break;
83   }
84   return true;
85 }