]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/chimera_ortho/keymaps/dcompact/keymap.c
DCompact Update 1 (#3202)
[qmk_firmware.git] / keyboards / chimera_ortho / keymaps / dcompact / keymap.c
1 #include "chimera_ortho.h"
2
3 enum chimera_ortho_layers
4 {
5         _BASE,
6         _NAV,
7         _SYM,
8         _FUNC,
9         _MOUSE
10 };
11
12 #define KC_NAV MO(_NAV)
13 #define KC_SYM MO(_SYM)
14 #define KC_FUNC MO(_FUNC)
15 #define KC_MOUSE TT(_MOUSE)
16
17 #define KC_DELSHFT SFT_T(KC_DEL)
18 #define KC_CTLENT CTL_T(KC_ENT)
19 #define KC_SYMSPC LT(_SYM, KC_SPC)
20
21 #define KC_WK_LEFT LCA(KC_LEFT)
22 #define KC_WK_DOWN LCA(KC_DOWN)
23 #define KC_WK_UP LCA(KC_UP)
24 #define KC_WK_RGHT LCA(KC_RGHT)
25
26 #define KC_QUAKE LCTL(KC_GRAVE)
27
28 #define LONGPRESS_DELAY 150
29
30 // These are needed because of the 'KC_'-adding macro
31 // This macro can be found in ../../chimera_ortho.h
32 #define KC_RESET RESET
33 #define KC_ KC_TRNS 
34
35 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36
37   [_BASE] = KC_KEYMAP(
38       //,-------+-------+-------+-------+-------+-------+-------.    ,-------+-------+-------+-------+-------+-------+-------.
39          LALT   ,TAB    ,QUOT   ,COMM   ,DOT    ,P      ,Y           ,F      ,G      ,C      ,R      ,L      ,SLSH   ,FUNC   
40       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
41         ,LGUI   ,ESC    ,A      ,O      ,E      ,U      ,I           ,D      ,H      ,T      ,N      ,S      ,MINS   ,MOUSE  
42       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
43         ,LCTL   ,DELSHFT,SCLN   ,Q      ,J      ,K      ,X           ,B      ,M      ,W      ,V      ,Z      ,BSPC   ,ENTER
44       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
45                                         ,LSHIFT ,NAV                         ,SYMSPC ,CTLENT
46       //\-------------------------------+-------+-------+-------/    \-------+-------+---------------------------------------/
47   ),
48
49   [_NAV] = KC_KEYMAP(
50       //,-------+-------+-------+-------+-------+-------+-------.    ,-------+-------+-------+-------+-------+-------+-------.
51                 ,       ,       ,       ,       ,       ,            ,       ,HOME   ,PGDOWN ,PGUP   ,END    ,       ,       
52       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
53         ,       ,PSCR   ,MENU   ,       ,       ,       ,            ,       ,LEFT   ,DOWN   ,UP     ,RIGHT  ,       ,       
54       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
55         ,       ,CAPS   ,NLCK   ,INS    ,       ,       ,            ,       ,WK_LEFT,WK_DOWN,WK_UP  ,WK_RGHT,       ,     
56       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
57                                         ,       ,                            ,       ,    
58       //\-------------------------------+-------+-------+-------/    \-------+-------+---------------------------------------/
59   ),
60
61   [_SYM] = KC_KEYMAP(
62       //,-------+-------+-------+-------+-------+-------+-------.    ,-------+-------+-------+-------+-------+-------+-------.
63                 ,QUAKE  ,GRAVE  ,TILDE  ,BSLASH ,PIPE   ,LPRN        ,RPRN   ,7      ,8      ,9      ,SLSH   ,EQUAL  ,       
64       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
65         ,       ,       ,EXLM   ,AT     ,HASH   ,DLR    ,LCBR        ,RCBR   ,4      ,5      ,6      ,ASTR   ,PLUS   ,       
66       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
67         ,       ,       ,PERC   ,CIRC   ,AMPR   ,ASTR   ,LBRC        ,RBRC   ,1      ,2      ,3      ,MINUS  ,       ,     
68       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
69                                         ,       ,                            ,       ,0
70       //\-------------------------------+-------+-------+-------/    \-------+-------+---------------------------------------/
71   ),
72
73   [_FUNC] = KC_KEYMAP(
74       //,-------+-------+-------+-------+-------+-------+-------.    ,-------+-------+-------+-------+-------+-------+-------.
75                 ,RESET  ,SLEP   ,MRWD   ,MPLY   ,MFFD   ,            ,       ,F9     ,F10    ,F11    ,F12    ,       ,       
76       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
77         ,       ,       ,PWR    ,MUTE   ,VOLD   ,VOLU   ,            ,       ,F5     ,F6     ,F7     ,F8     ,       ,       
78       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
79         ,       ,       ,WAKE   ,MPRV   ,MPLY   ,MNXT   ,            ,       ,F1     ,F2     ,F3     ,F4     ,       ,     
80       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
81                                         ,       ,                            ,       ,    
82       //\-------------------------------+-------+-------+-------/    \-------+-------+---------------------------------------/
83   ),
84
85   [_MOUSE] = KC_KEYMAP(
86       //,-------+-------+-------+-------+-------+-------+-------.    ,-------+-------+-------+-------+-------+-------+-------.
87                 ,       ,       ,       ,       ,       ,            ,       ,       ,       ,       ,       ,       ,       
88       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
89         ,       ,       ,       ,BTN1   ,BTN3   ,BTN2   ,            ,       ,MS_L   ,MS_D   ,MS_U   ,MS_R   ,       ,       
90       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
91         ,       ,       ,       ,ACL0   ,ACL1   ,ACL2   ,            ,       ,WH_L   ,WH_D   ,WH_U   ,WH_R   ,       ,     
92       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
93                                         ,       ,                            ,       ,    
94       //\-------------------------------+-------+-------+-------/    \-------+-------+---------------------------------------/
95   ),
96 };
97
98 // These control the color of the LED on the receiver
99 // For color reference, see ../../chimera_ortho.h
100 void matrix_scan_user(void) {
101     uint8_t layer = biton32(layer_state);
102     
103     switch (layer) {
104         case _BASE:
105             set_led_cyan;
106             break;
107         case _NAV:
108             set_led_blue;
109             break;
110         case _SYM:
111             set_led_magenta;
112             break;
113         case _FUNC:
114             set_led_yellow;
115         default:
116             set_led_white;
117             break;
118     }
119 };