You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
6.7 KiB
120 lines
6.7 KiB
#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;
|
|
}
|
|
};
|