]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/iris/keymaps/impstyle/keymap.c
d061a850a1dde292f03fb57671eb0b88d5f22d9a
[qmk_firmware.git] / keyboards / iris / keymaps / impstyle / keymap.c
1 // iris qwerty layout with mouse layer.
2 // double tab to toggle is not working atm
3
4 #include QMK_KEYBOARD_H
5
6 extern keymap_config_t keymap_config;
7
8 #define _QWERTY 0
9 #define _LOWER 1
10 #define _RAISE 2
11 #define _MOUSE 3
12
13 enum custom_keycodes {
14   QWERTY = SAFE_RANGE,
15   LOWER,
16   RAISE,
17   MOUSE,
18 };
19
20 #define KC_ KC_TRNS
21 #define _______ KC_TRNS
22 #define KC_LOWR MO(_LOWER) // Lower layer
23 #define KC_RASE MO(_RAISE) // Raise layer
24 #define KC_TGLW TG(_LOWER) // toggle lower
25 #define KC_TGRS TG(_RAISE) // toggle raise
26 #define KC_MOUS TT(_MOUSE) // double tab toggle mouse layer
27
28 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29
30   // QUERTY LAYER
31   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
32   //  ESC , 1  , 2  , 3  , 4  , 5  ,                6  , 7  , 8  , 9  , 0  ,BSPC,
33   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
34   // TAB , Q  , W  , E  , R  , T  ,                Y  , U  , I  , O  , P  ,MINS ,
35   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
36   // LSFT, A  , S  , D  , F  , G  ,                H  , J  , K  , L  ,SCLN,QUOT,
37   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
38   // LCTL, Z  , X  , C  , V  , B  ,PLUS ,     MOUS , N  , M  ,COMM,DOT ,SLSH,BSLASH,
39   //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
40   //                   LGUI,RASE,SPC ,         ENT ,LOWR,LALT
41   //                  `----+----+----'        `----+----+----'
42
43   [_QWERTY] = LAYOUT(
44      KC_ESC , KC_1  , KC_2  , KC_3  , KC_4  , KC_5  ,                    KC_6  , KC_7  , KC_8  , KC_9  , KC_0  ,KC_BSPC,
45      KC_TAB , KC_Q  , KC_W  ,KC_E  , KC_R  , KC_T  ,                     KC_Y  , KC_U  , KC_I  , KC_O  , KC_P  ,KC_MINS ,
46      KC_LSFT, KC_A  , KC_S  , KC_D  , KC_F  , KC_G  ,                    KC_H  , KC_J  , KC_K  , KC_L  ,KC_SCLN,KC_QUOT,
47      KC_LCTL, KC_Z  , KC_X  , KC_C  , KC_V  , KC_B  ,KC_PLUS,     KC_MOUS , KC_N  , KC_M  ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH,
48                                   KC_LGUI,KC_RASE,KC_SPC ,         KC_ENT ,KC_LOWR,KC_LALT
49   ),
50   
51   // LOWER Layer
52    //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
53   // TILD,EXLM, AT ,HASH,DLR ,PERC,               CIRC,AMPR,ASTR,LPRN,RPRN,BSPC,
54   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
55   //     ,    ,PGUP,    ,    ,LBRC,               RBRC, P7 , P8 , P9 ,PLUS,    ,
56   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
57   //     ,HOME,PGDN,END,     ,LPRN,               RPRN, P4 , P5 , P6 ,MINS,PIPE,
58   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
59   //     ,    ,    ,    ,    ,    ,    ,         ,    , P1 , P2 , P3 ,EQL ,UNDS ,
60   //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
61   //                       ,    ,DEL ,        BSPC ,    , P0
62   //                  `----+----+----'        `----+----+----' 
63
64   [_LOWER] = LAYOUT(
65      KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC,               KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC,
66     _______,_______,KC_PGUP,_______,_______,KC_LBRC,               KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,KC_PLUS,_______,
67         _______ ,KC_HOME,KC_PGDN,KC_END,_______,KC_LPRN,               KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
68     _______,_______,_______,_______,_______,_______,_______,        _______ ,_______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS ,
69                           _______ ,_______,KC_PSCR ,        KC_DEL ,_______, KC_P0
70 ),
71   // RAISE LAYER
72   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
73   // F12 , F1 , F2 , F3 , F4 , F5 ,                F6 , F7 , F8 , F9 ,F10 ,F11 ,
74   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
75   //     ,    , UP ,    ,    ,LBRC,               RBRC,    ,NLCK,INS ,SLCK,MUTE,
76   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
77   //     ,LEFT,DOWN,RGHT,    ,LPRN,               RPRN,MPRV,MPLY,MNXT,    ,VOLU,
78   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
79   //     ,    ,    ,    ,    ,    ,    ,      PLUS ,    ,    ,    ,    ,    ,VOLD,
80   //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
81   //                       ,    ,    ,          EQL,    ,
82   //                  `----+----+----'        `----+----+----'
83
84   [_RAISE] = LAYOUT(
85      KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 ,                KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
86         _______ ,_______, KC_UP ,_______,_______,KC_LBRC,               KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
87         _______ ,KC_LEFT,KC_DOWN,KC_RGHT,_______,KC_LPRN,               KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
88         _______,_______,_______,_______,_______,_______,_______,        KC_PLUS,_______,_______,_______,_______,_______,KC_VOLD,
89                                      _______ ,_______,_______,            KC_EQL,_______,_______
90   ),
91   // MOUSE LAYER
92   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
93   //     ,    ,    ,    ,    ,    ,                   ,    ,    ,    ,   ,   ,
94   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
95   //     ,    ,MS_UP,   ,    ,    ,               MS_WH_UP,     ,    ,   ,   ,   ,
96   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
97   //     ,MS_LEFT,MS_DOWN,MS_RGHT,  ,,            MS_WH_DN,MS_BT1,MS_BT2,MS_BT3,  , ,
98   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
99   //     ,    ,    ,    ,    ,    ,    ,    ,    ,    ,    ,MS_ACC0,MS_ACC1MS_ACC2
100   //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
101   //                       ,    ,    ,          ,    ,
102   //                  `----+----+----'        `----+----+----'
103   [_MOUSE] = LAYOUT(
104      _______ , _______ , _______ , _______ , _______ , _______ ,                _______ , _______ , _______ , _______ ,_______ ,_______ ,
105         _______ ,_______, KC_MS_UP ,_______,_______,_______,               KC_MS_WH_UP,_______,_______,_______ ,_______,_______,
106         _______ ,KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT,_______,_______,               KC_MS_WH_DOWN,KC_MS_BTN1,KC_MS_BTN2,KC_MS_BTN3,_______,_______,
107         _______,_______,_______,_______,_______,_______,_______,        _______,_______,_______,_______,KC_MS_ACCEL0,KC_MS_ACCEL1,KC_MS_ACCEL2,
108                                      _______ ,_______,_______,            _______,_______,_______
109   ),
110
111 };