Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new handwired keyboard (Ergocheap) #11857

Merged
merged 27 commits into from
Apr 8, 2021
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b95bbe0
Added ergocheap keymap and setting
xSteins Feb 11, 2021
2664fe2
Update readme.md
xSteins Feb 11, 2021
04e5678
Update readme.md
xSteins Feb 11, 2021
805cf89
reverting layout name
xSteins Feb 11, 2021
1e51bfa
Update keyboards/handwired/ergocheap/rules.mk
xSteins Feb 13, 2021
033c8a5
Update ergocheap.c
xSteins Feb 13, 2021
33e781c
Merge branch 'master' of https://github.com/xSteins/qmk_firmware
xSteins Feb 13, 2021
f6047cb
Update keyboards/handwired/ergocheap/config.h
xSteins Feb 13, 2021
758a186
Merge branch 'master' of https://github.com/xSteins/qmk_firmware
xSteins Feb 13, 2021
07569b4
Update layout name & keymap
xSteins Feb 14, 2021
6e2ae9a
Add via keymap
xSteins Feb 15, 2021
ab1adb1
Add another spacebar
xSteins Feb 20, 2021
e073f86
Update keyboards/handwired/ergocheap/readme.md
xSteins Feb 20, 2021
83a5d07
Update keyboards/handwired/ergocheap/rules.mk
xSteins Feb 20, 2021
c92599d
Merge branch 'master' of https://github.com/xSteins/qmk_firmware
xSteins Feb 20, 2021
7dc2f5c
Removed commented keymap
xSteins Feb 20, 2021
604018a
Removed commented keymap on via folder
xSteins Feb 20, 2021
fb8ff3d
removed LTO
xSteins Feb 20, 2021
bc874d0
Add 2 empty layer on via folder
xSteins Feb 25, 2021
4ccaa12
Update quantum/rgblight.h
xSteins Mar 11, 2021
8b5385f
Update quantum/rgblight.c
xSteins Mar 11, 2021
9119a99
Update keyboards/handwired/ergocheap/ergocheap.h
xSteins Mar 11, 2021
9416fe3
Update quantum/process_keycode/process_music.c
xSteins Mar 11, 2021
9c1d7d5
Overwrite mcuconf file using chibios reference
xSteins Apr 3, 2021
95c112f
chconf & halconf migrate from chibios common ref
xSteins Apr 4, 2021
8b90cd8
update keymap
xSteins Apr 4, 2021
379c94c
Create info.json
xSteins Apr 4, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions keyboards/handwired/ergocheap/chconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/* Copyright 2020 QMK
*
* 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/>.
*/

/*
* This file was auto-generated by:
* `qmk chibios-confupdate -i keyboards/handwired/ergocheap/chconf.h -r platforms/chibios/common/configs/chconf.h`
*/

#pragma once

#define CH_CFG_ST_TIMEDELTA 0

#define CH_CFG_USE_TM FALSE

#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE

#define CH_CFG_USE_MESSAGES_PRIORITY FALSE

#define CH_CFG_USE_MEMPOOLS FALSE

#define CH_CFG_USE_OBJ_FIFOS FALSE

#define CH_CFG_USE_PIPES FALSE

#define CH_CFG_USE_DYNAMIC FALSE

#define CH_CFG_USE_FACTORY FALSE

#define CH_CFG_FACTORY_OBJECTS_REGISTRY FALSE

#define CH_CFG_FACTORY_GENERIC_BUFFERS FALSE

#define CH_CFG_FACTORY_SEMAPHORES FALSE

#define CH_CFG_FACTORY_MAILBOXES FALSE

#define CH_CFG_FACTORY_OBJ_FIFOS FALSE

#define CH_CFG_FACTORY_PIPES FALSE

#define CH_DBG_ENABLE_STACK_CHECK FALSE

#include_next <chconf.h>

67 changes: 67 additions & 0 deletions keyboards/handwired/ergocheap/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/*
Copyright 2021 xSteins <[email protected]>

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

/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEDE //0xFEED
#define PRODUCT_ID 0x6942 //0x6465
#define DEVICE_VER 0x0001
#define MANUFACTURER xSteins
#define PRODUCT ERGOCHEAP

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15

#define MATRIX_COL_PINS { A8, A9, B14, B12, B13, B15, B3, B11, A4, A5, A6, A7, B0, B1, B10 }
#define MATRIX_ROW_PINS { B5, B6, B7, B9, B8 }

#define DIODE_DIRECTION COL2ROW

/* key led setting */
//#define BACKLIGHT_PIN A8
//#define BACKLIGHT_PWM_DRIVER PWMD1
//#define BACKLIGHT_PWM_CHANNEL 1
//#define BACKLIGHT_LEVELS 6
//#define BACKLIGHT_BREATHING
//#define BREATHING_PERIOD 6

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 8
#define TAPPING_TERM 500

/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/

/* disable debug print */
//#define NO_DEBUG

/* disable print */
//#define NO_PRINT

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
16 changes: 16 additions & 0 deletions keyboards/handwired/ergocheap/ergocheap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/* Copyright 2021 xSteins <[email protected]>
*
* 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/>.
*/
#include "ergocheap.h"
drashna marked this conversation as resolved.
Show resolved Hide resolved
42 changes: 42 additions & 0 deletions keyboards/handwired/ergocheap/ergocheap.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
Copyright 2021 xSteins <[email protected]>

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
#include "quantum.h"

