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 Hubble keyboard #18718

Merged
merged 6 commits into from
Oct 31, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
24 changes: 24 additions & 0 deletions keyboards/hubble/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// Copyright 2022 Anton Chernenko (@ch3rny)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "config_common.h"

/* key matrix */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
ch3rny marked this conversation as resolved.
Show resolved Hide resolved

/* key matrix pins */
#define MATRIX_ROW_PINS { D1, F4, F7, B5, B1, B3, B6, B2 }
#define MATRIX_COL_PINS { F5, F6, B4, E6, D7, C6, D4, D0 }

#define DIODE_DIRECTION COL2ROW

/* rgb */
#define RGB_DI_PIN D2
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 7
#define RGBLIGHT_SLEEP

#define DEBOUNCE 5
1 change: 1 addition & 0 deletions keyboards/hubble/hubble.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "hubble.h"
drashna marked this conversation as resolved.
Show resolved Hide resolved
21 changes: 21 additions & 0 deletions keyboards/hubble/hubble.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#pragma once
drashna marked this conversation as resolved.
Show resolved Hide resolved

#include "quantum.h"

#define ___ KC_NO

#define LAYOUT( \
K00, K01, K02, K03, K04, K05, K06, K07, K17, K16, K15, K14, K13, K12, K11, K10, \
K20, K21, K22, K23, K24, K25, K26, K27, K37, K36, K35, K34, K33, K31, K30, \
K40 ,K41, K42, K43, K44, K45, K46, K47, K57, K56, K55, K54, K53, K51, \
K60, K61, K62, K63, K65, K67, K76, K75, K74, K72, K71, K70 \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07 }, \
{ K10, K11, K12, K13, K14, K15, K16, K17 }, \
{ K20, K21, K22, K23, K24, K25, K26, K27 }, \
{ K30, K31, ___, K33, K34, K35, K36, K37 }, \
{ K40, K41, K42, K43, K44, K45, K46, K47 }, \
{ ___, K51, ___, K53, K54, K55, K56, K57 }, \
{ K60, K61, K62, K63, ___, K65, ___, K67 }, \
{ K70, K71, K72, ___, K74, K75, K76, ___ }, \
}
90 changes: 90 additions & 0 deletions keyboards/hubble/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
{
"manufacturer": "Anton Chernenko",
"keyboard_name": "hubble",
"maintainer": "ch3rny",
"bootloader": "caterina",
drashna marked this conversation as resolved.
Show resolved Hide resolved
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
drashna marked this conversation as resolved.
Show resolved Hide resolved
},
"matrix_pins": {
"cols": ["F5", "F6", "B4", "E6", "D7", "C6", "D4", "D0"],
"rows": ["D1", "F4", "F7", "B5", "B1", "B3", "B6", "B2"]
},
"processor": "atmega32u4",
drashna marked this conversation as resolved.
Show resolved Hide resolved
"url": "",
"usb": {
"vid": "0x1234",
drashna marked this conversation as resolved.
Show resolved Hide resolved
"pid": "0x5678",
"device_version": "1.0.0"
},
"layouts": {
"LAYOUT": {
"layout": [
{ "matrix": [0, 0], "x": 0, "y": 0 },
{ "matrix": [0, 1], "x": 1, "y": 0 },
{ "matrix": [0, 2], "x": 2, "y": 0 },
{ "matrix": [0, 3], "x": 3, "y": 0 },
{ "matrix": [0, 4], "x": 4, "y": 0 },
{ "matrix": [0, 5], "x": 5, "y": 0 },
{ "matrix": [0, 6], "x": 6, "y": 0 },
{ "matrix": [0, 7], "x": 7, "y": 0 },
{ "matrix": [1, 7], "x": 8, "y": 0 },
{ "matrix": [1, 6], "x": 9, "y": 0 },
{ "matrix": [1, 5], "x": 10, "y": 0 },
{ "matrix": [1, 4], "x": 11, "y": 0 },
{ "matrix": [1, 3], "x": 12, "y": 0 },
{ "matrix": [1, 2], "x": 13, "y": 0 },
{ "matrix": [1, 1], "x": 14.25, "y": 0 },
{ "matrix": [1, 0], "x": 15.25, "y": 0 },
{ "matrix": [2, 0], "x": 0, "y": 1, "w": 1.25 },
{ "matrix": [2, 1], "x": 1.25, "y": 1 },
{ "matrix": [2, 2], "x": 2.25, "y": 1 },
{ "matrix": [2, 3], "x": 3.25, "y": 1 },
{ "matrix": [2, 4], "x": 4.25, "y": 1 },
{ "matrix": [2, 5], "x": 5.25, "y": 1 },
{ "matrix": [2, 6], "x": 6.25, "y": 1 },
{ "matrix": [2, 7], "x": 7.25, "y": 1 },
{ "matrix": [3, 7], "x": 8.25, "y": 1 },
{ "matrix": [3, 6], "x": 9.25, "y": 1 },
{ "matrix": [3, 5], "x": 10.25, "y": 1 },
{ "matrix": [3, 4], "x": 11.25, "y": 1 },
{ "matrix": [3, 3], "x": 12.25, "y": 1, "w": 1.75 },
{ "matrix": [3, 1], "x": 14.25, "y": 1 },
{ "matrix": [3, 0], "x": 15.25, "y": 1 },
{ "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75 },
{ "matrix": [4, 1], "x": 1.75, "y": 2 },
{ "matrix": [4, 2], "x": 2.75, "y": 2 },
{ "matrix": [4, 3], "x": 3.75, "y": 2 },
{ "matrix": [4, 4], "x": 4.75, "y": 2 },
{ "matrix": [4, 5], "x": 5.75, "y": 2 },
{ "matrix": [4, 6], "x": 6.75, "y": 2 },
{ "matrix": [4, 7], "x": 7.75, "y": 2 },
{ "matrix": [5, 7], "x": 8.75, "y": 2 },
{ "matrix": [5, 6], "x": 9.75, "y": 2 },
{ "matrix": [5, 5], "x": 10.75, "y": 2 },
{ "matrix": [5, 4], "x": 11.75, "y": 2, "w": 1.25 },
{ "matrix": [5, 3], "x": 13, "y": 2 },
{ "matrix": [5, 1], "x": 14.25, "y": 2 },
{ "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25 },
{ "matrix": [6, 1], "x": 1.25, "y": 3, "w": 1.25},
{ "matrix": [6, 2], "x": 2.5, "y": 3, "w": 1.25 },
{ "matrix": [6, 3], "x": 3.75, "y": 3, "w": 2.25 },
{ "matrix": [6, 5], "x": 6, "y": 3, "w": 1.25 },
{ "matrix": [6, 7], "x": 7.25, "y": 3, "w": 2.75 },
{ "matrix": [7, 6], "x": 10, "y": 3 },
{ "matrix": [7, 5], "x": 11, "y": 3 },
{ "matrix": [7, 4], "x": 12, "y": 3 },
{ "matrix": [7, 3], "x": 13.25, "y": 3 },
{ "matrix": [7, 2], "x": 14.25, "y": 3 },
{ "matrix": [7, 1], "x": 15.25, "y": 3 }

]
}
}
}
38 changes: 38 additions & 0 deletions keyboards/hubble/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#include QMK_KEYBOARD_H
drashna marked this conversation as resolved.
Show resolved Hide resolved

enum layers {
BASE,
LOWER,
RAISE,
ADJUST
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = LAYOUT(
KC_ESC, 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_INS, KC_PGUP,
KC_TAB, 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_DEL, KC_PGDN,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(LOWER), KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, LT(LOWER, KC_BSPC), LT(ADJUST, KC_ENT), LT(RAISE, KC_SPC),KC_RALT,MO(RAISE),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),

[LOWER] = LAYOUT(
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PPLS, KC_EQL, _______, KC_HOME,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PMNS, _______, _______, KC_END,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),

[RAISE] = 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_PSCR, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),

[ADJUST] = LAYOUT(
QK_BOOT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_RBT, RGB_HUI, RGB_SAI,
_______, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD,
_______, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
),
};
39 changes: 39 additions & 0 deletions keyboards/hubble/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#include QMK_KEYBOARD_H
drashna marked this conversation as resolved.
Show resolved Hide resolved


