]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/handwired/magicforce68/keymaps/default/keymap.c
Fix function layer actions
[qmk_firmware.git] / keyboards / handwired / magicforce68 / keymaps / default / keymap.c
1 #include "magicforce68.h"
2
3 #define _QWERTY 0
4 #define _FN1 1
5 #define _FN2 2
6 #define KC_ KC_TRNS
7 #define KC_X0 LT(_FN2, KC_GRV)
8 #define KC_X1 MO(_FN1)
9
10 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
11   [_QWERTY] = KEYMAP(
12  /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------.  ,----+----. */
13     ESC , 1  , 2  , 3  , 4  , 5  , 6  , 7  , 8  , 9  , 0  ,MINS,EQL ,  BSPC  ,   INS ,PGUP,
14  /*|----`----`----`----`----`----`----`----`----`----`----`----`----`--------|  |----`----| */
15     TAB   , Q  , W  , E  , R  , T  , Y  , U  , I  , O  , P  ,LBRC,RBRC, BSLS ,   DEL ,PGDN,
16  /*|------`----`----`----`----`----`----`----`----`----`----`----`----`------|  `----`----' */
17     X0     , A  , S  , D  , F  , G  , H  , J  , K  , L  ,SCLN,QUOT,    ENTER ,
18  /*|-------`----`----`----`----`----`----`----`----`----`----`----`----------|  ,----. */
19     LSFT     , Z  , X  , C  , V  , B  , N  , M  ,COMM,DOT ,SLSH,       RSFT  ,    UP ,
20  /*|---------`----`----`----`----`----`----`----`----`----`----`-------------.--|----|----. */
21     LCTL ,LGUI ,LALT ,            SPACE             ,  X1  ,RALT ,RCTL ,    LEFT,DOWN,RGHT
22  /*`-----+-----+-----+------------------------------+------+-----+-----'   `----+----+----' */
23   ),
24
25   [_FN1] = KEYMAP(
26  /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------.  ,----+----. */
27     GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 ,   BSPC ,   VOLU,HOME,
28  /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--|  |ins-`pgup| */
29           ,    ,    , UP ,    ,    ,    ,    ,    ,    ,    ,    ,    ,      ,   VOLD,END,
30  /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---|  `del-`pgdn' */
31            ,    ,LEFT,DOWN,RGHT,    ,    ,    ,    ,    ,    ,    ,          ,
32  /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-|  ,----. */
33              ,    ,    ,    ,    ,    ,    ,MUTE,    ,    ,    ,             ,   MUTE,
34  /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */
35          ,     ,     ,                              ,      ,     ,     ,    MPRV,MPLY,MNXT
36  /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-'   `left+down+rght' */
37   ),
38
39   [_FN2] = KEYMAP(
40  /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------.  ,----+----. */
41     GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 ,   BSPC ,   VOLU,HOME,
42  /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--|  |ins-`pgup| */
43           ,    ,    , UP ,    ,    ,    , 7  , 8  , 9  ,    ,    ,    ,      ,   VOLD,END,
44  /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---|  `del-`pgdn' */
45            ,    ,LEFT,DOWN,RGHT,    ,    , 4  , 5  , 6  ,    ,    ,          ,
46  /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-|  ,----. */
47              ,    ,    ,    ,    ,    , 0  , 1  , 2  , 3  ,    ,             ,   MUTE,
48  /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */
49          ,     ,     ,                              ,      ,     ,     ,    MPRV,MPLY,MNXT
50  /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-'   `left+down+rght' */
51   )
52 };
53
54 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
55 {
56   // MACRODOWN only works in this function
57       switch(id) {
58         case 0:
59           if (record->event.pressed) {
60             register_code(KC_RSFT);
61           } else {
62             unregister_code(KC_RSFT);
63           }
64         break;
65       }
66     return MACRO_NONE;
67 };