diff options
author | Danny Nguyen <danny@keeb.io> | 2017-10-31 12:03:31 -0400 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2017-10-31 12:27:49 -0400 |
commit | f9881793e3c9d521cc8c5e632114261d1be9f421 (patch) | |
tree | 91f308ddde76f093beef70c9bf86fd61e6a57392 /keyboards/eco/keymaps/hexwire/keymap.c | |
parent | 04b9b62bdc5ed394a06c5c73acdce0b261220e85 (diff) |
Add hexwire keymap for Eco
Diffstat (limited to 'keyboards/eco/keymaps/hexwire/keymap.c')
-rw-r--r-- | keyboards/eco/keymaps/hexwire/keymap.c | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/keyboards/eco/keymaps/hexwire/keymap.c b/keyboards/eco/keymaps/hexwire/keymap.c new file mode 100644 index 0000000000..c20d45c2b2 --- /dev/null +++ b/keyboards/eco/keymaps/hexwire/keymap.c @@ -0,0 +1,120 @@ + +// Default ECO Layout +// KLE here : http://www.keyboard-layout-editor.com/#/gists/0733eca6b4cb88ff9d7de746803f4039 + +#include "eco.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _LOWER 1 +#define _RAISE 2 +#define _FN3 3 + +enum eco_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE, +}; + +// Fillers to make layering more clear +#define KC_ KC_TRNS +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +#define KC_RST RESET +#define KC_DBUG DEBUG +#define KC_LOWR MO(_LOWER) +#define KC_RASE MO(_RAISE) +#define KC_ENTS MT(MOD_LSFT, KC_ENT) +#define KC_ESCC MT(MOD_LCTL, KC_ESC) +#define KC_GRVF LT(_FN3, KC_GRV) +#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen +#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen +#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen +#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen +#define KC_RTOG RGB_TOG +#define KC_RMOD RGB_MOD +#define KC_RHUI RGB_HUI +#define KC_RHUD RGB_HUD +#define KC_RSAI RGB_SAI +#define KC_RSAD RGB_SAD +#define KC_RVAI RGB_VAI +#define KC_RVAD RGB_VAD + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = KC_KEYMAP( + //,----+----+----+----+----+----+----+----+----+----+----+----+----+----. + TAB , Q , W , E , R , T ,LPRN,RPRN, Y , U , I , O , P ,MINS, + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + ESCC, A , S , D , F , G ,LBRC,RBRC, H , J , K , L ,SCLN,QUOT, + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + LSFT, Z , X , C , V , B ,LCBR,RCBR, N , M ,COMM,DOT ,SLSH,ENTS, + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + GRVF,LCTL,LALT,LGUI,LOWR,SPC ,SPC ,BSPC,BSPC,RASE,LEFT,DOWN, UP ,RGHT + //`----+----+----+----+----+----+----+----+----+----+----+----+----+----' + ), + + + [_LOWER] = KC_KEYMAP( + //,----+----+----+----+----+----+----+----+----+----+----+----+----+----. + , 1 , 2 , 3 , 4 , 5 ,LPRN,RPRN, 6 , 7 , 8 , 9 , 0 , , + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + DEL ,CAPP,LEFT,RGHT, UP ,LBRC,LBRC,RBRC,RBRC, P4 , P5 , P6 ,PLUS,PIPE, + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + ,CPYP, , ,DOWN,LCBR,LCBR,RCBR,RCBR, P1 , P2 , P3 ,MINS, , + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + , , , , , , ,DEL ,DEL , , P0 ,PDOT, , + //`----+----+----+----+----+----+----+----+----+----+----+----+----+----' + ), + + [_RAISE] = KC_KEYMAP( + //,----+----+----+----+----+----+----+----+----+----+----+----+----+----. + ,EXLM, AT ,HASH,DLR ,PERC, , ,CIRC,AMPR,ASTR,LPRN,RPRN, , + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + DEL ,MPRV,MNXT,VOLU,PGUP,UNDS, , ,EQL ,HOME, , , ,BSLS, + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + MUTE,MSTP,MPLY,VOLD,PGDN,MINS, , ,PLUS,END , , , , , + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + , , , , , , , , , , , , , + //`----+----+----+----+----+----+----+----+----+----+----+----+----+----' + ), + + [_FN3] = KC_KEYMAP( + //,----+----+----+----+----+----+----+----+----+----+----+----+----+----. + F12 , F1 , F2 , F3 , F4 , F5 , , , F6 , F7 , F8 , F9 ,F10 ,F11 , + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + RTOG,RMOD,RHUI,RSAI,RVAI, , , , , , , , , , + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + RST ,DBUG,RHUD,RSAD,RVAD, , , , , , , , , , + //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| + , , , , , , , , , , , , , + //`----+----+----+----+----+----+----+----+----+----+----+----+----+----' + ), + +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + } + return true; +} + |