mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-22 03:19:24 +00:00
[Keyboard] Add hotdox76v2 support (#18680)
This commit is contained in:
parent
96c48a5f4a
commit
7fe76e53c1
46
keyboards/hotdox76v2/config.h
Normal file
46
keyboards/hotdox76v2/config.h
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
// Copyright 2021 JasonRen(biu)
|
||||||
|
// Copyright 2022 Drashna Jael're (@Drashna Jael're)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
/*
|
||||||
|
* 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 RGB_MATRIX_SPLIT \
|
||||||
|
{ 43, 43 }
|
||||||
|
|
||||||
|
#define RGB_DI_PIN D3
|
||||||
|
#define RGBLED_NUM 86
|
||||||
|
#define DRIVER_LED_TOTAL RGBLED_NUM
|
||||||
|
|
||||||
|
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
|
||||||
|
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||||
|
#define RGB_MATRIX_CENTER \
|
||||||
|
{ 112, 32 }
|
||||||
|
|
||||||
|
#define SPLIT_TRANSPORT_MIRROR
|
||||||
|
#define SPLIT_MODS_ENABLE
|
||||||
|
#define SPLIT_LAYER_STATE_ENABLE
|
||||||
|
#define SPLIT_LED_STATE_ENABLE
|
||||||
|
#define SPLIT_OLED_ENABLE
|
||||||
|
#define SPLIT_TRANSACTION_IDS_KB KEYBOARD_CURRENT_ALPA_SYNC
|
||||||
|
|
||||||
|
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||||
|
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||||
|
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||||
|
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
309
keyboards/hotdox76v2/hotdox76v2.c
Normal file
309
keyboards/hotdox76v2/hotdox76v2.c
Normal file
@ -0,0 +1,309 @@
|
|||||||
|
// Copyright 2021 JasonRen(biu)
|
||||||
|
// Copyright 2022 Drashna Jael're (@Drashna Jael're)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include <string.h>
|
||||||
|
#include <transactions.h>
|
||||||
|
#include "oled_font_lib/logo2.h"
|
||||||
|
#include "oled_font_lib/ext_font.h"
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
// clang-format off
|
||||||
|
led_config_t g_led_config = {
|
||||||
|
{
|
||||||
|
{ NO_LED, 34, 33, 32, 35, 37, 36 },
|
||||||
|
{ 27, 28, 29, 30, 31, NO_LED, NO_LED },
|
||||||
|
{ 26, 25, 24, 23, 22, 21, 20 },
|
||||||
|
{ 14, 15, 16, 17, 18, 19, NO_LED },
|
||||||
|
{ 13, 12, 11, 10, 9, 8, 7 },
|
||||||
|
{ 0, 1, 2, 3, 4, 5, 6 },
|
||||||
|
/*right*/
|
||||||
|
{ NO_LED, 72, 71, 70, 73, 75, 74 },
|
||||||
|
{ 65, 66, 67, 68, 69, NO_LED, NO_LED },
|
||||||
|
{ 64, 63, 62, 61, 60, 59, 58 },
|
||||||
|
{ 52, 53, 54, 55, 56, 57, NO_LED },
|
||||||
|
{ 51, 50, 49, 48, 47, 46, 45 },
|
||||||
|
{ 38, 39, 40, 41, 42, 43, 44 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// LED Index to Physical Position
|
||||||
|
{0,0}, {17,0}, {34,0}, {52,0}, {69,0}, {86,0}, {103,0}, \
|
||||||
|
{103,13}, {86,13}, {69,13}, {52,13}, {34,13}, {17,13}, {0,13}, \
|
||||||
|
{0,26}, {17,26}, {34,26}, {52,26}, {69,26}, {86,26}, \
|
||||||
|
{103,38}, {86,38}, {69,38}, {52,38}, {34,38}, {17,38}, {0,38}, \
|
||||||
|
{0,51}, {17,51}, {34,51}, {52,51}, {69,51}, \
|
||||||
|
{86,64}, {69,64}, {52,64}, {34,64}, {17,64}, {0,64}, \
|
||||||
|
{69,64}, {52,64}, {34,64}, {17,64}, {0,64}, \
|
||||||
|
|
||||||
|
\
|
||||||
|
{224,0}, {207,0}, {190,0}, {172,0}, {155,0}, {138,0}, {121,0}, \
|
||||||
|
{121,13}, {138,13}, {155,13}, {172,13}, {190,13}, {207,13}, {224,13}, \
|
||||||
|
{224,26}, {207,26}, {190,26}, {172,26}, {155,26}, {138,26}, \
|
||||||
|
{121,38}, {138,38}, {155,38}, {172,38}, {190,38}, {207,38}, {224,38}, \
|
||||||
|
{224,51}, {207,51}, {190,51}, {172,51}, {155,51}, \
|
||||||
|
{138,64}, {155,64}, {172,64}, {190,64}, {207,64}, {224,64}, \
|
||||||
|
{155,64}, {172,64}, {190,64}, {207,64}, {224,64}\
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// 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,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,\
|
||||||
|
2,2,2,2,2,\
|
||||||
|
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,\
|
||||||
|
2,2,2,2,2
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
|
||||||
|
# define UNC (94 + 0x21)
|
||||||
|
typedef struct _master_to_slave_t {
|
||||||
|
int cur_alp_index;
|
||||||
|
char current_alp[7];
|
||||||
|
} master_to_slave_t;
|
||||||
|
master_to_slave_t m2s;
|
||||||
|
|
||||||
|
typedef struct _slave_to_master_t {
|
||||||
|
int cur_alp_index;
|
||||||
|
char current_alp[7];
|
||||||
|
} slave_to_master_t;
|
||||||
|
slave_to_master_t s2m;
|
||||||
|
|
||||||
|
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||||
|
strcpy((char *)(m2s.current_alp), "[ ]");
|
||||||
|
m2s.current_alp[1] = UNC;
|
||||||
|
m2s.current_alp[2] = UNC;
|
||||||
|
m2s.current_alp[3] = UNC;
|
||||||
|
m2s.current_alp[4] = UNC;
|
||||||
|
|
||||||
|
m2s.cur_alp_index = 1;
|
||||||
|
|
||||||
|
strcpy((char *)(s2m.current_alp), "[ ]");
|
||||||
|
s2m.current_alp[1] = UNC;
|
||||||
|
s2m.current_alp[2] = UNC;
|
||||||
|
s2m.current_alp[3] = UNC;
|
||||||
|
s2m.current_alp[4] = UNC;
|
||||||
|
|
||||||
|
s2m.cur_alp_index = 1;
|
||||||
|
|
||||||
|
if (is_keyboard_left()) {
|
||||||
|
return OLED_ROTATION_180;
|
||||||
|
} else {
|
||||||
|
return OLED_ROTATION_0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void render_logo(void) {
|
||||||
|
uint8_t i = 0, j = 0;
|
||||||
|
for (i = 0; i < 4; ++i) {
|
||||||
|
for (j = 0; j < 32; ++j) {
|
||||||
|
if (is_keyboard_left()) {
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&logo_mouse[i * 32 + j]), i * 128 + j);
|
||||||
|
} else {
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&logo_mouse[i * 32 + j]), i * 128 + j + 96);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void render_layer_helper_fun(uint8_t start_line, const char *data, uint8_t gap_w, uint8_t l) {
|
||||||
|
uint8_t j = 0, k = 0;
|
||||||
|
for (j = 0; j < l; ++j) { // font index
|
||||||
|
for (k = 0; k < 12; ++k) { // font byte index
|
||||||
|
// base + logo_w(32) + gap_w(12) +l*font_w(12)+current_byte_index
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x21][k]), start_line * 2 * 128 + 32 + gap_w + j * 12 + k);
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x21][k + 12]), start_line * 2 * 128 + 128 + 32 + gap_w + j * 12 + k);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (j = 0; j < gap_w; ++j) {
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&blank_block), start_line * 2 * 128 + 32 + j);
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&blank_block), start_line * 2 * 128 + 32 + gap_w + l * 12 + j);
|
||||||
|
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&blank_block), start_line * 2 * 128 + 128 + 32 + j);
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&blank_block), start_line * 2 * 128 + 128 + 32 + gap_w + l * 12 + j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void render_layer(uint8_t layer) {
|
||||||
|
render_layer_helper_fun(0, PSTR("LAYER:"), 12, 6);
|
||||||
|
switch (layer) {
|
||||||
|
case 0:
|
||||||
|
render_layer_helper_fun(1, PSTR("1:HOME"), 12, 6);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
render_layer_helper_fun(1, PSTR("2:CODE"), 12, 6);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
render_layer_helper_fun(1, PSTR("3:OFFICE"), 0, 8);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
default:
|
||||||
|
render_layer_helper_fun(1, PSTR("4:OTHERS"), 0, 8);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void render_cur_input_helper_fun(uint8_t start_line, const char *data, uint8_t gap_w, uint8_t l) {
|
||||||
|
uint8_t j = 0, k = 0;
|
||||||
|
for (j = 0; j < l; ++j) { // font index
|
||||||
|
for (k = 0; k < 12; ++k) { // font byte index
|
||||||
|
// base + logo_w(0) + gap_w(12) +l*font_w(12)+current_byte_index
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x21][k]), start_line * 2 * 128 + gap_w + j * 12 + k);
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x21][12 + k]), start_line * 2 * 128 + 128 + gap_w + j * 12 + k);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (j = 0; j < gap_w; ++j) {
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&blank_block), start_line * 2 * 128 + j);
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&blank_block), start_line * 2 * 128 + gap_w + l * 12 + j);
|
||||||
|
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&blank_block), start_line * 2 * 128 + 128 + j);
|
||||||
|
oled_write_raw_byte(pgm_read_byte(&blank_block), start_line * 2 * 128 + 128 + gap_w + l * 12 + j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void render_cur_input(void) {
|
||||||
|
render_cur_input_helper_fun(0, "INPUTS:", 6, 7);
|
||||||
|
if (is_keyboard_master()) {
|
||||||
|
render_cur_input_helper_fun(1, (const char *)(m2s.current_alp), 12, 6);
|
||||||
|
} else {
|
||||||
|
render_cur_input_helper_fun(1, (const char *)(s2m.current_alp), 12, 6);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool oled_task_kb(void) {
|
||||||
|
if (!oled_task_user()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
render_logo();
|
||||||
|
if (is_keyboard_left()) {
|
||||||
|
render_layer(biton32(layer_state));
|
||||||
|
} else {
|
||||||
|
render_cur_input();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const char PROGMEM code_to_name[0xFF] = {
|
||||||
|
// 0 1 2 3 4 5 6 7 8 9 A B c D E F
|
||||||
|
UNC, UNC, UNC, UNC, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', // 0x
|
||||||
|
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', // 1x
|
||||||
|
'3', '4', '5', '6', '7', '8', '9', '0', UNC, UNC, UNC, UNC, UNC, '-', '=', '[', // 2x
|
||||||
|
']', '\\', '#', ';', '\'', '`', ',', '.', '/', UNC, UNC, UNC, UNC, UNC, UNC, UNC, // 3x
|
||||||
|
UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, // 4x
|
||||||
|
UNC, UNC, UNC, UNC, '/', '*', '-', '+', UNC, '1', '2', '3', '4', '5', '6', '7', // 5x
|
||||||
|
'8', '9', '0', '.', UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, // 6x
|
||||||
|
UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, // 7x
|
||||||
|
UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, // 8x
|
||||||
|
UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, // 9x
|
||||||
|
UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, // Ax
|
||||||
|
UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, // Bx
|
||||||
|
UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, // Cx
|
||||||
|
UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, // Dx
|
||||||
|
UNC, UNC, 'A', 'W', UNC, 'S', UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, // Ex
|
||||||
|
UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC, UNC // Fx
|
||||||
|
};
|
||||||
|
|
||||||
|
void get_cur_alp_hook(uint16_t keycode) {
|
||||||
|
if (keycode >= 0xF0) {
|
||||||
|
keycode = 0xF0;
|
||||||
|
}
|
||||||
|
if (m2s.cur_alp_index < 4) {
|
||||||
|
m2s.current_alp[m2s.cur_alp_index] = pgm_read_byte(&code_to_name[keycode]);
|
||||||
|
if (m2s.cur_alp_index == 1) {
|
||||||
|
m2s.current_alp[2] = m2s.current_alp[3] = m2s.current_alp[4] = UNC;
|
||||||
|
}
|
||||||
|
m2s.cur_alp_index++;
|
||||||
|
} else {
|
||||||
|
for (uint8_t i = 2; i <= 4; ++i) {
|
||||||
|
m2s.current_alp[i - 1] = m2s.current_alp[i];
|
||||||
|
}
|
||||||
|
m2s.current_alp[m2s.cur_alp_index] = pgm_read_byte(&code_to_name[keycode]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
if (record->event.pressed) {
|
||||||
|
get_cur_alp_hook(keycode);
|
||||||
|
}
|
||||||
|
if (!process_record_user(keycode, record)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
switch (keycode) {
|
||||||
|
case TOG_OLED:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
if (is_oled_on()) {
|
||||||
|
oled_off();
|
||||||
|
} else {
|
||||||
|
oled_on();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void matrix_scan_kb(void) {
|
||||||
|
if (!is_oled_on()) {
|
||||||
|
m2s.cur_alp_index = 1;
|
||||||
|
}
|
||||||
|
matrix_scan_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
void user_sync_alpa_slave_handler(uint8_t in_buflen, const void *in_data, uint8_t out_buflen, void *out_data) {
|
||||||
|
const master_to_slave_t *m2s_p = (const master_to_slave_t *)in_data;
|
||||||
|
s2m.cur_alp_index = m2s_p->cur_alp_index;
|
||||||
|
for (size_t i = 0; i < 7; i++) {
|
||||||
|
s2m.current_alp[i] = m2s_p->current_alp[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void keyboard_post_init_kb(void) {
|
||||||
|
transaction_register_rpc(KEYBOARD_CURRENT_ALPA_SYNC, user_sync_alpa_slave_handler);
|
||||||
|
keyboard_post_init_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
void housekeeping_task_kb(void) {
|
||||||
|
if (is_keyboard_master()) {
|
||||||
|
// Interact with slave every 200ms
|
||||||
|
static uint32_t last_sync = 0;
|
||||||
|
if (timer_elapsed32(last_sync) > 200) {
|
||||||
|
if (transaction_rpc_exec(KEYBOARD_CURRENT_ALPA_SYNC, sizeof(m2s), &m2s, sizeof(s2m), &s2m)) {
|
||||||
|
last_sync = timer_read32();
|
||||||
|
dprint("Slave sync successed!\n");
|
||||||
|
} else {
|
||||||
|
dprint("Slave sync failed!\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
housekeeping_task_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef SWAP_HANDS_ENABLE
|
||||||
|
__attribute__((weak))
|
||||||
|
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/* Left hand, matrix positions */
|
||||||
|
{{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}},
|
||||||
|
{{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}},
|
||||||
|
{{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}},
|
||||||
|
{{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}, {6, 9}},
|
||||||
|
{{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 10}, {5, 10}, {6, 10}},
|
||||||
|
{{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 11}, {5, 11}, {6, 11}},
|
||||||
|
|
||||||
|
/* Right hand, matrix positions */
|
||||||
|
{{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}},
|
||||||
|
{{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}},
|
||||||
|
{{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}},
|
||||||
|
{{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}},
|
||||||
|
{{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}},
|
||||||
|
{{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}}
|
||||||
|
};
|
||||||
|
#endif
|
9
keyboards/hotdox76v2/hotdox76v2.h
Normal file
9
keyboards/hotdox76v2/hotdox76v2.h
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// Copyright 2021 JasonRen(biu)
|
||||||
|
// Copyright 2022 Drashna Jael're (@Drashna Jael're)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define TOG_OLED KC_F13
|
224
keyboards/hotdox76v2/info.json
Normal file
224
keyboards/hotdox76v2/info.json
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "JasonRen biu",
|
||||||
|
"keyboard_name": "hotdox76",
|
||||||
|
"maintainer": "Drashna Jael're",
|
||||||
|
"bootloader": "atmel-dfu",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"lto": true,
|
||||||
|
"oled": true,
|
||||||
|
"rgb_matrix": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F7", "F6", "F5", "F4", "F1", "F0", "E6"],
|
||||||
|
"rows": ["D6", "D7", "B4", "B5", "B6", "C6"]
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
|
"soft_serial_pin": "D2"
|
||||||
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"url": "https://github.com/Oh-My-Mechanical-Keyboard",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0xAAA9",
|
||||||
|
"vid": "0xAA96"
|
||||||
|
},
|
||||||
|
"community_layouts": [
|
||||||
|
"ergodox"
|
||||||
|
],
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_ergodox": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "L00", "matrix": [5, 0], "w": 1.5, "x": 0, "y": 0.375 },
|
||||||
|
{ "label": "L01", "matrix": [5, 1], "w": 1, "x": 1.5, "y": 0.375 },
|
||||||
|
{ "label": "L02", "matrix": [5, 2], "w": 1, "x": 2.5, "y": 0.125 },
|
||||||
|
{ "label": "L03", "matrix": [5, 3], "w": 1, "x": 3.5, "y": 0 },
|
||||||
|
{ "label": "L04", "matrix": [5, 4], "w": 1, "x": 4.5, "y": 0.125 },
|
||||||
|
{ "label": "L05", "matrix": [5, 5], "w": 1, "x": 5.5, "y": 0.25 },
|
||||||
|
{ "label": "L06", "matrix": [5, 6], "w": 1, "x": 6.5, "y": 0.25 },
|
||||||
|
|
||||||
|
{ "label": "L10", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 1.375 },
|
||||||
|
{ "label": "L11", "matrix": [4, 1], "w": 1, "x": 1.5, "y": 1.375 },
|
||||||
|
{ "label": "L12", "matrix": [4, 2], "w": 1, "x": 2.5, "y": 1.125 },
|
||||||
|
{ "label": "L13", "matrix": [4, 3], "w": 1, "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "L14", "matrix": [4, 4], "w": 1, "x": 4.5, "y": 1.125 },
|
||||||
|
{ "label": "L15", "matrix": [4, 5], "w": 1, "x": 5.5, "y": 1.25 },
|
||||||
|
{ "label": "L16", "matrix": [4, 6], "w": 1, "x": 6.5, "y": 1.25, "h": 1.5 },
|
||||||
|
|
||||||
|
{ "label": "L20", "matrix": [3, 0], "w": 1.5, "x": 0, "y": 2.375 },
|
||||||
|
{ "label": "L21", "matrix": [3, 1], "w": 1, "x": 1.5, "y": 2.375 },
|
||||||
|
{ "label": "L22", "matrix": [3, 2], "w": 1, "x": 2.5, "y": 2.125 },
|
||||||
|
{ "label": "L23", "matrix": [3, 3], "w": 1, "x": 3.5, "y": 2 },
|
||||||
|
{ "label": "L24", "matrix": [3, 4], "w": 1, "x": 4.5, "y": 2.125 },
|
||||||
|
{ "label": "L25", "matrix": [3, 5], "w": 1, "x": 5.5, "y": 2.25 },
|
||||||
|
|
||||||
|
{ "label": "L30", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 3.375 },
|
||||||
|
{ "label": "L31", "matrix": [2, 1], "w": 1, "x": 1.5, "y": 3.375 },
|
||||||
|
{ "label": "L32", "matrix": [2, 2], "w": 1, "x": 2.5, "y": 3.125 },
|
||||||
|
{ "label": "L33", "matrix": [2, 3], "w": 1, "x": 3.5, "y": 3 },
|
||||||
|
{ "label": "L34", "matrix": [2, 4], "w": 1, "x": 4.5, "y": 3.125 },
|
||||||
|
{ "label": "L35", "matrix": [2, 5], "w": 1, "x": 5.5, "y": 3.25 },
|
||||||
|
{ "label": "L36", "matrix": [2, 6], "w": 1, "x": 6.5, "y": 2.75, "h": 1.5 },
|
||||||
|
|
||||||
|
{ "label": "L40", "matrix": [1, 0], "w": 1, "x": 0.5, "y": 4.375 },
|
||||||
|
{ "label": "L41", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 4.375 },
|
||||||
|
{ "label": "L42", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 4.125 },
|
||||||
|
{ "label": "L43", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 4 },
|
||||||
|
{ "label": "L44", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 4.125 },
|
||||||
|
|
||||||
|
{ "label": "L55", "matrix": [0, 5], "w": 1, "x": 6, "y": 5 },
|
||||||
|
{ "label": "L56", "matrix": [0, 6], "w": 1, "x": 7, "y": 5 },
|
||||||
|
{ "label": "L54", "matrix": [0, 4], "w": 1, "x": 7, "y": 6 },
|
||||||
|
{ "label": "L53", "matrix": [0, 3], "w": 1, "x": 5, "y": 6, "h": 2 },
|
||||||
|
{ "label": "L52", "matrix": [0, 2], "w": 1, "x": 6, "y": 6, "h": 2 },
|
||||||
|
{ "label": "L51", "matrix": [0, 1], "w": 1, "x": 7, "y": 7 },
|
||||||
|
|
||||||
|
{ "label": "R06", "matrix": [11, 6], "w": 1, "x": 9.5, "y": 0.25 },
|
||||||
|
{ "label": "R05", "matrix": [11, 5], "w": 1, "x": 10.5, "y": 0.25 },
|
||||||
|
{ "label": "R04", "matrix": [11, 4], "w": 1, "x": 11.5, "y": 0.125 },
|
||||||
|
{ "label": "R03", "matrix": [11, 3], "w": 1, "x": 12.5, "y": 0 },
|
||||||
|
{ "label": "R02", "matrix": [11, 2], "w": 1, "x": 13.5, "y": 0.125 },
|
||||||
|
{ "label": "R01", "matrix": [11, 1], "w": 1, "x": 14.5, "y": 0.375 },
|
||||||
|
{ "label": "R00", "matrix": [11, 0], "w": 1.5, "x": 15.5, "y": 0.375 },
|
||||||
|
|
||||||
|
{ "label": "R16", "matrix": [10, 6], "w": 1, "x": 9.5, "y": 1.25, "h": 1.5 },
|
||||||
|
{ "label": "R15", "matrix": [10, 5], "w": 1, "x": 10.5, "y": 1.25 },
|
||||||
|
{ "label": "R14", "matrix": [10, 4], "w": 1, "x": 11.5, "y": 1.125 },
|
||||||
|
{ "label": "R13", "matrix": [10, 3], "w": 1, "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "R12", "matrix": [10, 2], "w": 1, "x": 13.5, "y": 1.125 },
|
||||||
|
{ "label": "R11", "matrix": [10, 1], "w": 1, "x": 14.5, "y": 1.375 },
|
||||||
|
{ "label": "R10", "matrix": [10, 0], "w": 1.5, "x": 15.5, "y": 1.375 },
|
||||||
|
|
||||||
|
{ "label": "R25", "matrix": [9, 5], "w": 1, "x": 10.5, "y": 2.25 },
|
||||||
|
{ "label": "R24", "matrix": [9, 4], "w": 1, "x": 11.5, "y": 2.125 },
|
||||||
|
{ "label": "R23", "matrix": [9, 3], "w": 1, "x": 12.5, "y": 2 },
|
||||||
|
{ "label": "R22", "matrix": [9, 2], "w": 1, "x": 13.5, "y": 2.125 },
|
||||||
|
{ "label": "R21", "matrix": [9, 1], "w": 1, "x": 14.5, "y": 2.375 },
|
||||||
|
{ "label": "R20", "matrix": [9, 0], "w": 1.5, "x": 15.5, "y": 2.375 },
|
||||||
|
|
||||||
|
{ "label": "R36", "matrix": [8, 6], "w": 1, "x": 9.5, "y": 2.75, "h": 1.5 },
|
||||||
|
{ "label": "R35", "matrix": [8, 5], "w": 1, "x": 10.5, "y": 3.25 },
|
||||||
|
{ "label": "R34", "matrix": [8, 4], "w": 1, "x": 11.5, "y": 3.125 },
|
||||||
|
{ "label": "R33", "matrix": [8, 3], "w": 1, "x": 12.5, "y": 3 },
|
||||||
|
{ "label": "R32", "matrix": [8, 2], "w": 1, "x": 13.5, "y": 3.125 },
|
||||||
|
{ "label": "R31", "matrix": [8, 1], "w": 1, "x": 14.5, "y": 3.375 },
|
||||||
|
{ "label": "R30", "matrix": [8, 0], "w": 1.5, "x": 15.5, "y": 3.375 },
|
||||||
|
|
||||||
|
{ "label": "R44", "matrix": [7, 4], "w": 1, "x": 11.5, "y": 4.125 },
|
||||||
|
{ "label": "R43", "matrix": [7, 3], "w": 1, "x": 12.5, "y": 4 },
|
||||||
|
{ "label": "R42", "matrix": [7, 2], "w": 1, "x": 13.5, "y": 4.125 },
|
||||||
|
{ "label": "R41", "matrix": [7, 1], "w": 1, "x": 14.5, "y": 4.375 },
|
||||||
|
{ "label": "R40", "matrix": [7, 0], "w": 1, "x": 15.5, "y": 4.375 },
|
||||||
|
|
||||||
|
{ "label": "R56", "matrix": [6, 6], "w": 1, "x": 9, "y": 5 },
|
||||||
|
{ "label": "R55", "matrix": [6, 5], "w": 1, "x": 10, "y": 5 },
|
||||||
|
{ "label": "R54", "matrix": [6, 4], "w": 1, "x": 9, "y": 6 },
|
||||||
|
{ "label": "R51", "matrix": [6, 1], "w": 1, "x": 9, "y": 7 },
|
||||||
|
{ "label": "R52", "matrix": [6, 2], "w": 1, "x": 11, "y": 6, "h": 2 },
|
||||||
|
{ "label": "R53", "matrix": [6, 3], "w": 1, "x": 10, "y": 6, "h": 2 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_ergodox_pretty": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "L00", "matrix": [5, 0], "w": 1.5, "x": 0, "y": 0.375 },
|
||||||
|
{ "label": "L01", "matrix": [5, 1], "w": 1, "x": 1.5, "y": 0.375 },
|
||||||
|
{ "label": "L02", "matrix": [5, 2], "w": 1, "x": 2.5, "y": 0.125 },
|
||||||
|
{ "label": "L03", "matrix": [5, 3], "w": 1, "x": 3.5, "y": 0 },
|
||||||
|
{ "label": "L04", "matrix": [5, 4], "w": 1, "x": 4.5, "y": 0.125 },
|
||||||
|
{ "label": "L05", "matrix": [5, 5], "w": 1, "x": 5.5, "y": 0.25 },
|
||||||
|
{ "label": "L06", "matrix": [5, 6], "w": 1, "x": 6.5, "y": 0.25 },
|
||||||
|
|
||||||
|
{ "label": "R06", "matrix": [11, 6], "w": 1, "x": 9.5, "y": 0.25 },
|
||||||
|
{ "label": "R05", "matrix": [11, 5], "w": 1, "x": 10.5, "y": 0.25 },
|
||||||
|
{ "label": "R04", "matrix": [11, 4], "w": 1, "x": 11.5, "y": 0.125 },
|
||||||
|
{ "label": "R03", "matrix": [11, 3], "w": 1, "x": 12.5, "y": 0 },
|
||||||
|
{ "label": "R02", "matrix": [11, 2], "w": 1, "x": 13.5, "y": 0.125 },
|
||||||
|
{ "label": "R01", "matrix": [11, 1], "w": 1, "x": 14.5, "y": 0.375 },
|
||||||
|
{ "label": "R00", "matrix": [11, 0], "w": 1.5, "x": 15.5, "y": 0.375 },
|
||||||
|
|
||||||
|
{ "label": "L10", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 1.375 },
|
||||||
|
{ "label": "L11", "matrix": [4, 1], "w": 1, "x": 1.5, "y": 1.375 },
|
||||||
|
{ "label": "L12", "matrix": [4, 2], "w": 1, "x": 2.5, "y": 1.125 },
|
||||||
|
{ "label": "L13", "matrix": [4, 3], "w": 1, "x": 3.5, "y": 1 },
|
||||||
|
{ "label": "L14", "matrix": [4, 4], "w": 1, "x": 4.5, "y": 1.125 },
|
||||||
|
{ "label": "L15", "matrix": [4, 5], "w": 1, "x": 5.5, "y": 1.25 },
|
||||||
|
{ "label": "L16", "matrix": [4, 6], "w": 1, "x": 6.5, "y": 1.25, "h": 1.5 },
|
||||||
|
|
||||||
|
{ "label": "R16", "matrix": [10, 6], "w": 1, "x": 9.5, "y": 1.25, "h": 1.5 },
|
||||||
|
{ "label": "R15", "matrix": [10, 5], "w": 1, "x": 10.5, "y": 1.25 },
|
||||||
|
{ "label": "R14", "matrix": [10, 4], "w": 1, "x": 11.5, "y": 1.125 },
|
||||||
|
{ "label": "R13", "matrix": [10, 3], "w": 1, "x": 12.5, "y": 1 },
|
||||||
|
{ "label": "R12", "matrix": [10, 2], "w": 1, "x": 13.5, "y": 1.125 },
|
||||||
|
{ "label": "R11", "matrix": [10, 1], "w": 1, "x": 14.5, "y": 1.375 },
|
||||||
|
{ "label": "R10", "matrix": [10, 0], "w": 1.5, "x": 15.5, "y": 1.375 },
|
||||||
|
|
||||||
|
{ "label": "L20", "matrix": [3, 0], "w": 1.5, "x": 0, "y": 2.375 },
|
||||||
|
{ "label": "L21", "matrix": [3, 1], "w": 1, "x": 1.5, "y": 2.375 },
|
||||||
|
{ "label": "L22", "matrix": [3, 2], "w": 1, "x": 2.5, "y": 2.125 },
|
||||||
|
{ "label": "L23", "matrix": [3, 3], "w": 1, "x": 3.5, "y": 2 },
|
||||||
|
{ "label": "L24", "matrix": [3, 4], "w": 1, "x": 4.5, "y": 2.125 },
|
||||||
|
{ "label": "L25", "matrix": [3, 5], "w": 1, "x": 5.5, "y": 2.25 },
|
||||||
|
|
||||||
|
{ "label": "R25", "matrix": [9, 5], "w": 1, "x": 10.5, "y": 2.25 },
|
||||||
|
{ "label": "R24", "matrix": [9, 4], "w": 1, "x": 11.5, "y": 2.125 },
|
||||||
|
{ "label": "R23", "matrix": [9, 3], "w": 1, "x": 12.5, "y": 2 },
|
||||||
|
{ "label": "R22", "matrix": [9, 2], "w": 1, "x": 13.5, "y": 2.125 },
|
||||||
|
{ "label": "R21", "matrix": [9, 1], "w": 1, "x": 14.5, "y": 2.375 },
|
||||||
|
{ "label": "R20", "matrix": [9, 0], "w": 1.5, "x": 15.5, "y": 2.375 },
|
||||||
|
|
||||||
|
{ "label": "L30", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 3.375 },
|
||||||
|
{ "label": "L31", "matrix": [2, 1], "w": 1, "x": 1.5, "y": 3.375 },
|
||||||
|
{ "label": "L32", "matrix": [2, 2], "w": 1, "x": 2.5, "y": 3.125 },
|
||||||
|
{ "label": "L33", "matrix": [2, 3], "w": 1, "x": 3.5, "y": 3 },
|
||||||
|
{ "label": "L34", "matrix": [2, 4], "w": 1, "x": 4.5, "y": 3.125 },
|
||||||
|
{ "label": "L35", "matrix": [2, 5], "w": 1, "x": 5.5, "y": 3.25 },
|
||||||
|
{ "label": "L36", "matrix": [2, 6], "w": 1, "x": 6.5, "y": 2.75, "h": 1.5 },
|
||||||
|
|
||||||
|
{ "label": "R36", "matrix": [8, 6], "w": 1, "x": 9.5, "y": 2.75, "h": 1.5 },
|
||||||
|
{ "label": "R35", "matrix": [8, 5], "w": 1, "x": 10.5, "y": 3.25 },
|
||||||
|
{ "label": "R34", "matrix": [8, 4], "w": 1, "x": 11.5, "y": 3.125 },
|
||||||
|
{ "label": "R33", "matrix": [8, 3], "w": 1, "x": 12.5, "y": 3 },
|
||||||
|
{ "label": "R32", "matrix": [8, 2], "w": 1, "x": 13.5, "y": 3.125 },
|
||||||
|
{ "label": "R31", "matrix": [8, 1], "w": 1, "x": 14.5, "y": 3.375 },
|
||||||
|
{ "label": "R30", "matrix": [8, 0], "w": 1.5, "x": 15.5, "y": 3.375 },
|
||||||
|
|
||||||
|
{ "label": "L40", "matrix": [1, 0], "w": 1, "x": 0.5, "y": 4.375 },
|
||||||
|
{ "label": "L41", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 4.375 },
|
||||||
|
{ "label": "L42", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 4.125 },
|
||||||
|
{ "label": "L43", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 4 },
|
||||||
|
{ "label": "L44", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 4.125 },
|
||||||
|
|
||||||
|
{ "label": "R44", "matrix": [7, 4], "w": 1, "x": 11.5, "y": 4.125 },
|
||||||
|
{ "label": "R43", "matrix": [7, 3], "w": 1, "x": 12.5, "y": 4 },
|
||||||
|
{ "label": "R42", "matrix": [7, 2], "w": 1, "x": 13.5, "y": 4.125 },
|
||||||
|
{ "label": "R41", "matrix": [7, 1], "w": 1, "x": 14.5, "y": 4.375 },
|
||||||
|
{ "label": "R40", "matrix": [7, 0], "w": 1, "x": 15.5, "y": 4.375 },
|
||||||
|
|
||||||
|
{ "label": "L55", "matrix": [0, 5], "w": 1, "x": 6, "y": 5 },
|
||||||
|
{ "label": "L56", "matrix": [0, 6], "w": 1, "x": 7, "y": 5 },
|
||||||
|
|
||||||
|
{ "label": "R56", "matrix": [6, 6], "w": 1, "x": 9, "y": 5 },
|
||||||
|
{ "label": "R55", "matrix": [6, 5], "w": 1, "x": 10, "y": 5 },
|
||||||
|
|
||||||
|
{ "label": "L54", "matrix": [0, 4], "w": 1, "x": 7, "y": 6 },
|
||||||
|
|
||||||
|
{ "label": "R54", "matrix": [6, 4], "w": 1, "x": 9, "y": 6 },
|
||||||
|
|
||||||
|
{ "label": "L53", "matrix": [0, 3], "w": 1, "x": 5, "y": 6,"h": 2 },
|
||||||
|
{ "label": "L52", "matrix": [0, 2], "w": 1, "x": 6, "y": 6,"h": 2 },
|
||||||
|
{ "label": "L51", "matrix": [0, 1], "w": 1, "x": 7, "y": 7 },
|
||||||
|
|
||||||
|
{ "label": "R51", "matrix": [6, 1], "w": 1, "x": 9, "y": 7 },
|
||||||
|
{ "label": "R52", "matrix": [6, 2], "w": 1, "x": 11, "y": 6, "h": 2 },
|
||||||
|
{ "label": "R53", "matrix": [6, 3], "w": 1, "x": 10, "y": 6, "h": 2 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
35
keyboards/hotdox76v2/keymaps/default/keymap.c
Normal file
35
keyboards/hotdox76v2/keymaps/default/keymap.c
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
// Copyright 2021 JasonRen(biu)
|
||||||
|
// Copyright 2022 Drashna Jael're (@Drashna Jael're)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/*
|
||||||
|
* ┌──────┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬──────┐
|
||||||
|
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ = │ │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │
|
||||||
|
* ├──────┼───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┼──────┤
|
||||||
|
* │ Tab │ Q │ W │ E │ R │ T │ = │ │ Y │ Y │ U │ I │ O │ P │ \ │
|
||||||
|
* ├──────┼───┼───┼───┼───┼───┤ │ │ ├───┼───┼───┼───┼───┼──────┤
|
||||||
|
* │Escape│ A │ S │ D │ F │ G ├───┤ ├───┤ H │ J │ K │ L │ ; │ ' │
|
||||||
|
* ├──────┼───┼───┼───┼───┼───┤ │ │ ├───┼───┼───┼───┼───┼──────┤
|
||||||
|
* │Shift │ Z │ X │ C │ V │ B │ B │ │ N │ N │ M │ , │ . │ / │ Shift│
|
||||||
|
* └──┬───┼───┼───┼───┼───┼───┴───┘ ┌───┬───┐ ┌───┬───┐ └───┴───┼───┼───┼───┼───┼───┬──┘
|
||||||
|
* │Ctl│F4 │F5 │GUI│Alt│ │ C │ V │ │Alt│ A │ │ ← │ ↓ │ ↑ │ → │GUI│
|
||||||
|
* └───┴───┴───┴───┴───┘ ┌───┼───┼───┤ ├───┼───┼───┐ └───┴───┴───┴───┴───┘
|
||||||
|
* │ │ │PgU│ │PgD│ │ │
|
||||||
|
* │Bsp│Bsp├───┤ ├───┤Ent│ │
|
||||||
|
* │ │ │Del│ │Ctl│ │ │
|
||||||
|
* └───┴───┴───┘ └───┴───┴───┘
|
||||||
|
*/
|
||||||
|
[0] = LAYOUT_ergodox_pretty(
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_EQL, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||||
|
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
KC_LCTL, KC_F4, KC_F5, KC_LGUI, KC_LALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RGUI,
|
||||||
|
KC_C, KC_V, KC_RALT, KC_A,
|
||||||
|
KC_PGUP, KC_PGDN,
|
||||||
|
KC_BSPC, KC_BSPC, KC_DEL, KC_RCTL, KC_ENT, KC_SPC
|
||||||
|
)
|
||||||
|
};
|
179
keyboards/hotdox76v2/keymaps/via/keymap.c
Normal file
179
keyboards/hotdox76v2/keymaps/via/keymap.c
Normal file
@ -0,0 +1,179 @@
|
|||||||
|
// Copyright 2021 JasonRen(biu)
|
||||||
|
// Copyright 2022 Drashna Jael're (@Drashna Jael're)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
enum Layer_name {
|
||||||
|
HOME,
|
||||||
|
CODE,
|
||||||
|
OFFICE,
|
||||||
|
OTHER
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/* Keymap 0: Basic layer
|
||||||
|
*
|
||||||
|
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||||
|
* | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
|
||||||
|
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||||
|
* | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
|
||||||
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
|
* | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd |
|
||||||
|
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||||
|
* | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
|
||||||
|
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||||
|
* |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
|
||||||
|
* `----------------------------------' `----------------------------------'
|
||||||
|
* ,-------------. ,-------------.
|
||||||
|
* | App | LGui | | Alt |Ctrl/Esc|
|
||||||
|
* ,------|------|------| |------+--------+------.
|
||||||
|
* | | | Home | | PgUp | | |
|
||||||
|
* | Space|Backsp|------| |------| Tab |Enter |
|
||||||
|
* | |ace | End | | PgDn | | |
|
||||||
|
* `--------------------' `----------------------'
|
||||||
|
*/
|
||||||
|
LAYOUT_ergodox(
|
||||||
|
// left hand
|
||||||
|
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
|
||||||
|
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1),
|
||||||
|
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||||
|
KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
|
||||||
|
LT(1,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
|
||||||
|
ALT_T(KC_APP), KC_LGUI,
|
||||||
|
KC_HOME,
|
||||||
|
KC_SPC,KC_BSPC,KC_END,
|
||||||
|
// right hand
|
||||||
|
KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||||
|
TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||||
|
KC_H, KC_J, KC_K, KC_L, LT(2, KC_SCLN), GUI_T(KC_QUOT),
|
||||||
|
MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
|
||||||
|
KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TT(1),
|
||||||
|
KC_LALT, CTL_T(KC_ESC),
|
||||||
|
KC_PGUP,
|
||||||
|
KC_PGDN,KC_TAB, KC_ENT
|
||||||
|
),
|
||||||
|
/* Keymap 1: Symbol Layer
|
||||||
|
*
|
||||||
|
* ,---------------------------------------------------. ,--------------------------------------------------.
|
||||||
|
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||||
|
* |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||||
|
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
|
||||||
|
* |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
|
* | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
|
||||||
|
* |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
|
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
|
||||||
|
* `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||||
|
* | | | | | | | | . | 0 | = | |
|
||||||
|
* `-----------------------------------' `----------------------------------'
|
||||||
|
* ,-------------. ,-------------.
|
||||||
|
* |Animat| | |Toggle| |
|
||||||
|
* ,------|------|------| |------+------+------.
|
||||||
|
* |Bright|Bright| | | |Hue- |Hue+ |
|
||||||
|
* |ness- |ness+ |------| |------| | |
|
||||||
|
* | | | | | | | |
|
||||||
|
* `--------------------' `--------------------'
|
||||||
|
*/
|
||||||
|
LAYOUT_ergodox(
|
||||||
|
// left hand
|
||||||
|
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
|
||||||
|
KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
|
||||||
|
KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
|
||||||
|
KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS,
|
||||||
|
TOG_OLED, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
RGB_MOD,KC_TRNS,
|
||||||
|
KC_TRNS,
|
||||||
|
RGB_VAD,RGB_VAI,KC_TRNS,
|
||||||
|
// right hand
|
||||||
|
KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||||
|
KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
|
||||||
|
KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
|
||||||
|
KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
|
||||||
|
RGB_TOG, KC_TRNS,
|
||||||
|
KC_TRNS,
|
||||||
|
KC_TRNS, RGB_HUD, RGB_HUI
|
||||||
|
),
|
||||||
|
/* Keymap 2: Media and mouse keys
|
||||||
|
*
|
||||||
|
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||||
|
* | | | | | | | | | | | | | | | |
|
||||||
|
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||||
|
* | | | | | | | | | | | | | | | |
|
||||||
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
|
* | | | | | | |------| |------| | | | | | Play |
|
||||||
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
|
* | | | | | | | | | | | | Prev | Next | | |
|
||||||
|
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||||
|
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||||
|
* `----------------------------------' `----------------------------------'
|
||||||
|
* ,-------------. ,-------------.
|
||||||
|
* | | | | | |
|
||||||
|
* ,------|------|------| |------+------+------.
|
||||||
|
* | | | | | | |Brwser|
|
||||||
|
* | | |------| |------| |Back |
|
||||||
|
* | | | | | | | |
|
||||||
|
* `--------------------' `--------------------'
|
||||||
|
*/
|
||||||
|
LAYOUT_ergodox(
|
||||||
|
// left hand
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
|
||||||
|
KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
// right hand
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
|
||||||
|
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_WBAK
|
||||||
|
),
|
||||||
|
/* Keymap 3: Empty
|
||||||
|
*
|
||||||
|
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||||
|
* | | | | | | | | | | | | | | | |
|
||||||
|
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||||
|
* | | | | | | | | | | | | | | | |
|
||||||
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
|
* | | | | | | |------| |------| | | | | | |
|
||||||
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
|
* | | | | | | | | | | | | | | | |
|
||||||
|
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||||
|
* | | | | | | | | | | | |
|
||||||
|
* `----------------------------------' `----------------------------------'
|
||||||
|
* ,-------------. ,-------------.
|
||||||
|
* | | | | | |
|
||||||
|
* ,------|------|------| |------+------+------.
|
||||||
|
* | | | | | | | |
|
||||||
|
* | | |------| |------| | |
|
||||||
|
* | | | | | | | |
|
||||||
|
* `--------------------' `--------------------'
|
||||||
|
*/
|
||||||
|
LAYOUT_ergodox(
|
||||||
|
// left hand
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
// right hand
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
3
keyboards/hotdox76v2/keymaps/via/rules.mk
Normal file
3
keyboards/hotdox76v2/keymaps/via/rules.mk
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
SPACE_CADET_ENABLE = no
|
||||||
|
GRAVE_ESC_ENABLE = no
|
122
keyboards/hotdox76v2/oled_font_lib/ext_font.h
Normal file
122
keyboards/hotdox76v2/oled_font_lib/ext_font.h
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
// Copyright 2021 JasonRen(biu)
|
||||||
|
// Copyright 2022 Drashna Jael're (@Drashna Jael're)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "progmem.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
!(0) "(1) #(2) $(3) %(4) &(5) '(6) ((7)
|
||||||
|
)(8) *(9) +(10) ,(11) -(12) .(13) /(14) 0(15)
|
||||||
|
1(16) 2(17) 3(18) 4(19) 5(20) 6(21) 7(22) 8(23)
|
||||||
|
9(24) :(25) ;(26) <(27) =(28) >(29) ?(30) @(31)
|
||||||
|
A(32) B(33) C(34) D(35) E(36) F(37) G(38) H(39)
|
||||||
|
I(40) J(41) K(42) L(43) M(44) N(45) O(46) P(47)
|
||||||
|
Q(48) R(49) S(50) T(51) U(52) V(53) W(54) X(55)
|
||||||
|
Y(56) Z(57) [(58) \(59) ](60) ^(61) _(62) `(63)
|
||||||
|
a(64) b(65) c(66) d(67) e(68) f(69) g(70) h(71)
|
||||||
|
i(72) j(73) k(74) l(75) m(76) n(77) o(78) p(79)
|
||||||
|
q(80) r(81) s(82) t(83) u(84) v(85) w(86) x(87)
|
||||||
|
y(88) z(89) {(90) |(91) }(92) ~(93) (94)
|
||||||
|
*/
|
||||||
|
|
||||||
|
static const unsigned char ext_big_font[95][24] PROGMEM = {
|
||||||
|
{0x00,0x00,0x00,0x00,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00},/*"!",0*/
|
||||||
|
{0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",1*/
|
||||||
|
{0x00,0x00,0x60,0x60,0xFE,0xFE,0x60,0xFE,0xFE,0x60,0x00,0x00,0x00,0x00,0x06,0x7F,0x7F,0x06,0x7F,0x7F,0x06,0x06,0x00,0x00},/*"#",2*/
|
||||||
|
{0x00,0x00,0x00,0xF0,0xF8,0x9E,0x9E,0xB8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0xF9,0xF9,0x1F,0x0F,0x00,0x00,0x00},/*"$",3*/
|
||||||
|
{0x00,0x00,0x38,0x44,0xC4,0xC4,0xB8,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00,0x00},/*"%",4*/
|
||||||
|
{0x00,0x00,0x60,0xE0,0xB0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x0E,0x0F,0x19,0x19,0x1B,0x1E,0x0E,0x0F,0x1B,0x00,0x00},/*"&",5*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",6*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x3C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x78,0x60,0x00,0x00,0x00},/*"(",7*/
|
||||||
|
{0x00,0x00,0x0C,0x3C,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x78,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*")",8*/
|
||||||
|
{0x00,0x00,0x30,0xB0,0xF0,0xFC,0xFC,0xF0,0xB0,0x30,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00},/*"*",9*/
|
||||||
|
{0x00,0x80,0x80,0x80,0x80,0xF8,0xF8,0x80,0x80,0x80,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x1F,0x1F,0x01,0x01,0x01,0x01,0x00},/*"+",10*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x38,0x08,0x00,0x00,0x00,0x00,0x00},/*",",11*/
|
||||||
|
{0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00},/*"-",12*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*".",13*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x78,0x1E,0x06,0x00,0x00,0x00,0x00,0x60,0x78,0x1E,0x07,0x01,0x00,0x00,0x00,0x00,0x00},/*"/",14*/
|
||||||
|
{0x00,0x00,0xF0,0xF8,0x1C,0x0C,0x1C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1C,0x0F,0x07,0x00,0x00,0x00},/*"0",15*/
|
||||||
|
{0x00,0x00,0x18,0x18,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"1",16*/
|
||||||
|
{0x00,0x00,0x30,0x38,0x0C,0x0C,0x8C,0xF8,0x70,0x00,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x19,0x18,0x18,0x00,0x00,0x00},/*"2",17*/
|
||||||
|
{0x00,0x00,0x18,0x1C,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x19,0x0F,0x07,0x00,0x00,0x00},/*"3",18*/
|
||||||
|
{0x00,0x00,0xC0,0xE0,0x78,0x1C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x1B,0x1B,0x1F,0x1F,0x1B,0x00,0x00,0x00},/*"4",19*/
|
||||||
|
{0x00,0x00,0xFC,0xFC,0xCC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"5",20*/
|
||||||
|
{0x00,0x00,0xE0,0xF0,0xB8,0xDC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x19,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"6",21*/
|
||||||
|
{0x00,0x00,0x1C,0x1C,0x0C,0x0C,0xCC,0xFC,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1F,0x03,0x00,0x00,0x00,0x00},/*"7",22*/
|
||||||
|
{0x00,0x00,0x38,0xFC,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"8",23*/
|
||||||
|
{0x00,0x00,0xF8,0xFC,0x8C,0x8C,0xCC,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x18,0x19,0x19,0x1D,0x0E,0x07,0x03,0x00,0x00,0x00},/*"9",24*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*":",25*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x18,0x08,0x00,0x00,0x00,0x00,0x00},/*";",26*/
|
||||||
|
{0x00,0x00,0x00,0x80,0x80,0xC0,0x60,0x60,0x30,0x30,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x06,0x0C,0x0C,0x18,0x18,0x00,0x00},/*"<",27*/
|
||||||
|
{0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00},/*"=",28*/
|
||||||
|
{0x00,0x30,0x30,0x60,0x60,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x0C,0x0C,0x06,0x03,0x03,0x01,0x01,0x00,0x00},/*">",29*/
|
||||||
|
{0x00,0x00,0x70,0x78,0x18,0x18,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x01,0x01,0x00,0x00,0x00,0x00},/*"?",30*/
|
||||||
|
{0x00,0x00,0xF0,0x08,0xC4,0x24,0x24,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x21,0x22,0x22,0x13,0x00,0x00,0x00,0x00},/*"@",31*/
|
||||||
|
{0x00,0x00,0x18,0x98,0xF8,0x38,0x38,0xF0,0x80,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x1B,0x03,0x03,0x1B,0x1F,0x1C,0x18,0x00},/*"A",32*/
|
||||||
|
{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x19,0x1F,0x0E,0x00,0x00},/*"B",33*/
|
||||||
|
{0x00,0xE0,0xF0,0x38,0x18,0x18,0x18,0x10,0x78,0x78,0x00,0x00,0x00,0x07,0x0F,0x0C,0x18,0x18,0x18,0x18,0x0C,0x0C,0x00,0x00},/*"C",34*/
|
||||||
|
{0x00,0x18,0xF8,0xF8,0x18,0x18,0x18,0x38,0xF0,0xE0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"D",35*/
|
||||||
|
{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x18,0x1E,0x1E,0x00,0x00},/*"E",36*/
|
||||||
|
{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00},/*"F",37*/
|
||||||
|
{0x00,0xE0,0xF0,0x38,0x18,0x18,0x10,0x38,0x38,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1B,0x1B,0x1F,0x0F,0x03,0x00,0x00},/*"G",38*/
|
||||||
|
{0x00,0x18,0xF8,0xF8,0x98,0x80,0x98,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x19,0x1F,0x1F,0x18,0x00,0x00},/*"H",39*/
|
||||||
|
{0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"I",40*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x0F,0x0F,0x18,0x18,0x18,0x0F,0x0F,0x00,0x00,0x00},/*"J",41*/
|
||||||
|
{0x00,0x18,0xF8,0xF8,0x98,0xC0,0x78,0x38,0x18,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x07,0x1E,0x18,0x18,0x00,0x00},/*"K",42*/
|
||||||
|
{0x00,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1F,0x1F,0x00,0x00},/*"L",43*/
|
||||||
|
{0x18,0xF8,0xF8,0x38,0xE0,0x00,0xE0,0x38,0xF8,0xF8,0x18,0x00,0x18,0x1F,0x1F,0x18,0x19,0x03,0x19,0x18,0x1F,0x1F,0x18,0x00},/*"M",44*/
|
||||||
|
{0x00,0x18,0xF8,0xF8,0xF8,0xE0,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x03,0x1F,0x1F,0x1F,0x00,0x00,0x00},/*"N",45*/
|
||||||
|
{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0x0C,0x18,0x18,0x18,0x0C,0x0F,0x03,0x00,0x00},/*"O",46*/
|
||||||
|
{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x01,0x00,0x00,0x00,0x00},/*"P",47*/
|
||||||
|
{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0xCC,0xF8,0x78,0x78,0xCC,0xEF,0x63,0x00,0x00},/*"Q",48*/
|
||||||
|
{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x07,0x0E,0x1C,0x18,0x00,0x00},/*"R",49*/
|
||||||
|
{0x00,0x00,0x70,0xF8,0x98,0x98,0x90,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x09,0x19,0x19,0x1F,0x0E,0x00,0x00,0x00},/*"S",50*/
|
||||||
|
{0x00,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"T",51*/
|
||||||
|
{0x00,0x18,0xF8,0xF8,0x18,0x00,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"U",52*/
|
||||||
|
{0x00,0x18,0x78,0xF8,0x98,0x00,0x98,0xF8,0x78,0x18,0x00,0x00,0x00,0x00,0x00,0x03,0x1F,0x18,0x1F,0x03,0x00,0x00,0x00,0x00},/*"V",53*/
|
||||||
|
{0x18,0xF8,0xF8,0x18,0xD8,0xC0,0xD8,0x18,0xF8,0xF8,0x18,0x00,0x00,0x01,0x1F,0x1C,0x1F,0x01,0x1F,0x1C,0x1F,0x01,0x00,0x00},/*"W",54*/
|
||||||
|
{0x00,0x18,0x38,0x78,0xD8,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x01,0x1B,0x1E,0x1C,0x18,0x00,0x00},/*"X",55*/
|
||||||
|
{0x00,0x18,0x38,0x78,0xD8,0x80,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"Y",56*/
|
||||||
|
{0x00,0x00,0x78,0x78,0x18,0x98,0xD8,0x78,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1E,0x1B,0x19,0x18,0x1E,0x1E,0x00,0x00,0x00},/*"Z",57*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x60,0x60,0x00,0x00,0x00},/*"[",58*/
|
||||||
|
{0x00,0x00,0x06,0x1E,0x78,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x1E,0x78,0x60,0x00,0x00},/*"\",59*/
|
||||||
|
{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"]",60*/
|
||||||
|
{0x00,0x00,0x00,0x60,0x70,0x18,0x0C,0x18,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",61*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"_",62*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x02,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",63*/
|
||||||
|
{0x00,0x00,0x00,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x0E,0x1F,0x1B,0x1B,0x0B,0x1F,0x1F,0x18,0x00,0x00},/*"a",64*/
|
||||||
|
{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x18,0x1F,0x1F,0x0C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"b",65*/
|
||||||
|
{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xC0,0xE0,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x18,0x18,0x0C,0x00,0x00},/*"c",66*/
|
||||||
|
{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xCC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"d",67*/
|
||||||
|
{0x00,0x00,0x80,0xC0,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1B,0x1B,0x1B,0x1B,0x1B,0x0B,0x00,0x00},/*"e",68*/
|
||||||
|
{0x00,0x00,0x60,0x60,0xF8,0xFC,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"f",69*/
|
||||||
|
{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0xDC,0xD8,0xD8,0xCC,0xFF,0x7F,0x00,0x00},/*"g",70*/
|
||||||
|
{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"h",71*/
|
||||||
|
{0x00,0x00,0x00,0x60,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"i",72*/
|
||||||
|
{0x00,0x00,0x60,0x60,0x60,0x6C,0x6C,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00},/*"j",73*/
|
||||||
|
{0x00,0x00,0x0C,0xFC,0xFC,0x80,0xE0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x03,0x06,0x1C,0x18,0x18,0x00,0x00},/*"k",74*/
|
||||||
|
{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"l",75*/
|
||||||
|
{0x00,0x60,0xE0,0xE0,0x60,0xE0,0xC0,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x00,0x1F,0x1F,0x00,0x1F,0x1F,0x18,0x00},/*"m",76*/
|
||||||
|
{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"n",77*/
|
||||||
|
{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"o",78*/
|
||||||
|
{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xCC,0xD8,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"p",79*/
|
||||||
|
{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0xD8,0xCC,0xFF,0xFF,0xC0,0x00},/*"q",80*/
|
||||||
|
{0x00,0x00,0x60,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"r",81*/
|
||||||
|
{0x00,0x00,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x1D,0x1D,0x1B,0x1B,0x1B,0x1E,0x0E,0x00,0x00,0x00},/*"s",82*/
|
||||||
|
{0x00,0x00,0x60,0x60,0xFC,0xFC,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x00,0x00},/*"t",83*/
|
||||||
|
{0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"u",84*/
|
||||||
|
{0x00,0x60,0xE0,0xE0,0x60,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x18,0x1F,0x07,0x00,0x00,0x00,0x00},/*"v",85*/
|
||||||
|
{0x60,0xE0,0xE0,0x60,0x00,0x80,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x01,0x1F,0x1E,0x07,0x03,0x07,0x1E,0x1F,0x01,0x00,0x00},/*"w",86*/
|
||||||
|
{0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x03,0x03,0x1F,0x1C,0x18,0x00,0x00},/*"x",87*/
|
||||||
|
{0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0xC0,0xC0,0xC1,0xE7,0xFE,0xDC,0xC7,0x03,0x00,0x00,0x00},/*"y",88*/
|
||||||
|
{0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x1B,0x19,0x1C,0x1C,0x00,0x00},/*"z",89*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0xF8,0xFC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x3F,0x7E,0x60,0x00,0x00,0x00,0x00},/*"{",90*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"|",91*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x0C,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7E,0x3F,0x01,0x00,0x00,0x00,0x00},/*"}",92*/
|
||||||
|
{0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x03,0x03,0x03,0x01,0x00,0x00},/*"~",93*/
|
||||||
|
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",94*/
|
||||||
|
};
|
||||||
|
|
||||||
|
static const unsigned char blank_block PROGMEM = 0x00;
|
14
keyboards/hotdox76v2/oled_font_lib/logo2.h
Normal file
14
keyboards/hotdox76v2/oled_font_lib/logo2.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Copyright 2021 JasonRen(biu)
|
||||||
|
// Copyright 2022 Drashna Jael're (@Drashna Jael're)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "progmem.h"
|
||||||
|
|
||||||
|
static const unsigned char logo_mouse[] PROGMEM = {
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xAA,0xA8,0xA8,0xAA,0xAA,0xA8,0xA0,0xA0,0x00,0x00,0x00,\
|
||||||
|
0x00,0x00,0x00,0x00,0x80,0xA0,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA0,0xA0,0xA0,0xA0,0xA0,0xA0,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x80,0x00,0x00,0x00,0x00,\
|
||||||
|
0x00,0x00,0x00,0x2A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x0A,0x02,0x00,0x00,0x00,0x00,\
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x02,0x2A,0x2A,0x2A,0x2A,0x0A,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x0A,0x2A,0x2A,0x2A,0x2A,0x02,0x00,0x00,0x00,0x00,0x00,0x00
|
||||||
|
};
|
25
keyboards/hotdox76v2/readme.md
Normal file
25
keyboards/hotdox76v2/readme.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# hotdox76
|
||||||
|
|
||||||
|
*An Ergodox style keyboard with per key RGB.*
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Drashna Jael're](https://github.com/Drashna Jael're)
|
||||||
|
* Hardware Supported: Hotdox 76v2
|
||||||
|
* Hardware Availability: https://github.com/Oh-My-Mechanical-Keyboard
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make hotdox76v2:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make hotdox76v2: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
|
1
keyboards/hotdox76v2/rules.mk
Normal file
1
keyboards/hotdox76v2/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
RGB_MATRIX_DRIVER = WS2812
|
Loading…
Reference in New Issue
Block a user