This commit is contained in:
Ricardo (XenGi) Band 2022-07-02 16:03:07 +02:00
commit 9166a24d65
Signed by: xengi
GPG key ID: 56376B6BA63CC9F7
5 changed files with 273 additions and 0 deletions

114
keyboards/t9/config.h Normal file
View file

@ -0,0 +1,114 @@
// Copyright 2022 XenGi (@XenGi)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
/*
* 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
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN D7?
// The number of LEDs connected
#define DRIVER_LED_TOTAL 21
/*
* ┌───┬───┬───┬───┐
* │ ⏮ │ ⏯ │ ■ │ ⏭ │
* ├───┼───┼───┼───┤
* │Num│ / │ * │ - │
* ├───┼───┼───┼───┤
* │ 7 │ 8 │ 9 │ │
* ├───┼───┼───┤ + │
* │ 4 │ 5 │ 6 │ │
* ├───┼───┼───┼───┤
* │ 1 │ 2 │ 3 │ │
* ├───┴───┼───┤Ent│
* │ 0 │ . │ │
* └───────┴───┴───┘
*/
led_config_t g_led_config = { {
// Key Matrix to LED Index
{ 21, 20, 19, 18, },
{ 17, 16, 15, 14, },
{ 13, 12, 11, NO_LED },
{ 10, 9, 8, 7 },
{ 6, 5, 4, NO_LED },
{ 3, NO_LED, 1, 0 }
}, {
// LED Index to Physical Position
// x = 224 / (NUMBER_OF_COLS - 1) * COL_POSITION
// y = 64 / (NUMBER_OF_ROWS - 1) * ROW_POSITION
{ 224, 58 }, { 149, 64 }, { 112, 64 }, { 149, 51 }, { 75, 51 }, { 0, 51 }, { 224, 32 }, { 149, 38 }, { 75, 38 }, { 0, 38 }, { 149, 26 }, { 75, 26 }, { 0, 26 }, { 224, 13 }, { 149, 13 }, { 75, 13 }, { 0, 13 }, { 224, 0 }, { 149, 0 }, { 75, 0 }, { 0, 0 }
}, {
// LED Index to Flag
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
} };
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT
#define ENABLE_RGB_MATRIX_BAND_VAL
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN Enables
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#define ENABLE_RGB_MATRIX_RAINDROPS
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#define ENABLE_RGB_MATRIX_HUE_BREATHING
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
#define ENABLE_RGB_MATRIX_HUE_WAVE
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_KEYRELEASES
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
// limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_LED_FLUSH_LIMIT 16
// limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200

53
keyboards/t9/info.json Normal file
View file

@ -0,0 +1,53 @@
{
"manufacturer": "XenGi",
"keyboard_name": "t9",
"maintainer": "XenGi",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["C2", "C2", "C2", "C2"],
"rows": ["D1", "D1", "D1", "D1", "D1"]
},
"processor": "atmega32u4",
"url": "https://gitlab.com/tnine",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
"vid": "0xFEED"
},
"layouts": {
"LAYOUT_numpad": {
"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": [1, 0], "x": 0, "y": 1 },
{ "matrix": [1, 1], "x": 1, "y": 1 },
{ "matrix": [1, 2], "x": 2, "y": 1 },
{ "matrix": [1, 3], "x": 3, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 },
{ "matrix": [3, 0], "x": 0, "y": 3 },
{ "matrix": [3, 1], "x": 1, "y": 3 },
{ "matrix": [3, 2], "x": 2, "y": 3 },
{ "h": 2, "matrix": [2, 3], "x": 3, "y": 2 },
{ "matrix": [4, 0], "x": 0, "y": 4 },
{ "matrix": [4, 1], "x": 1, "y": 4 },
{ "matrix": [4, 2], "x": 2, "y": 4 },
{ "matrix": [5, 0], "w": 2, "x": 0, "y": 5 },
{ "matrix": [5, 2], "x": 2, "y": 5 },
{ "h": 2, "matrix": [5, 3], "x": 3, "y": 4 }
]
}
}
}

View file

@ -0,0 +1,75 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───┬───┬───┐
* │ ⏮ │ ⏯ │ ■ │ ⏭ │
* ├───┼───┼───┼───┤
* │TG1│ / │ * │ - │
* ├───┼───┼───┼───┤
* │ 7 │ 8 │ 9 │ │
* ├───┼───┼───┤ + │
* │ 4 │ 5 │ 6 │ │
* ├───┼───┼───┼───┤
* │ 1 │ 2 │ 3 │ │
* ├───┴───┼───┤Ent│
* │ 0 │ . │ │
* └───────┴───┴───┘
*/
[0] = LAYOUT_numpad(
KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT,
TG(1), KC_PSLS, KC_PAST, KC_PMNS, // KC_NUM
KC_P7, KC_P8, KC_P9,
KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_P1, KC_P2, KC_P3,
KC_P0, KC_PDOT, KC_PENT
),
/*
* ┌───┬───┬───┬───┐
* │ ⏮ │ ⏯ │ ■ │ ⏭ │
* ├───┼───┼───┼───┤
* │TG1│ / │ * │ - │
* ├───┼───┼───┼───┤
* │Hom│ ↑ │PgU│ │
* ├───┼───┼───┤ + │
* │ ← │ │ → │ │
* ├───┼───┼───┼───┤
* │End│ ↓ │PgD│ │
* ├───┴───┼───┤Ent│
* │Insert │Del│ │
* └───────┴───┴───┘
*/
[1] = LAYOUT_numpad(
_______, _______, _______, _______,
_______, _______, _______, _______,
KC_HOME, KC_UP, KC_PGUP,
KC_LEFT, XXXXXXX, KC_RGHT, _______,
KC_END, KC_DOWN, KC_PGDN,
KC_INS, KC_DEL, _______
),
/*
* ┌─────┬─────┬─────┬─────┐
* │ModeR│Breat│Plain│Mode │
* ├─────┼─────┼─────┼─────┤
* │▒▒▒▒▒│Rainb│Swirl│Sped-│
* ├─────┼─────┼─────┼─────┤
* │Brig+│Brig-│ │ │
* ├─────┼─────┼─────┤Sped+│
* │Satu+│Satu-│ │ │
* ├─────┼─────┼─────┼─────┤
* │Hue+ │Hue- │ │ │
* ├─────┴─────┼─────┤OnOff│
* │ │ │ │
* └───────────┴─────┴─────┘
*/
[2] = LAYOUT_numpad(
RGB_RMOD, RGB_M_B, RGB_M_P, RGB_MOD,
_______, RGB_M_R, RGB_M_SW, RGB_SPD,
RGB_VAI, RGB_VAD, _______,
RGB_SAI, RGB_SAD, _______, RGB_SPI,
RGB_HUI, RGB_HUD, _______,
_______, _______, RGB_TOG,
)
};

27
keyboards/t9/readme.md Normal file
View file

@ -0,0 +1,27 @@
# t9
![t9](imgur.com image replace me!)
*A short description of the keyboard/project*
* Keyboard Maintainer: [XenGi](https://github.com/XenGi)
* Hardware Supported: *The PCBs, controllers supported*
* Hardware Availability: *Links to where you can find this hardware*
Make example for this keyboard (after setting up your build environment):
make t9:default
Flashing example for this keyboard:
make t9: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

4
keyboards/t9/rules.mk Normal file
View file

@ -0,0 +1,4 @@
# This file intentionally left blank
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812 # also supports SK6812MINI