* Add Plover layer to DCompact from Planck default * Fix up and update DCompact READMEs * Add missing Steno features * Switch flags to re-enable extrakeys * Fix compilation bug in Chimera layout
		
			
				
	
	
		
			120 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "chimera_ortho.h"
 | |
| 
 | |
| enum chimera_ortho_layers
 | |
| {
 | |
| 	_BASE,
 | |
| 	_NAV,
 | |
| 	_SYM,
 | |
| 	_FUNC,
 | |
| 	_MOUSE
 | |
| };
 | |
| 
 | |
| #define KC_NAV MO(_NAV)
 | |
| #define KC_SYM MO(_SYM)
 | |
| #define KC_FUNC MO(_FUNC)
 | |
| #define KC_MOUSE TT(_MOUSE)
 | |
| 
 | |
| #define KC_DELSHFT SFT_T(KC_DEL)
 | |
| #define KC_CTLENT CTL_T(KC_ENT)
 | |
| #define KC_SYMSPC LT(_SYM, KC_SPC)
 | |
| 
 | |
| #define KC_WK_LEFT LCA(KC_LEFT)
 | |
| #define KC_WK_DOWN LCA(KC_DOWN)
 | |
| #define KC_WK_UP LCA(KC_UP)
 | |
| #define KC_WK_RGHT LCA(KC_RGHT)
 | |
| 
 | |
| #define KC_QUAKE LCTL(KC_GRAVE)
 | |
| 
 | |
| #define LONGPRESS_DELAY 150
 | |
| 
 | |
| // These are needed because of the 'KC_'-adding macro
 | |
| // This macro can be found in ../../chimera_ortho.h
 | |
| #define KC_RESET RESET
 | |
| #define KC_ KC_TRNS 
 | |
| 
 | |
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | |
| 
 | |
|   [_BASE] = KC_KEYMAP(
 | |
|       //,-------+-------+-------+-------+-------+-------+-------.    ,-------+-------+-------+-------+-------+-------+-------.
 | |
|          LALT   ,TAB    ,QUOT   ,COMM   ,DOT    ,P      ,Y           ,F      ,G      ,C      ,R      ,L      ,SLSH   ,FUNC   
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|         ,LGUI   ,ESC    ,A      ,O      ,E      ,U      ,I           ,D      ,H      ,T      ,N      ,S      ,MINS   ,MOUSE  
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|         ,LCTL   ,DELSHFT,SCLN   ,Q      ,J      ,K      ,X           ,B      ,M      ,W      ,V      ,Z      ,BSPC   ,ENTER
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|                                         ,LSHIFT ,NAV                         ,SYMSPC ,CTLENT
 | |
|       //\-------------------------------+-------+-------+-------/    \-------+-------+---------------------------------------/
 | |
|   ),
 | |
| 
 | |
|   [_NAV] = KC_KEYMAP(
 | |
|       //,-------+-------+-------+-------+-------+-------+-------.    ,-------+-------+-------+-------+-------+-------+-------.
 | |
|                 ,       ,       ,       ,       ,       ,            ,       ,HOME   ,PGDOWN ,PGUP   ,END    ,       ,       
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|         ,       ,PSCR   ,MENU   ,       ,       ,       ,            ,       ,LEFT   ,DOWN   ,UP     ,RIGHT  ,       ,       
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|         ,       ,CAPS   ,NLCK   ,INS    ,       ,       ,            ,       ,WK_LEFT,WK_DOWN,WK_UP  ,WK_RGHT,       ,     
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|                                         ,       ,                            ,       ,    
 | |
|       //\-------------------------------+-------+-------+-------/    \-------+-------+---------------------------------------/
 | |
|   ),
 | |
| 
 | |
|   [_SYM] = KC_KEYMAP(
 | |
|       //,-------+-------+-------+-------+-------+-------+-------.    ,-------+-------+-------+-------+-------+-------+-------.
 | |
|                 ,QUAKE  ,GRAVE  ,TILDE  ,BSLASH ,PIPE   ,LPRN        ,RPRN   ,7      ,8      ,9      ,SLSH   ,EQUAL  ,       
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|         ,       ,       ,EXLM   ,AT     ,HASH   ,DLR    ,LCBR        ,RCBR   ,4      ,5      ,6      ,ASTR   ,PLUS   ,       
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|         ,       ,       ,PERC   ,CIRC   ,AMPR   ,ASTR   ,LBRC        ,RBRC   ,1      ,2      ,3      ,MINUS  ,       ,     
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|                                         ,       ,                            ,       ,0
 | |
|       //\-------------------------------+-------+-------+-------/    \-------+-------+---------------------------------------/
 | |
|   ),
 | |
| 
 | |
|   [_FUNC] = KC_KEYMAP(
 | |
|       //,-------+-------+-------+-------+-------+-------+-------.    ,-------+-------+-------+-------+-------+-------+-------.
 | |
|                 ,RESET  ,SLEP   ,MRWD   ,MPLY   ,MFFD   ,            ,       ,F9     ,F10    ,F11    ,F12    ,       ,       
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|         ,       ,       ,PWR    ,MUTE   ,VOLD   ,VOLU   ,            ,       ,F5     ,F6     ,F7     ,F8     ,       ,       
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|         ,       ,       ,WAKE   ,MPRV   ,MPLY   ,MNXT   ,            ,       ,F1     ,F2     ,F3     ,F4     ,       ,     
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|                                         ,       ,                            ,       ,    
 | |
|       //\-------------------------------+-------+-------+-------/    \-------+-------+---------------------------------------/
 | |
|   ),
 | |
| 
 | |
|   [_MOUSE] = KC_KEYMAP(
 | |
|       //,-------+-------+-------+-------+-------+-------+-------.    ,-------+-------+-------+-------+-------+-------+-------.
 | |
|                 ,       ,       ,       ,       ,       ,            ,       ,       ,       ,       ,       ,       ,       
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|         ,       ,       ,       ,BTN1   ,BTN3   ,BTN2   ,            ,       ,MS_L   ,MS_D   ,MS_U   ,MS_R   ,       ,       
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|         ,       ,       ,       ,ACL0   ,ACL1   ,ACL2   ,            ,       ,WH_L   ,WH_D   ,WH_U   ,WH_R   ,       ,     
 | |
|       //|-------+-------+-------+-------+-------+-------+-------|    |-------+-------+-------+-------+-------+-------+-------|
 | |
|                                         ,       ,                            ,       ,    
 | |
|       //\-------------------------------+-------+-------+-------/    \-------+-------+---------------------------------------/
 | |
|   ),
 | |
| };
 | |
| 
 | |
| // These control the color of the LED on the receiver
 | |
| // For color reference, see ../../chimera_ortho.h
 | |
| void matrix_scan_user(void) {
 | |
|     uint8_t layer = biton32(layer_state);
 | |
|     
 | |
|     switch (layer) {
 | |
|         case _BASE:
 | |
|             set_led_cyan;
 | |
|             break;
 | |
|         case _NAV:
 | |
|             set_led_blue;
 | |
|             break;
 | |
|         case _SYM:
 | |
|             set_led_magenta;
 | |
|             break;
 | |
|         case _FUNC:
 | |
|             set_led_yellow;
 | |
|         default:
 | |
|             set_led_white;
 | |
|             break;
 | |
|     }
 | |
| };
 |