[Keyboard] E7-V1 keyboard support (#4965)
* Add the e7-v1 keyboard The e7-v1 is a 75% keyboard made by Exclusive based on an Atmega32u4 pub with RGB lights on top and backlighting. This PR add supports for the regular ANSI layout and ANSI split backspace layout. No ISO yet :( * My e7-v1 keymap Difference from base layout: * split backspace * Home & End on last keys of row 0 instead of Insert/Del * Fn is on the End key when hold * supports both a windows/linux keymap and osx keymap * layer change is reflected in the rgb leds of the logo
This commit is contained in:
committed by
Drashna Jaelre
parent
df251d7a13
commit
03d9e3fe79
37
keyboards/e7v1/keymaps/ansi_splitbs/keymap.c
Normal file
37
keyboards/e7v1/keymaps/ansi_splitbs/keymap.c
Normal file
@@ -0,0 +1,37 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/*
|
||||
* ,---------------------------------------------------------------------|
|
||||
* |Esc|▓|F1 |F2 |F3 |F4 |▓|F5 |F6 |F7 |F8 |▓|F9 |F10|F11|F12|▓|Ins|▓|Del|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |\ |Del|▓PgU |
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Tab |Q |W |E |R |T |Y |U |I |O |P |[ | ] | BSpc|▓PgDn|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Caps |A |S |D |F |G |H |J |K |L |; |' | Enter |▓▓▓▓▓▓▓|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Shft |Z |X |C |V |B |N |M |, |. |/ |Shift |▓| Up |▓▓|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Ctrl|GUI |Alt | Space |Alt |Fn |▓|Lt |Dn |Rt |
|
||||
* `---------------------------------------------------------------------|'
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_75_ansi_splitbs(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS,KC_DEL, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = LAYOUT_75_ansi_splitbs(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, BL_DEC, BL_INC, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
|
||||
_______, _______, _______, _______, _______, MO(1), RGB_MOD, RGB_VAD, RGB_HUD),
|
||||
|
||||
|
||||
};
|
||||
5
keyboards/e7v1/keymaps/ansi_splitbs/readme.md
Normal file
5
keyboards/e7v1/keymaps/ansi_splitbs/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# ANSI split backspace Keymap
|
||||
|
||||
Split backspace ANSI keymap with a base layer and an adjust layer.
|
||||
|
||||
Keymap Maintainer: [masterzen](https://github.com/amnesia0287)
|
||||
37
keyboards/e7v1/keymaps/default/keymap.c
Normal file
37
keyboards/e7v1/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,37 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/*
|
||||
* ,---------------------------------------------------------------------|
|
||||
* |Esc|▓|F1 |F2 |F3 |F4 |▓|F5 |F6 |F7 |F8 |▓|F9 |F10|F11|F12|▓|Ins|▓|Del|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backspace|▓PgU |
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Tab |Q |W |E |R |T |Y |U |I |O |P |[ | ] | \ |▓PgDn|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Caps |A |S |D |F |G |H |J |K |L |; |' | Enter |▓▓▓▓▓▓▓|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Shft |Z |X |C |V |B |N |M |, |. |/ |Shift |▓| Up |▓▓|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Ctrl|GUI |Alt | Space |Alt |Fn |▓|Lt |Dn |Rt |
|
||||
* `---------------------------------------------------------------------|'
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_75_ansi(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = LAYOUT_75_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, BL_DEC, BL_INC, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
|
||||
_______, _______, _______, _______, _______, MO(1), RGB_MOD, RGB_VAD, RGB_HUD),
|
||||
|
||||
|
||||
};
|
||||
5
keyboards/e7v1/keymaps/default/readme.md
Normal file
5
keyboards/e7v1/keymaps/default/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Default Keymap
|
||||
|
||||
Default ANSI keymap with a base layer and an adjust layer.
|
||||
|
||||
Keymap Maintainer: [masterzen](https://github.com/amnesia0287)
|
||||
138
keyboards/e7v1/keymaps/masterzen/keymap.c
Normal file
138
keyboards/e7v1/keymaps/masterzen/keymap.c
Normal file
@@ -0,0 +1,138 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
BASE, // qwerty linux
|
||||
OSX, // qwerty osx
|
||||
|
||||
_ADJUST, // function key layer
|
||||
};
|
||||
|
||||
enum keycodes {
|
||||
// default layout switcher
|
||||
LAY_LIN = SAFE_RANGE,
|
||||
LAY_OSX
|
||||
};
|
||||
|
||||
/*
|
||||
* ,---------------------------------------------------------------------|
|
||||
* |Esc|▓|F1 |F2 |F3 |F4 |▓|F5 |F6 |F7 |F8 |▓|F9 |F10|F11|F12|▓|Hom|▓|End|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |\ |Del|▓PgU |
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Tab |Q |W |E |R |T |Y |U |I |O |P |[ | ] | BSpc|▓PgDn|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |LCTRL |A |S |D |F |G |H |J |K |L |; |' | Enter |▓▓▓▓▓▓▓|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Shft |Z |X |C |V |B |N |M |, |. |/ |Shift |▓| Up |▓▓|
|
||||
* |---------------------------------------------------------------------|
|
||||
* |Ctrl|GUI |Alt | Space |Alt |Fn |▓|Lt |Dn |Rt |
|
||||
* `---------------------------------------------------------------------|'
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT_75_ansi_splitbs(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, LT(_ADJUST,KC_END),
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS,KC_DEL, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[OSX] = LAYOUT_75_ansi_splitbs(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, _______, KC_LGUI, KC_RALT, _______, _______, _______),
|
||||
|
||||
[_ADJUST] = LAYOUT_75_ansi_splitbs(
|
||||
RESET, LAY_LIN, LAY_OSX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_ADJUST),
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, BL_DEC, BL_INC, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
|
||||
_______, _______, _______, _______, _______, _______, RGB_MOD, RGB_VAD, RGB_HUD),
|
||||
|
||||
|
||||
};
|
||||
|
||||
extern rgblight_config_t rgblight_config;
|
||||
|
||||
bool edit = false;
|
||||
uint32_t mode;
|
||||
uint16_t hue;
|
||||
uint8_t sat;
|
||||
uint8_t val;
|
||||
|
||||
void matrix_init_user(void)
|
||||
{
|
||||
mode = rgblight_config.mode;
|
||||
}
|
||||
|
||||
|
||||
void persistent_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)
|
||||
{
|
||||
/* layout switcher */
|
||||
case LAY_LIN:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
persistent_default_layer_set(1UL << BASE);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LAY_OSX:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
persistent_default_layer_set(1UL << OSX);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RGB_MOD:
|
||||
// allows to set the rgb mode while in the ADJUST layer which uses
|
||||
// its own mode
|
||||
if (record->event.pressed)
|
||||
{
|
||||
rgblight_mode(mode);
|
||||
rgblight_step();
|
||||
mode = rgblight_config.mode;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32_t layer_state_set_user(uint32_t state)
|
||||
{
|
||||
if (state == BASE && edit == true)
|
||||
{
|
||||
hue = rgblight_get_hue();
|
||||
sat = rgblight_get_sat();
|
||||
val = rgblight_get_val();
|
||||
edit = false;
|
||||
}
|
||||
|
||||
switch (biton32(state))
|
||||
{
|
||||
case _ADJUST:
|
||||
mode = rgblight_get_mode();
|
||||
rgblight_mode_noeeprom(1);
|
||||
rgblight_setrgb(0xD3, 0x7F, 0xED);
|
||||
edit = true;
|
||||
break;
|
||||
default:
|
||||
rgblight_mode(mode);
|
||||
rgblight_sethsv(hue, sat, val);
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
14
keyboards/e7v1/keymaps/masterzen/readme.md
Normal file
14
keyboards/e7v1/keymaps/masterzen/readme.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# masterzen's Keymap
|
||||
|
||||

|
||||
|
||||
Keymap Maintainer: [masterzen](https://github.com/masterzen)
|
||||
|
||||
|
||||
Difference from base layout:
|
||||
* split backspace
|
||||
* Home & End on last keys of row 0 instead of Insert/Del
|
||||
* Fn is on the End key when hold
|
||||
* supports both a windows/linux keymap and osx keymap
|
||||
* layer change is reflected in the rgb leds of the logo
|
||||
|
||||
Reference in New Issue
Block a user