/*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the Keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/


#define LAYOUT( \
K00, K01, K02, K0B, K0D, K0E, K0F, \
K10, K11, K03, K04, K05, K06, K07, K08, K09, K0A, K1B, K1D, K1E, K1F, \
K20, K21,K12, K13, K14, K15, K16, K17, K18, K19, K1A, K2B, K2D, K2E, K2F, \
K30, K31,K22, K23, K24, K25, K26, K27, K28, K29, K3B, K3D, K3E, K3F, \
K40, K32, K33, K34, K35, K36, K37, K38, K39, K4B, K4D, K4E, K4F, \
K42, K44, K45, K46, K47, K48 \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0D, K0E, K0F, }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, KC_NO, K2B, K2D, K2E, K2F, }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, KC_NO, K3B, K3D, K3E, K3F, }, \
{ K40, KC_NO, K42, KC_NO, K44, K45, K46, K47, K48, KC_NO, KC_NO, K4B, K4D, K4E, K4F } \
}
37 changes: 37 additions & 0 deletions keyboards/handwired/ergocheap/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/* Copyright 2020 QMK
*
* 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/>.
*/

/*
* This file was auto-generated by:
* `qmk chibios-confupdate -i keyboards/handwired/ergocheap/halconf.h -r platforms/chibios/common/configs/halconf.h`
*/

#pragma once

#define HAL_USE_DAC FALSE

#define HAL_USE_GPT FALSE

#define HAL_USE_I2C FALSE

#define HAL_USE_SERIAL_USB FALSE

#define PAL_USE_CALLBACKS FALSE

#define PAL_USE_WAIT FALSE

#include_next <halconf.h>

42 changes: 42 additions & 0 deletions keyboards/handwired/ergocheap/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/* Copyright 2021 xSteins <[email protected]>
*
* 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/>.
*/

#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN1,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
xSteins marked this conversation as resolved.
Show resolved Hide resolved
KC_ESC, KC_1, KC_2, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
KC_TAB, KC_Q, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_CAPS, KC_A, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
KC_LSFT, KC_Z, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SLSH, KC_LALT, KC_UP, KC_END,
KC_LCTL, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT,
KC_LALT, KC_SPC, MO(_FN1),KC_SPC, KC_SPC, MO(_FN1)
),
[_FN1] = LAYOUT(
xSteins marked this conversation as resolved.
Show resolved Hide resolved
KC_GRV, KC_F1, KC_F2, KC_F11, KC_F12, _______, _______,
_______, _______, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UP, _______, _______, _______,
KC_LCTL, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_LEFT, KC_RIGHT, _______, _______,
KC_LSFT, KC_LEFT, KC_S, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_DOWN, _______, KC_MS_WH_UP, _______,
_______, KC_UP, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT,
KC_LGUI, _______, _______, _______, _______, _______
)
};
60 changes: 60 additions & 0 deletions keyboards/handwired/ergocheap/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/* Copyright 2021 xSteins <[email protected]>
*
* 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/>.
*/

#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN1,
_FN2,
_FN3,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
KC_TAB, KC_Q, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_CAPS, KC_A, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
KC_LSFT, KC_Z, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SLSH, KC_LALT, KC_UP, KC_END,
KC_LCTL, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT,
KC_LALT, KC_SPC, MO(_FN1), KC_SPC, MO(_FN1)
),
[_FN1] = LAYOUT(
KC_GRV, KC_F1, KC_F2, KC_F11, KC_F12, _______, _______,
_______, _______, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UP, _______, _______, _______,
KC_LCTL, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_LEFT, KC_RIGHT, _______, _______,
KC_LSFT, KC_LEFT, KC_S, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_DOWN, _______, KC_MS_WH_UP, _______,
_______, KC_UP, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT,
KC_LGUI, _______, _______, _______, _______
),
[_FN2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______
),
[_FN3] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______
)
fauxpark marked this conversation as resolved.
Show resolved Hide resolved
};
1 change: 1 addition & 0 deletions keyboards/handwired/ergocheap/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VIA_ENABLE = yes
28 changes: 28 additions & 0 deletions keyboards/handwired/ergocheap/mcuconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/* Copyright 2020 QMK
*
* 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/>.
*/

/*
* This file was auto-generated by:
* `qmk chibios-confupdate -i keyboards/handwired/ergocheap/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
*/

#pragma once

#include_next <mcuconf.h>

#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE

15 changes: 15 additions & 0 deletions keyboards/handwired/ergocheap/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Ergocheap handwired keyboard

Ergocheap is an ergonomic keyboard with layout forked from adelheid with some minor adjustment in 13-15th row and standard keycaps size

![Ergocheap](https://i.imgur.com/II3aBYgl.jpg)

* Keyboard Maintainer: [xSteins](https://github.com/xSteins)
* Hardware Supported: bluepill
* Hardware Availability: [case files](https://github.com/xSteins/Mechanical-Keyboard/tree/master/ErgoCheap/CASE)

Make example for this keyboard (after setting up your build environment):

make handwired/ergocheap:default

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).
Loading