forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keyboard] Add Chocofly v1 (qmk#17289)
* [Keyboard] Add Chocofly v1 * PR Feedback * Small change to keymap. * Replace KC__VOLUP and KC__VOLDOWN with single underscore version. * Apply suggestions from code review * Required for my PC * Required for my PC
- Loading branch information
1 parent
1439c7d
commit 66db427
Showing
10 changed files
with
233 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
// Copyright 2022 Vitaly Volkov (@vlkv) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include "chocofly.h" | ||
|
||
#ifdef ENCODER_ENABLE | ||
bool encoder_update_kb(uint8_t index, bool clockwise) { | ||
if (!encoder_update_user(index, clockwise)) { return false; } | ||
if (clockwise) { | ||
tap_code(KC_VOLU); | ||
} else { | ||
tap_code(KC_VOLD); | ||
} | ||
return false; | ||
} | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
// Copyright 2022 Vitaly Volkov (@vlkv) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#ifdef KEYBOARD_chocofly_v1 | ||
#include "v1.h" | ||
#endif | ||
|
||
#include "quantum.h" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
// Copyright 2022 Vitaly Volkov (@vlkv) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#include "config_common.h" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Chocofly | ||
|
||
![Chocofly v1.0](https://github.com/vlkv/chocofly/blob/master/images/chocofly_v1-0.jpg) | ||
|
||
An open source ergonomic monoblock 60% keyboard. | ||
|
||
* Keyboard Maintainer: [Vitaly Volkov](https://github.com/vlkv) | ||
* Hardware Supported: Chocofly PCB v1, Pro Micro 5V/16MHz and compatible. | ||
* Hardware Availability: [github.com/vlkv/chocofly](https://github.com/vlkv/chocofly) | ||
|
||
Make example for this keyboard (after setting up your build environment): | ||
|
||
make chocofly/v1:default | ||
|
||
Flashing example for this keyboard: | ||
|
||
make chocofly/v1:default:flash | ||
|
||
## Bootloader | ||
|
||
Briefly press the button along the top edge of the PCB next to the microcontroller. | ||
|
||
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). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
// Copyright 2022 Vitaly Volkov (@vlkv) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#define VENDOR_ID 0xCEE2 | ||
#define PRODUCT_ID 0x1001 | ||
#define DEVICE_VER 0x0001 | ||
#define MANUFACTURER vitvlkv | ||
#define PRODUCT Chocofly | ||
|
||
#define MATRIX_ROWS 8 | ||
#define MATRIX_COLS 8 | ||
|
||
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7, E6, B4, B5 } | ||
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 } | ||
|
||
#define DIODE_DIRECTION COL2ROW | ||
|
||
#define ENCODERS_PAD_A { D3 } | ||
#define ENCODERS_PAD_B { D2 } | ||
#define ENCODER_RESOLUTION 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
// Copyright 2022 Vitaly Volkov (@vlkv) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include QMK_KEYBOARD_H | ||
|
||
enum layers { | ||
_QWERTY, | ||
_LOWER, | ||
_RAISE, | ||
}; | ||
|
||
#define RS_SPC LT(_RAISE, KC_SPC) | ||
#define LW_LGUI LT(_LOWER, KC_LGUI) | ||
#define RS_LGUI LT(_RAISE, KC_LGUI) | ||
#define MT_LALT LALT_T(KC_ESC) | ||
#define MT_RALT RALT_T(KC_ENT) | ||
#define MT_LSFT LSFT_T(KC_EQL) | ||
#define MT_RSFT RSFT_T(KC_MINS) | ||
|
||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
[_QWERTY] = LAYOUT( | ||
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, | ||
KC_BSLS, KC_A, KC_S, KC_D, KC_F, KC_G, KC__MUTE, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_INS, KC_PSCR, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, | ||
LW_LGUI, MT_LSFT, RS_SPC, MT_LALT, MT_RALT, MO(_LOWER),MT_RSFT, RS_LGUI | ||
), | ||
[_LOWER] = LAYOUT( | ||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_UNDS, KC_PLUS, KC_EQL, | ||
_______, KC_0, KC_1, KC_2, KC_3, KC_PCMM, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, | ||
_______, KC_0, KC_4, KC_5, KC_6, KC_DEL, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, | ||
_______, KC_0, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, XXXXXXX, KC_PGUP, KC_APP, KC_PGDN, XXXXXXX, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______ | ||
), | ||
[_RAISE] = LAYOUT( | ||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_UNDS, KC_PLUS, KC_EQL, | ||
_______, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_EXLM, KC_AT, KC_HASH, XXXXXXX, XXXXXXX, | ||
_______, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, KC_DEL, _______, KC_BSPC, KC_DLR, KC_PERC, KC_CIRC, XXXXXXX, XXXXXXX, | ||
_______, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, _______, _______, _______, _______, XXXXXXX, KC_AMPR, KC_ASTR, KC_PCMM, XXXXXXX, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______ | ||
), | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
// Copyright 2022 Will Winder (@winder) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
// | ||
#include QMK_KEYBOARD_H | ||
|
||
enum layers { | ||
_QWERTY, | ||
_LOWER, | ||
_RAISE, | ||
}; | ||
|
||
#define FN_1 MO(_LOWER) | ||
#define FN_2 MO(_RAISE) | ||
#define TRMINAL LGUI(KC_ENT) | ||
#define RESIZE LGUI(KC_R) | ||
#define BROWSER LSG(KC_ENT) // Left Shift + GUI, ENT. | ||
|
||
// required for my PC | ||
#undef KC_VOLU | ||
#undef KC_VOLD | ||
#define KC_VOLU KC__VOLUP | ||
#define KC_VOLD KC__VOLDOWN | ||
|
||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
[_QWERTY] = LAYOUT( | ||
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL , | ||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_UNDS, | ||
KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_MUTE, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, | ||
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , TRMINAL, BROWSER, RESIZE , KC_UNDS, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, | ||
KC_LALT, KC_LGUI, FN_1 , KC_ENT , FN_2 , KC_SPC , KC_BSPC, KC_DEL | ||
), | ||
[_LOWER] = LAYOUT( | ||
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , | ||
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL , | ||
KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, | ||
_______, KC_EQL , KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______ | ||
), | ||
[_RAISE] = LAYOUT( | ||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, | ||
_______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
_______, KC_0, KC_4, KC_5, KC_6, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, XXXXXXX, XXXXXXX, | ||
_______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, _______, _______, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______ | ||
), | ||
}; | ||
|
||
#ifdef ENCODER_ENABLE | ||
bool encoder_update_user(uint8_t index, bool clockwise) { | ||
if (index == 0) { | ||
if (clockwise) { | ||
tap_code(KC_VOLD); | ||
} else { | ||
tap_code(KC_VOLU); | ||
} | ||
} | ||
return false; | ||
} | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# MCU name | ||
MCU = atmega32u4 | ||
|
||
# Bootloader selection | ||
BOOTLOADER = caterina | ||
|
||
# Build Options | ||
# change yes to no to disable | ||
# | ||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | ||
MOUSEKEY_ENABLE = no # Mouse keys | ||
EXTRAKEY_ENABLE = no # Audio control and System control | ||
CONSOLE_ENABLE = no # Console for debug | ||
COMMAND_ENABLE = no # Commands for debug and configuration | ||
NKRO_ENABLE = no # Enable N-Key Rollover | ||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
AUDIO_ENABLE = no # Audio output | ||
|
||
ENCODER_ENABLE = yes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
// Copyright 2022 Vitaly Volkov (@vlkv) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include "v1.h" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
// Copyright 2022 Vitaly Volkov (@vlkv) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#include "chocofly.h" | ||
|
||
#include "quantum.h" | ||
|
||
#define K__ KC_NO | ||
|
||
#define LAYOUT( \ | ||
K01, K07, K02, K08, K03, K09, K11, K04, K12, K05, K13, K06, \ | ||
K14, K22, K15, K23, K16, K24, K27, K19, K28, K20, K29, K21, \ | ||
K30, K38, K31, K39, K32, K40, K10, K43, K35, K44, K36, K45, K37, \ | ||
K46, K54, K47, K55, K48, K56, K25, K17, K18, K26, K59, K51, K60, K52, K61, K53, \ | ||
K57, K49, K41, K33, K34, K42, K50, K58 \ | ||
) \ | ||
{ \ | ||
{ K01, K02, K03, K__, K__, K04, K05, K06}, \ | ||
{ K07, K08, K09, K10, K__, K11, K12, K13}, \ | ||
{ K14, K15, K16, K17, K18, K19, K20, K21}, \ | ||
{ K22, K23, K24, K25, K26, K27, K28, K29}, \ | ||
{ K30, K31, K32, K33, K34, K35, K36, K37}, \ | ||
{ K38, K39, K40, K41, K42, K43, K44, K45}, \ | ||
{ K46, K47, K48, K49, K50, K51, K52, K53}, \ | ||
{ K54, K55, K56, K57, K58, K59, K60, K61} \ | ||
} |