summaryrefslogtreecommitdiff
path: root/keyboards/chocv
diff options
context:
space:
mode:
authorRichard <rich@brickbots.com>2022-07-17 09:35:09 -0700
committerGitHub <noreply@github.com>2022-07-17 09:35:09 -0700
commit747b33cb81ac2397419beac9653f9ce697a30b7b (patch)
treea7543d1a6345d313185332ee7d5ccd15ec43c824 /keyboards/chocv
parent6025df79b3065c729d0807ad1abe655b896a38e2 (diff)
downloadqmk_firmware-747b33cb81ac2397419beac9653f9ce697a30b7b.tar.gz
qmk_firmware-747b33cb81ac2397419beac9653f9ce697a30b7b.zip
[Keyboard] Adding chocV keyboard (#15921)
* Adding chocV keyboard * Fix checklist issues / community layout support * Remove template cruft from readme * Fix image url in readme * Fix image url in readme to raw github content * Change readme example to use default Keymap * Remove vestigal config * More informative keymap readme * Config.h swapsies * Remove deprecated features * Conform / Modernize Rules * Conform / Modernize Rules * Clean up spacing * Update keyboards/chocv/readme.md Move build docs links to end :+1:
Diffstat (limited to 'keyboards/chocv')
-rw-r--r--keyboards/chocv/chocv.c17
-rw-r--r--keyboards/chocv/chocv.h43
-rw-r--r--keyboards/chocv/config.h43
-rw-r--r--keyboards/chocv/info.json54
-rw-r--r--keyboards/chocv/keymaps/default/keymap.c30
-rw-r--r--keyboards/chocv/keymaps/default/readme.md24
-rw-r--r--keyboards/chocv/readme.md26
-rw-r--r--keyboards/chocv/rules.mk20
8 files changed, 257 insertions, 0 deletions
diff --git a/keyboards/chocv/chocv.c b/keyboards/chocv/chocv.c
new file mode 100644
index 0000000000..c79f8a1b75
--- /dev/null
+++ b/keyboards/chocv/chocv.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 BrickBots Labs
+ *
+ * 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 "chocv.h"
diff --git a/keyboards/chocv/chocv.h b/keyboards/chocv/chocv.h
new file mode 100644
index 0000000000..2691dfcb83
--- /dev/null
+++ b/keyboards/chocv/chocv.h
@@ -0,0 +1,43 @@
+/* Copyright 2021 BrickBots Labs
+ *
+ * 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"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * 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_split_3x5_3( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09,\
+ k10, 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 \
+ ) \
+ { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09}, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19}, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29}, \
+ { KC_NO, KC_NO, k30, k31, k32, k33, k34, k35, KC_NO, KC_NO} \
+ }
+
diff --git a/keyboards/chocv/config.h b/keyboards/chocv/config.h
new file mode 100644
index 0000000000..c35e1afc98
--- /dev/null
+++ b/keyboards/chocv/config.h
@@ -0,0 +1,43 @@
+/* Copyright 2021 BrickBots Labs
+ *
+ * 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 "config_common.h"
+
+ /* USB Device descriptor parameter */
+ #define VENDOR_ID 0xBBB0
+ #define PRODUCT_ID 0x0002
+ #define DEVICE_VER 0x0001
+ #define MANUFACTURER BrickBots Labs
+ #define PRODUCT chocV
+
+ /* key matrix size */
+ #define MATRIX_ROWS 4
+ #define MATRIX_COLS 10
+
+
+ #define MATRIX_ROW_PINS { F4, F5, D1, D0 }
+ #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, C6, D7, E6, B4, B5}
+ #define UNUSED_PINS
+
+ /* COL2ROW, ROW2COL*/
+ #define DIODE_DIRECTION COL2ROW
+
+
+ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+ #define DEBOUNCE 5
+
diff --git a/keyboards/chocv/info.json b/keyboards/chocv/info.json
new file mode 100644
index 0000000000..fe5a250291
--- /dev/null
+++ b/keyboards/chocv/info.json
@@ -0,0 +1,54 @@
+{
+ "keyboard_name": "chocV",
+ "url": "https://github.com/brickbots/chocV",
+ "maintainer": "Brickbots",
+ "layouts": {
+ "LAYOUT_split_3x5_3": {
+ "layout": [
+ {"label":"Q", "x":0, "y":0.3},
+ {"label":"W", "x":1, "y":0.1},
+ {"label":"E", "x":2, "y":0},
+ {"label":"R", "x":3, "y":0.1},
+ {"label":"T", "x":4, "y":0.2},
+
+ {"label":"Y", "x":8, "y":0.2},
+ {"label":"U", "x":9, "y":0.1},
+ {"label":"I", "x":10, "y":0},
+ {"label":"O", "x":11, "y":0.1},
+ {"label":"P", "x":12, "y":0.3},
+
+ {"label":"A", "x":0, "y":1.3},
+ {"label":"S", "x":1, "y":1.1},
+ {"label":"D", "x":2, "y":1},
+ {"label":"F", "x":3, "y":1.1},
+ {"label":"G", "x":4, "y":1.2},
+
+ {"label":"H", "x":8, "y":1.2},
+ {"label":"J", "x":9, "y":1.1},
+ {"label":"K", "x":10, "y":1},
+ {"label":"L", "x":11, "y":1.1},
+ {"label":";", "x":12, "y":1.3},
+
+ {"label":"Z", "x":0, "y":2.3},
+ {"label":"X", "x":1, "y":2.1},
+ {"label":"C", "x":2, "y":2},
+ {"label":"V", "x":3, "y":2.1},
+ {"label":"B", "x":4, "y":2.2},
+
+ {"label":"N", "x":8, "y":2.2},
+ {"label":"M", "x":9, "y":2.1},
+ {"label":",", "x":10, "y":2},
+ {"label":".", "x":11, "y":2.1},
+ {"label":"/", "x":12, "y":2.3},
+
+ {"label":"KC_LSFT", "x":3, "y":3.7},
+ {"label":"LC_LALT", "x":4, "y":3.7},
+ {"label":"KC_ENT", "x":5, "y":3.2, "h":1.5},
+
+ {"label":"KC_SPC", "x":7, "y":3.2, "h":1.5},
+ {"label":"KC_DEL", "x":8, "y":3.7},
+ {"label":"KC_RCTL", "x":9, "y":3.7}
+ ]
+ }
+ }
+}
diff --git a/keyboards/chocv/keymaps/default/keymap.c b/keyboards/chocv/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f6d2f0d270
--- /dev/null
+++ b/keyboards/chocv/keymaps/default/keymap.c
@@ -0,0 +1,30 @@
+/* Copyright 2021 BrickBots Labs
+ *
+ * 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 {
+ _QWERTY,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT_split_3x5_3(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_LSFT, KC_LALT, KC_ENT, KC_SPC, KC_DEL, KC_RCTL
+ ),
+};
diff --git a/keyboards/chocv/keymaps/default/readme.md b/keyboards/chocv/keymaps/default/readme.md
new file mode 100644
index 0000000000..0d9b3630ab
--- /dev/null
+++ b/keyboards/chocv/keymaps/default/readme.md
@@ -0,0 +1,24 @@
+# chocV Keymap
+
+The default keymap provided here is useful for testing and as a base
+for your own mapping, but does not include layers and is missing many
+keycodes. To build the default keymap for testing:
+
+make chocv:default
+
+## Give Miryoku a try
+
+If you are looking for a full fetured keymap, you can build the
+firmware with Miryoku without any additional work
+
+For details and building instructions and options please see the
+[The official Miryoku QMK
+Repo](https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku)
+
+The command to build with the default Miryoku layout is:
+
+make chocv:manna-habour_miryoku
+
+
+
+
diff --git a/keyboards/chocv/readme.md b/keyboards/chocv/readme.md
new file mode 100644
index 0000000000..67bb9aad02
--- /dev/null
+++ b/keyboards/chocv/readme.md
@@ -0,0 +1,26 @@
+# chocV
+
+A 36 key choc keyboard based on the [Horizon](https://github.com/skarrmann/horizon)
+construction and a trimmed down [BabyV](https://www.instagram.com/eyeohdesigns/?hl=en) layout!
+
+![chocV Lineage](https://raw.githubusercontent.com/brickbots/chocV/main/images/lineage.jpeg "chocV Lineage")
+
+* Keyboard Maintainer: [Brickbots](https://github.com/brickbots)
+* Hardware Supported: The chocV PCB is public domain and is compatible with any
+pro-micro footprint MCU
+* Hardware Availability: [The chocV github repo](https://github.com/brickbots/chocV)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make chocv:default
+
+Flashing example for this keyboard:
+
+ make chocv:default:flash
+
+## Bootloader
+
+Enter the bootloader using the hardware reset button on the top middle of the
+near the MCU.
+
+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).
diff --git a/keyboards/chocv/rules.mk b/keyboards/chocv/rules.mk
new file mode 100644
index 0000000000..27b4a6282b
--- /dev/null
+++ b/keyboards/chocv/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = qmk-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = split_3x5_3