enum layers {
BASE,
LOWER,
RAISE,
ADJUST
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = LAYOUT(
KC_ESC, 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_INS, KC_PGUP,
KC_TAB, 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_DEL, KC_PGDN,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(LOWER), KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, LT(LOWER, KC_BSPC), LT(ADJUST, KC_ENT), LT(RAISE, KC_SPC),KC_RALT,MO(RAISE),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),

[LOWER] = LAYOUT(
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PPLS, KC_EQL, _______, KC_HOME,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PMNS, _______, _______, KC_END,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),

[RAISE] = 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_PSCR, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),

[ADJUST] = LAYOUT(
QK_BOOT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_RBT, RGB_HUI, RGB_SAI,
_______, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD,
_______, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD
),
};
1 change: 1 addition & 0 deletions keyboards/hubble/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VIA_ENABLE = yes
27 changes: 27 additions & 0 deletions keyboards/hubble/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# hubble

![hubble](https://raw.githubusercontent.com/ch3rny/hubble-keyboard/main/assets/main.jpg)
drashna marked this conversation as resolved.
Show resolved Hide resolved

*A short description of the keyboard/project*
ch3rny marked this conversation as resolved.
Show resolved Hide resolved

* Keyboard Maintainer: [Anton Chernenko](https://github.com/ch3rny)
* Hardware Supported: [Hubble PCB](https://github.com/ch3rny/hubble-keyboard)
* Hardware Availability: Opensource

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

make hubble:default

Flashing example for this keyboard:

make hubble:default:flash

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

## Bootloader

Enter the bootloader in 3 ways:

* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
17 changes: 17 additions & 0 deletions keyboards/hubble/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
BOOTLOADER = caterina

# 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
RGBLIGHT_ENABLE = yes # Enable RGB underglow
VELOCIKEY_ENABLE = yes # RGB Effects speed
drashna marked this conversation as resolved.
Show resolved Hide resolved