Merge remote-tracking branch 'origin/master' into develop

master
QMK Bot 2021-08-19 15:41:40 +00:00
commit 7a125872e2
4 changed files with 35 additions and 72 deletions

View File

@ -1,19 +0,0 @@
/* Copyright 2021 Aquacylinder
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define COMBO_COUNT 1

View File

@ -1,58 +1,51 @@
/* Copyright 2021 Aquacylinder /* Copyright 2021 Aquacylinder
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
bool is_ERESET_active = false;
uint16_t ERESET_timer = 0;
enum custom_keycodes { enum custom_keycodes {
MACRO1 = SAFE_RANGE, //MACRO1 can be anything you want see the qmk documentation MACRO1 = SAFE_RANGE, //MACRO1 can be anything you want see the qmk documentation
MACRO2, //MACRO2 Same thing, you can add as many as you like MACRO2, //MACRO2 Same thing, you can add as many as you like
}; };
//Reset combo key naming
enum combo_events {
ENLCK_reset,
};
//Reset combo key setting the keys
const uint16_t PROGMEM reset_combo[] = {KC_NLCK, KC_MPLY, COMBO_END};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//Macro's are mentioned here allong with the keycodes //Macro's are mentioned here allong with the keycodes
LAYOUT_ortho_5x4( //Base layer (0) LAYOUT_ortho_5x4( //Base layer (0)
TG(1), KC_VOLD, KC_VOLU, KC_BSPC, TG(1), KC_VOLD, KC_VOLU, KC_BSPC,
KC_P7, KC_P8, KC_P9, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PAST,
KC_P4, KC_P5, KC_P6, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PSLS,
KC_P1, KC_P2, KC_P3, KC_PMNS, KC_P1, KC_P2, KC_P3, KC_PPLS,
KC_P0, KC_PDOT, KC_PENT, KC_PPLS), KC_P0, KC_PDOT, KC_PENT, KC_PMNS),
LAYOUT_ortho_5x4( //Layer 1 LAYOUT_ortho_5x4( //Layer 1
KC_TRNS, KC_VOLD, KC_VOLU, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC,
KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO,
KC_NLCK, KC_LEFT, KC_DOWN, KC_RGHT), MO(2), KC_LEFT, KC_DOWN, KC_RGHT),
//Copy any layer and edit it for more layers, be sure to add a key to go to that layer
};
//Reset combo key setting LAYOUT_ortho_5x4( //Layer 2
combo_t key_combos[COMBO_COUNT] = { KC_NO, KC_NO, KC_NO, KC_NO,
[ENLCK_reset] = COMBO_ACTION(reset_combo), KC_NO, KC_NO, KC_NO, RESET,
KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_NLCK, KC_NO, KC_NO),
//Copy any layer and edit it for more layers, be sure to add a key to go to that layer
}; };
bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool process_record_user(uint16_t keycode, keyrecord_t *record) {
@ -66,7 +59,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("for being you <3"); SEND_STRING("for being you <3");
} }
break; break;
case MACRO2: case MACRO2:
if (record->event.pressed) { if (record->event.pressed) {
// when keycode MACRO2 is pressed // when keycode MACRO2 is pressed
@ -79,14 +72,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
return true; return true;
} }
//Reset key combo and a example to make our own, more complex, macro's
void process_combo_event(uint16_t combo_index, bool pressed) {
switch(combo_index) {
case ENLCK_reset:
if (pressed) {
reset_keyboard();
}
break;
}
}

View File

@ -1 +0,0 @@
COMBO_ENABLE = yes

View File

@ -1,17 +1,18 @@
# Emi20 # Emi20
![Emi20](https://i.imgur.com/Tt9ogmWl.jpg) ![Emi20](https://i.imgur.com/Mc84fLGl.jpg)
A compact 4x5 ortholinear keyboard made by Project Aqua and sold by Evil-cables. A compact 4x5 ortholinear keyboard made by Project Aqua and sold by Evil-cables.
* Keyboard Maintainer: [AquaCylinder](https://github.com/AquaCylinder) * Keyboard Maintainer: [AquaCylinder](https://github.com/AquaCylinder)
* Hardware Supported: PCB, Atmega32u4 * Hardware Supported: PCB, Atmega32u4
* Connector: USB mini B
Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment):
make emi20:default make emi20:default
To reset the board into bootloader mode, press the physical reset button on the back of the PCB or use the keycombo (on layer 1) with the bottom left key and the second key from the top right diagonally. To reset the board into bootloader mode, press the physical reset button on the back of the PCB or press the bottom most left key to momentarily switch to layer 2 (on layer 1) and then press the key from the top right down one.
The default keymap.c file has comments to help you on your journey, The default keymap.c file has comments to help you on your journey,
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).