Edit new revision for Kanagawa

This commit is contained in:
Ciaanh 2023-04-14 01:22:54 +02:00
parent 5bd4130a2e
commit 3490b0268f
36 changed files with 1416 additions and 103 deletions

View File

@ -0,0 +1,43 @@
#include "kanagawa.h"
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_LED_COUNT 82
led_config_t g_led_config = {
{
// Key Matrix to LED Index
{ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, NA },
{ 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13 },
{ 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27 },
{ 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 65 },
{ 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 68, 66 },
{ 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 67 }
},
{
// LED Index to Physical Position
{0,157}, {0,145}, {0,134}, {0,122}, {0,105}, {0,93}, {0,81}, {0,70}, {0,52}, {0,41}, {0,29}, {0,17}, {0,0},
{14,157}, {14,140}, {14,128}, {14,116}, {14,105}, {14,93}, {14,81}, {14,70}, {14,58}, {14,47}, {14,35}, {14,23}, {14,12}, {14,0},
{28,157}, {28,148}, {28,134}, {28,122}, {28,111}, {28,99}, {28,87}, {28,76}, {28,64}, {28,52}, {28,41}, {28,29}, {28,17}, {28,3},
{42,156}, {42,137}, {42,125}, {42,113}, {42,102}, {42,90}, {42,79}, {42,67}, {42,55}, {42,44}, {42,32}, {42,20}, {42,4},
{56,131}, {56,119}, {56,108}, {56,96}, {56,84}, {56,73}, {56,61}, {56,49}, {56,38}, {56,26}, {56,7},
{14,186},
{28,186},
{42,186},
{60,166}, {56,147},
{74,177}, {74,166}, {74,154}, {70,140}, {70,128}, {70,116}, {77,95}, {77,68}, {70,58}, {70,26}, {70,13}, {70,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, 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, 4, 4, 4, 4, 4, 4,
4,
4,
4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
}};
#endif

View File

@ -0,0 +1 @@
#pragma once

View File

@ -0,0 +1,234 @@
#include QMK_KEYBOARD_H
/* Keyboard layout
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
* | ka0 | | ka1 | ka2 | ka3 | ka4 | | ka5 | ka6 | ka7 | ka8 | | ka9 | ka10 | ka11 | ka12 | | sw99 |
* `---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------'
* ,-------------------------------------------------------------------------------------------------------------------------------------------. ,---------.
* | kb0 | kb1 | kb2 | kb3 | kb4 | kb5 | kb6 | kb7 | kb8 | kb9 | kb10 | kb11 | kb12 | kb13 | | kd13 |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| |---------|
* | kc0 | kc1 | kc2 | kc3 | kc4 | kc5 | kc6 | kc7 | kc8 | kc9 | kc10 | kc11 | kc12 | kc13 | | ke13 |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' |---------|
* | kd0 | kd1 | kd2 | kd3 | kd4 | kd5 | kd6 | kd7 | kd8 | kd9 | kd10 | kd11 | kd12 | | kf13 |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'---------' `---------'
* | ke0 | --- | ke2 | ke3 | ke4 | ke5 | ke6 | ke7 | ke8 | ke9 | ke10 | ke11 | ke12 | ,---------.
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | kf12 |
* | kf0 | kf1 | kf2 | kf3 | ,---------. ,---------. | kf6 | kf7 | kf8 | ,---------|---------|---------.
* `---------+---------+---------+---------+ | kf4 | | kf5 | +---------+---------+---------' | kf9 | kf10 | kf11 |
* `---------' `---------' `---------+---------+---------'
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap: BASE
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
* | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | ENCODER |
* `---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------'
* ,-------------------------------------------------------------------------------------------------------------------------------------------. ,---------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Backspace| | Delete |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| |---------|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | HOME |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' |---------|
* | CapsL | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | | END |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'---------' `---------'
* | LShift | --- | Z | X | C | V | B | N | M | , | . | / | RShift | ,---------.
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | UP |
* | LCtrl | LGUI | LAlt | Func | ,---------. ,---------. | RAlt | CODE | RCtrl | ,---------|---------|---------.
* |---------+---------+---------+---------+ | Space | | Space | +---------+---------+---------' | LEFT | DOWN | RIGHT |
* `---------' `---------' `---------+---------+---------'
*/
[_BASE] = LAYOUT_ansi(
KC_ESC, 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_MPLY, \
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_LBRC, KC_RBRC, KC_BSLS, KC_HOME, \
KC_CAPS, KC_A, LT(0,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END, \
KC_LSFT, XXXXXXX, KC_Z, LT(0,KC_X), LT(0,KC_C), LT(0,KC_V), KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
KC_LCTL, KC_LGUI, KC_LALT, L_FNC, KC_SPC, KC_SPC, KC_RALT, TO_CODE, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
),
[_FUNC] = LAYOUT_ansi(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
_SCRNSHOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
),
[_CODE] = LAYOUT_ansi(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, \
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, TO_BASE, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI \
),
};
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
#ifdef OLED_ENABLE
// oled_rotation_t oled_init_user(oled_rotation_t rotation) {
// return OLED_ROTATION_180;
// }
static void render_status(void) {
// 21 characters per line
// 16 cols / 4 rows
oled_write_P(PSTR(" Kanagawa rev 2.0 "), false);
//oled_write_ln("", false);
// Host Keyboard Layer Status
oled_write_P(PSTR("Layer: "), false);
switch (get_highest_layer(layer_state)) {
case _BASE:
oled_write_P(PSTR("_\n"), false);
break;
case _FUNC:
oled_write_P(PSTR("[Fn]\n"), false);
break;
case _CODE:
oled_write_P(PSTR("[Code]\n"), false);
break;
default:
oled_write_P(PSTR("Undefined\n"), false);
}
// Host Keyboard LED Status
led_t led_state = host_keyboard_led_state();
oled_write_ln(led_state.caps_lock ? "CAPLOCK" : " ", false);
// oled_write_P(PSTR(" "), false);
// oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
// oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
// oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
oled_write_ln("", false);
// oled_write_ln("", false);
// oled_write_ln("", false);
// oled_write_ln("", false);
// oled_write_ln("", false);
}
// static void render_kanagawa_logo(void) {
// static const char PROGMEM kanagawa_logo[] = {
// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,192, 64, 96, 96, 48, 24, 24, 8, 12, 12, 12, 4, 4, 6,134,134,195,194,194,210,250,250,254,254,254,188,124,252,232,248,216, 48,160,224,192,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 96, 48, 48, 24, 12, 4, 6, 3, 3, 0,192,192,208,248,248,252,255,255,127,254,158, 46,158,220, 63, 63, 63, 63, 63, 15, 7, 63, 63, 63,255,255,247,255,255,255,255,255,255,191,255,255,175, 28, 32,160,224,224,224,224,192,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 0, 0,128,192, 96, 96, 48, 24, 12, 6, 3, 3, 0,128,128,192,192,192, 0, 0, 0, 0, 0, 0,143,153, 31, 63, 38,191,247,240,248,254,127,137,224,252,206, 7,192,240, 24, 60, 70,146,227,225,241,123,127,127, 55, 55,255,255,255,255,255,127,254,255,223, 63,255,255,255,255,255,158, 30, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 56,
// 56,248,249,241,248,248,224,240,240,252,254,255,255,239,231,239,255,255,253,252,248,216,254,254,252,255,255,255,255,254,254,253,251,247,255,254,255,255,255,255,255,255,253,249, 88,126,255,255, 15, 1, 0, 0, 0, 0, 0, 0, 3, 3, 1, 7, 1, 1, 1, 3, 31, 31, 27, 31, 31, 27, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
// 62,124,208,240,185,135,135,195,255,255,255,255,199,159,255,255,255,255,255,255,255,255, 63,127, 63, 63,126,255,255,255,255,255,255,255,255,223,191,255,255,255,207,111,111,127,243,255,248,204,143,255,252,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,224, 48, 0, 0, 0, 0, 0,128,192,192, 0, 0, 10,
// 31,255,255,223,135, 63,111,255, 95,127,191,255,127,127,255,215, 63, 63,127,127,254,252,253,249,255,255,255,255,252,253,124,127, 63, 31, 15, 7, 3, 1, 0,128,224,224, 0, 0, 1, 1, 1, 3, 7, 63,127,239,238,124,224, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,224,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192, 64, 96,176,152,200,204,195,227,193,192,224,248,176, 60, 63,191,255,116, 9, 0, 0, 0, 0, 1,
// 3, 0, 0, 0, 0, 3, 3, 2, 1, 11,204,207, 7, 12, 14, 13, 8, 96,244,247,227,225,225,193, 0,192,192,192,192,232,184,252,236,240,255,254,255,127,255,255,252,216,236,252,240,224,248,248,240,241,131, 7,142, 32,126,255,255,239,198,228,236,216,240,240,248,248,236,228,230,230,199, 71, 71, 71,199, 79,207,207,199,207, 79,238,238,108,236,232,184,240,240,208,216,248,232,236, 52,126,254,255,251,249,253,252,252,254,253,255,255,255,127,125,253,253,255,254,239,231, 31, 31, 63, 0, 96, 0, 0, 0,
// 32,224,112,224,192,128, 0, 0, 0, 0, 0,224,224, 0, 0, 0,252,120, 14,126,127,103,255,255,127,127,239,240,241,249,241,225,241,247,255,255,253,252,252,252,252,255,255,255,251,241,143, 63,255,143, 63,239,143, 63,127,255,254, 56,113,243,246,229,235,239,255,243,163,231, 78,221,219,179,167,143,158, 31, 63, 55,127,126,112,193,192,212,191,188,167, 7, 95,126,254,254,255,120,124,127,127,127,255,255,255,247,231, 47, 47, 31, 31, 15,231,243, 51, 51,115,115, 3, 1, 1, 0,192,192,192,192, 0,
// };
// oled_write_raw_P(kanagawa_logo, sizeof(kanagawa_logo));
// }
// static void render_kanagawa_logo(void) {
// //oled_set_cursor(0, 5);
// static const char PROGMEM kanagawa_logo[] = {
// 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
// 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
// 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
// };
// oled_write_P(kanagawa_logo, false);
// }
bool oled_task_user(void) {
// switch (get_highest_layer(layer_state)) {
// case _UPPER:
// render_kanagawa_logo();
// break;
// default:
// render_status();
// }
render_status();
return false;
}
#endif
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case CUSTOMKEY:
if (record->event.pressed) {
if (get_mods() & MOD_MASK_SHIFT) {
tap_code16(G(A(KC_K)));
} else {
tap_code(KC_MPLY);
}
}
break;
case LT(0,KC_X):
if (!record->tap.count && record->event.pressed) {
tap_code16(C(KC_X)); // Intercept hold function to send Ctrl-X
return false;
}
return true;
case LT(0,KC_C):
if (!record->tap.count && record->event.pressed) {
tap_code16(C(KC_C)); // Intercept hold function to send Ctrl-C
return false;
}
return true;
case LT(0,KC_V):
if (!record->tap.count && record->event.pressed) {
tap_code16(C(KC_V)); // Intercept hold function to send Ctrl-V
return false;
}
return true;
case LT(0,KC_S):
if (!record->tap.count && record->event.pressed) {
tap_code16(C(KC_S)); // Intercept hold function to send Ctrl-S
return false;
}
return true;
}
return true;
}
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FUNC] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[_CODE] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
};
#endif
// #ifdef ENCODER_ENABLE
// bool encoder_update_kb(uint8_t index, bool clockwise) {
// if (!encoder_update_user(index, clockwise)) { return false; }
// if (index == 0) {
// if (clockwise) {
// tap_code_delay(KC_VOLU, 10);
// } else {
// tap_code_delay(KC_VOLD, 10);
// }
// }
// return true;
// }
// #endif

View File

View File

@ -1,3 +1,78 @@
#pragma once #pragma once
#include "config_common.h" /* OLED SPI Defines */
#ifdef OLED_ENABLE
# define OLED_DISPLAY_128X32
# define OLED_FONT_H "lib/oledfont.c"
# define OLED_FONT_END 255
# define OLED_DISPLAY_ADDRESS 0x3C
/* I2C Conf */
# define I2C_DRIVER I2CD1
# define I2C1_SDA_PIN GP0
# define I2C1_SCL_PIN GP1
#endif
#ifdef RGB_MATRIX_ENABLE
/* RGB Defines */
# define RGB_DI_PIN GP4
#ifdef KEYBOARD_ciaanh_kanagawa_ansi
# define RGB_MATRIX_LED_COUNT 82
#endif
#ifdef KEYBOARD_ciaanh_kanagawa_iso
# define RGB_MATRIX_LED_COUNT 83
#endif
/* Enable Framebuffer and keypress effects */
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define RGB_MATRIX_KEYPRESSES
# 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
# 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_RAIN
# define ENABLE_RGB_MATRIX_PIXEL_FLOW
# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
# 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
#endif

View File

@ -0,0 +1,235 @@
{
"keyboard_name": "Kanagawa",
"url": "https://github.com/Ciaanh/keyboards/tree/main/Kanagawa",
"manufacturer": "Ciaanh",
"maintainer": "Ciaanh",
"usb": {
"vid": "0xC1E0",
"pid": "0x0010",
"device_version": "2.1.0"
},
"features": {
"audio": false,
"backlight": false,
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
"rgblight": false
},
"bootmagic": {
"matrix": [0, 13]
},
"encoder": {
"rotary": [
{"pin_a": "GP2", "pin_b": "GP3"}
]
},
"diode_direction": "COL2ROW",
"matrix_pins": {
"rows": ["GP28", "GP27", "GP26", "GP22", "GP21", "GP20"],
"cols": ["GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18"]
},
"processor": "RP2040",
"bootloader": "rp2040",
"layouts": {
"LAYOUT_ansi": {
"layout": [
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
{ "label": "F1", "matrix": [0, 1], "x": 1.5, "y": 0 },
{ "label": "F2", "matrix": [0, 2], "x": 2.5, "y": 0 },
{ "label": "F3", "matrix": [0, 3], "x": 3.5, "y": 0 },
{ "label": "F4", "matrix": [0, 4], "x": 4.5, "y": 0 },
{ "label": "F5", "matrix": [0, 5], "x": 6, "y": 0 },
{ "label": "F6", "matrix": [0, 6], "x": 7, "y": 0 },
{ "label": "F7", "matrix": [0, 7], "x": 8, "y": 0 },
{ "label": "F8", "matrix": [0, 8], "x": 9, "y": 0 },
{ "label": "F9", "matrix": [0, 9], "x": 10.5, "y": 0 },
{ "label": "F10", "matrix": [0, 10], "x": 11.5, "y": 0 },
{ "label": "F11", "matrix": [0, 11], "x": 12.5, "y": 0 },
{ "label": "F12", "matrix": [0, 12], "x": 13.5, "y": 0 },
{ "label": "Encoder", "matrix": [0, 13], "x": 16, "y": 0 },
{ "label": "~", "matrix": [1, 0], "x": 0, "y": 1 },
{ "label": "!", "matrix": [1, 1], "x": 1, "y": 1 },
{ "label": "@", "matrix": [1, 2], "x": 2, "y": 1 },
{ "label": "#", "matrix": [1, 3], "x": 3, "y": 1 },
{ "label": "$", "matrix": [1, 4], "x": 4, "y": 1 },
{ "label": "%", "matrix": [1, 5], "x": 5, "y": 1 },
{ "label": "^", "matrix": [1, 6], "x": 6, "y": 1 },
{ "label": "&", "matrix": [1, 7], "x": 7, "y": 1 },
{ "label": "*", "matrix": [1, 8], "x": 8, "y": 1 },
{ "label": "(", "matrix": [1, 9], "x": 9, "y": 1 },
{ "label": ")", "matrix": [1, 10], "x": 10, "y": 1 },
{ "label": "_", "matrix": [1, 11], "x": 11, "y": 1 },
{ "label": "+", "matrix": [1, 12], "x": 12, "y": 1 },
{ "label": "BSpace", "matrix": [1, 13], "x": 13, "y": 1, "w": 2 },
{ "label": "Del", "matrix": [3, 13], "x": 16, "y": 1 },
{ "label": "Tab", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 },
{ "label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2 },
{ "label": "W", "matrix": [2, 2], "x": 2.5, "y": 2 },
{ "label": "E", "matrix": [2, 3], "x": 3.5, "y": 2 },
{ "label": "R", "matrix": [2, 4], "x": 4.5, "y": 2 },
{ "label": "T", "matrix": [2, 5], "x": 5.5, "y": 2 },
{ "label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2 },
{ "label": "U", "matrix": [2, 7], "x": 7.5, "y": 2 },
{ "label": "I", "matrix": [2, 8], "x": 8.5, "y": 2 },
{ "label": "O", "matrix": [2, 9], "x": 9.5, "y": 2 },
{ "label": "P", "matrix": [2, 10], "x": 10.5, "y": 2 },
{ "label": "{", "matrix": [2, 11], "x": 11.5, "y": 2 },
{ "label": "}", "matrix": [2, 12], "x": 12.5, "y": 2 },
{ "label": "|", "matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5 },
{ "label": "Home", "matrix": [4, 13], "x": 16, "y": 2 },
{ "label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.75 },
{ "label": "A", "matrix": [3, 1], "x": 1.75, "y": 3 },
{ "label": "S", "matrix": [3, 2], "x": 2.75, "y": 3 },
{ "label": "D", "matrix": [3, 3], "x": 3.75, "y": 3 },
{ "label": "F", "matrix": [3, 4], "x": 4.75, "y": 3 },
{ "label": "G", "matrix": [3, 5], "x": 5.75, "y": 3 },
{ "label": "H", "matrix": [3, 6], "x": 6.75, "y": 3 },
{ "label": "J", "matrix": [3, 7], "x": 7.75, "y": 3 },
{ "label": "K", "matrix": [3, 8], "x": 8.75, "y": 3 },
{ "label": "L", "matrix": [3, 9], "x": 9.75, "y": 3 },
{ "label": ":", "matrix": [3, 10], "x": 10.75, "y": 3 },
{ "label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3 },
{ "label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25 },
{ "label": "End", "matrix": [5, 13], "x": 16, "y": 3 },
{ "label": "Shift", "matrix": [4, 0], "x": 0, "y": 4, "w": 2.25 },
{ "label": "<KO>", "matrix": [4, 1], "x": 1.25, "y": 4 },
{ "label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4 },
{ "label": "X", "matrix": [4, 3], "x": 3.25, "y": 4 },
{ "label": "C", "matrix": [4, 4], "x": 4.25, "y": 4 },
{ "label": "V", "matrix": [4, 5], "x": 5.25, "y": 4 },
{ "label": "B", "matrix": [4, 6], "x": 6.25, "y": 4 },
{ "label": "N", "matrix": [4, 7], "x": 7.25, "y": 4 },
{ "label": "M", "matrix": [4, 8], "x": 8.25, "y": 4 },
{ "label": "<", "matrix": [4, 9], "x": 9.25, "y": 4 },
{ "label": ">", "matrix": [4, 10], "x": 10.25, "y": 4 },
{ "label": "?", "matrix": [4, 11], "x": 11.25, "y": 4 },
{ "label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75 },
{ "label": "Up", "matrix": [5, 12], "x": 14.25, "y": 4.25 },
{ "label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5 },
{ "label": "Win", "matrix": [5, 1], "x": 1, "y": 5 },
{ "label": "Alt", "matrix": [5, 2], "x": 2, "y": 5 },
{ "label": "Fn1", "matrix": [5, 3], "x": 3, "y": 5 },
{ "label": "LSpace", "matrix": [5, 4], "x": 4.25, "y": 5.5, "w": 2.25 },
{ "label": "RSpace", "matrix": [5, 5], "x": 7, "y": 5.5, "w": 2.75 },
{ "label": "Ralt", "matrix": [5, 6], "x": 10, "y": 5 },
{ "label": "Fn2", "matrix": [5, 7], "x": 11, "y": 5 },
{ "label": "Ctrl", "matrix": [5, 8], "x": 12, "y": 5 },
{ "label": "Left", "matrix": [5, 9], "x": 13.25, "y": 5.25 },
{ "label": "Down", "matrix": [5, 10], "x": 14.25, "y": 5.25 },
{ "label": "Right", "matrix": [5, 11], "x": 15.25, "y": 5.25 }
]
},
"LAYOUT_iso": {
"layout": [
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
{ "label": "F1", "matrix": [0, 1], "x": 1.5, "y": 0 },
{ "label": "F2", "matrix": [0, 2], "x": 2.5, "y": 0 },
{ "label": "F3", "matrix": [0, 3], "x": 3.5, "y": 0 },
{ "label": "F4", "matrix": [0, 4], "x": 4.5, "y": 0 },
{ "label": "F5", "matrix": [0, 5], "x": 6, "y": 0 },
{ "label": "F6", "matrix": [0, 6], "x": 7, "y": 0 },
{ "label": "F7", "matrix": [0, 7], "x": 8, "y": 0 },
{ "label": "F8", "matrix": [0, 8], "x": 9, "y": 0 },
{ "label": "F9", "matrix": [0, 9], "x": 10.5, "y": 0 },
{ "label": "F10", "matrix": [0, 10], "x": 11.5, "y": 0 },
{ "label": "F11", "matrix": [0, 11], "x": 12.5, "y": 0 },
{ "label": "F12", "matrix": [0, 12], "x": 13.5, "y": 0 },
{ "label": "Encoder", "matrix": [0, 13], "x": 16, "y": 0 },
{ "label": "²", "matrix": [1, 0], "x": 0, "y": 1 },
{ "label": "&", "matrix": [1, 1], "x": 1, "y": 1 },
{ "label": "é", "matrix": [1, 2], "x": 2, "y": 1 },
{ "label": "\"", "matrix": [1, 3], "x": 3, "y": 1 },
{ "label": "'", "matrix": [1, 4], "x": 4, "y": 1 },
{ "label": "(", "matrix": [1, 5], "x": 5, "y": 1 },
{ "label": "-", "matrix": [1, 6], "x": 6, "y": 1 },
{ "label": "è", "matrix": [1, 7], "x": 7, "y": 1 },
{ "label": "_", "matrix": [1, 8], "x": 8, "y": 1 },
{ "label": "ç", "matrix": [1, 9], "x": 9, "y": 1 },
{ "label": "à", "matrix": [1, 10], "x": 10, "y": 1 },
{ "label": ")", "matrix": [1, 11], "x": 11, "y": 1 },
{ "label": "=", "matrix": [1, 12], "x": 12, "y": 1 },
{ "label": "BSpace", "matrix": [1, 13], "x": 13, "y": 1, "w": 2 },
{ "label": "Del", "matrix": [3, 13], "x": 16, "y": 1 },
{ "label": "Tab", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 },
{ "label": "A", "matrix": [2, 1], "x": 1.5, "y": 2 },
{ "label": "Z", "matrix": [2, 2], "x": 2.5, "y": 2 },
{ "label": "E", "matrix": [2, 3], "x": 3.5, "y": 2 },
{ "label": "R", "matrix": [2, 4], "x": 4.5, "y": 2 },
{ "label": "T", "matrix": [2, 5], "x": 5.5, "y": 2 },
{ "label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2 },
{ "label": "U", "matrix": [2, 7], "x": 7.5, "y": 2 },
{ "label": "I", "matrix": [2, 8], "x": 8.5, "y": 2 },
{ "label": "O", "matrix": [2, 9], "x": 9.5, "y": 2 },
{ "label": "P", "matrix": [2, 10], "x": 10.5, "y": 2 },
{ "label": "^", "matrix": [2, 11], "x": 11.5, "y": 2 },
{ "label": "$", "matrix": [2, 12], "x": 12.5, "y": 2 },
{ "label": "Enter", "matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5 },
{ "label": "Home", "matrix": [4, 13], "x": 16, "y": 2 },
{ "label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.75 },
{ "label": "Q", "matrix": [3, 1], "x": 1.75, "y": 3 },
{ "label": "S", "matrix": [3, 2], "x": 2.75, "y": 3 },
{ "label": "D", "matrix": [3, 3], "x": 3.75, "y": 3 },
{ "label": "F", "matrix": [3, 4], "x": 4.75, "y": 3 },
{ "label": "G", "matrix": [3, 5], "x": 5.75, "y": 3 },
{ "label": "H", "matrix": [3, 6], "x": 6.75, "y": 3 },
{ "label": "J", "matrix": [3, 7], "x": 7.75, "y": 3 },
{ "label": "K", "matrix": [3, 8], "x": 8.75, "y": 3 },
{ "label": "L", "matrix": [3, 9], "x": 9.75, "y": 3 },
{ "label": "M", "matrix": [3, 10], "x": 10.75, "y": 3 },
{ "label": "ù", "matrix": [3, 11], "x": 11.75, "y": 3 },
{ "label": "*", "matrix": [3, 12], "x": 12.75, "y": 3 },
{ "label": "End", "matrix": [5, 13], "x": 16, "y": 3 },
{ "label": "Shift", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
{ "label": "<", "matrix": [4, 1], "x": 1.25, "y": 4 },
{ "label": "W", "matrix": [4, 2], "x": 2.25, "y": 4 },
{ "label": "X", "matrix": [4, 3], "x": 3.25, "y": 4 },
{ "label": "C", "matrix": [4, 4], "x": 4.25, "y": 4 },
{ "label": "V", "matrix": [4, 5], "x": 5.25, "y": 4 },
{ "label": "B", "matrix": [4, 6], "x": 6.25, "y": 4 },
{ "label": "N", "matrix": [4, 7], "x": 7.25, "y": 4 },
{ "label": ",", "matrix": [4, 8], "x": 8.25, "y": 4 },
{ "label": ";", "matrix": [4, 9], "x": 9.25, "y": 4 },
{ "label": ":", "matrix": [4, 10], "x": 10.25, "y": 4 },
{ "label": "!", "matrix": [4, 11], "x": 11.25, "y": 4 },
{ "label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75 },
{ "label": "Up", "matrix": [5, 12], "x": 14.25, "y": 4.25 },
{ "label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5 },
{ "label": "Win", "matrix": [5, 1], "x": 1, "y": 5 },
{ "label": "Alt", "matrix": [5, 2], "x": 2, "y": 5 },
{ "label": "Fn1", "matrix": [5, 3], "x": 3, "y": 5 },
{ "label": "LSpace", "matrix": [5, 4], "x": 4.25, "y": 5.5, "w": 2.25 },
{ "label": "RSpace", "matrix": [5, 5], "x": 7, "y": 5.5, "w": 2.75 },
{ "label": "Ralt", "matrix": [5, 6], "x": 10, "y": 5 },
{ "label": "Fn2", "matrix": [5, 7], "x": 11, "y": 5 },
{ "label": "Ctrl", "matrix": [5, 8], "x": 12, "y": 5 },
{ "label": "Left", "matrix": [5, 9], "x": 13.25, "y": 5.25 },
{ "label": "Down", "matrix": [5, 10], "x": 14.25, "y": 5.25 },
{ "label": "Right", "matrix": [5, 11], "x": 15.25, "y": 5.25 }
]
}
}
}

View File

@ -0,0 +1,44 @@
#include "kanagawa.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = {
{
// Key Matrix to LED Index
{ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, NA },
{ 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13 },
{ 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27 },
{ 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 66 },
{ 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 69, 67 },
{ 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 68 }
},
{
// LED Index to Physical Position
{0,157}, {0,145}, {0,134}, {0,122}, {0,105}, {0,93}, {0,81}, {0,70}, {0,52}, {0,41}, {0,29}, {0,17}, {0,0},
{14,157}, {14,140}, {14,128}, {14,116}, {14,105}, {14,93}, {14,81}, {14,70}, {14,58}, {14,47}, {14,35}, {14,23}, {14,12}, {14,0},
{28,157}, {35,148}, {28,134}, {28,122}, {28,111}, {28,99}, {28,87}, {28,76}, {28,64}, {28,52}, {28,41}, {28,29}, {28,17}, {28,3},
{42,148}, {42,137}, {42,125}, {42,113}, {42,102}, {42,90}, {42,79}, {42,67}, {42,55}, {42,44}, {42,32}, {42,20}, {42,4},
{56,131}, {56,119}, {56,108}, {56,96}, {56,84}, {56,73}, {56,61}, {56,49}, {56,38}, {56,26}, {56,15}, {56,1},
{14,186},
{28,186},
{42,186},
{60,166}, {56,147},
{74,177}, {74,166}, {74,154}, {70,140}, {70,128}, {70,116}, {77,95}, {77,68}, {70,58}, {70,26}, {70,13}, {70,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, 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, 4, 4, 4, 4, 4, 4, 4,
4,
4,
4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
}};
#endif

View File

@ -0,0 +1 @@
#pragma once

View File

@ -0,0 +1,234 @@
#include QMK_KEYBOARD_H
/* Keyboard layout
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
* | ka0 | | ka1 | ka2 | ka3 | ka4 | | ka5 | ka6 | ka7 | ka8 | | ka9 | ka10 | ka11 | ka12 | | sw99 |
* `---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------'
* ,-------------------------------------------------------------------------------------------------------------------------------------------. ,---------.
* | kb0 | kb1 | kb2 | kb3 | kb4 | kb5 | kb6 | kb7 | kb8 | kb9 | kb10 | kb11 | kb12 | kb13 | | kd13 |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| |---------|
* | kc0 | kc1 | kc2 | kc3 | kc4 | kc5 | kc6 | kc7 | kc8 | kc9 | kc10 | kc11 | kc12 | | | ke13 |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+ kc13 | |---------|
* | kd0 | kd1 | kd2 | kd3 | kd4 | kd5 | kd6 | kd7 | kd8 | kd9 | kd10 | kd11 | kd12 | | | kf13 |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'---------' `---------'
* | ke0 | ke1 | ke2 | ke3 | ke4 | ke5 | ke6 | ke7 | ke8 | ke9 | ke10 | ke11 | ke12 | ,---------.
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | kf12 |
* | kf0 | kf1 | kf2 | kf3 | ,---------. ,---------. | kf6 | kf7 | kf8 | ,---------|---------|---------.
* `---------+---------+---------+---------+ | kf4 | | kf5 | +---------+---------+---------' | kf9 | kf10 | kf11 |
* `---------' `---------' `---------+---------+---------'
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap: BASE
* ,---------. ,---------------------------------------. ,---------------------------------------. ,---------------------------------------. ,---------.
* | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | ENCODER |
* `---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------+---------+---------+---------' `---------'
* ,-------------------------------------------------------------------------------------------------------------------------------------------. ,---------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Backspace| | Delete |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| |---------|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | | | HOME |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+ ENTER | |---------|
* | CapsL | A | S | D | F | G | H | J | K | L | ; | ' | NUHS * | | | END |
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'---------' `---------'
* | LShift | NUBS < | Z | X | C | V | B | N | M | , | . | / | RShift | ,---------.
* |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | UP |
* | LCtrl | LGUI | LAlt | Func | ,---------. ,---------. | RAlt | CODE | RCtrl | ,---------|---------|---------.
* |---------+---------+---------+---------+ | Space | | Space | +---------+---------+---------' | LEFT | DOWN | RIGHT |
* `---------' `---------' `---------+---------+---------'
*/
[_BASE] = LAYOUT_iso(
KC_ESC, 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_MPLY, \
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_LBRC, KC_RBRC, KC_ENT, KC_HOME, \
KC_CAPS, KC_A, LT(0,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_END, \
KC_LSFT, KC_NUBS, KC_Z, LT(0,KC_X), LT(0,KC_C), LT(0,KC_V), KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
KC_LCTL, KC_LGUI, KC_LALT, L_FNC, KC_SPC, KC_SPC, KC_RALT, TO_CODE, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
),
[_FUNC] = LAYOUT_iso(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
_SCRNSHOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
),
[_CODE] = LAYOUT_iso(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, \
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, TO_BASE, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI \
),
};
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
#ifdef OLED_ENABLE
// oled_rotation_t oled_init_user(oled_rotation_t rotation) {
// return OLED_ROTATION_180;
// }
static void render_status(void) {
// 21 characters per line
// 16 cols / 4 rows
oled_write_P(PSTR(" Kanagawa rev 2.0 "), false);
//oled_write_ln("", false);
// Host Keyboard Layer Status
oled_write_P(PSTR("Layer: "), false);
switch (get_highest_layer(layer_state)) {
case _BASE:
oled_write_P(PSTR("_\n"), false);
break;
case _FUNC:
oled_write_P(PSTR("[Fn]\n"), false);
break;
case _CODE:
oled_write_P(PSTR("[Code]\n"), false);
break;
default:
oled_write_P(PSTR("Undefined\n"), false);
}
// Host Keyboard LED Status
led_t led_state = host_keyboard_led_state();
oled_write_ln(led_state.caps_lock ? "CAPLOCK" : " ", false);
// oled_write_P(PSTR(" "), false);
// oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
// oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
// oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
oled_write_ln("", false);
// oled_write_ln("", false);
// oled_write_ln("", false);
// oled_write_ln("", false);
// oled_write_ln("", false);
}
// static void render_kanagawa_logo(void) {
// static const char PROGMEM kanagawa_logo[] = {
// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,192, 64, 96, 96, 48, 24, 24, 8, 12, 12, 12, 4, 4, 6,134,134,195,194,194,210,250,250,254,254,254,188,124,252,232,248,216, 48,160,224,192,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 96, 48, 48, 24, 12, 4, 6, 3, 3, 0,192,192,208,248,248,252,255,255,127,254,158, 46,158,220, 63, 63, 63, 63, 63, 15, 7, 63, 63, 63,255,255,247,255,255,255,255,255,255,191,255,255,175, 28, 32,160,224,224,224,224,192,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 0, 0,128,192, 96, 96, 48, 24, 12, 6, 3, 3, 0,128,128,192,192,192, 0, 0, 0, 0, 0, 0,143,153, 31, 63, 38,191,247,240,248,254,127,137,224,252,206, 7,192,240, 24, 60, 70,146,227,225,241,123,127,127, 55, 55,255,255,255,255,255,127,254,255,223, 63,255,255,255,255,255,158, 30, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 56,
// 56,248,249,241,248,248,224,240,240,252,254,255,255,239,231,239,255,255,253,252,248,216,254,254,252,255,255,255,255,254,254,253,251,247,255,254,255,255,255,255,255,255,253,249, 88,126,255,255, 15, 1, 0, 0, 0, 0, 0, 0, 3, 3, 1, 7, 1, 1, 1, 3, 31, 31, 27, 31, 31, 27, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
// 62,124,208,240,185,135,135,195,255,255,255,255,199,159,255,255,255,255,255,255,255,255, 63,127, 63, 63,126,255,255,255,255,255,255,255,255,223,191,255,255,255,207,111,111,127,243,255,248,204,143,255,252,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,224, 48, 0, 0, 0, 0, 0,128,192,192, 0, 0, 10,
// 31,255,255,223,135, 63,111,255, 95,127,191,255,127,127,255,215, 63, 63,127,127,254,252,253,249,255,255,255,255,252,253,124,127, 63, 31, 15, 7, 3, 1, 0,128,224,224, 0, 0, 1, 1, 1, 3, 7, 63,127,239,238,124,224, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,224,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192, 64, 96,176,152,200,204,195,227,193,192,224,248,176, 60, 63,191,255,116, 9, 0, 0, 0, 0, 1,
// 3, 0, 0, 0, 0, 3, 3, 2, 1, 11,204,207, 7, 12, 14, 13, 8, 96,244,247,227,225,225,193, 0,192,192,192,192,232,184,252,236,240,255,254,255,127,255,255,252,216,236,252,240,224,248,248,240,241,131, 7,142, 32,126,255,255,239,198,228,236,216,240,240,248,248,236,228,230,230,199, 71, 71, 71,199, 79,207,207,199,207, 79,238,238,108,236,232,184,240,240,208,216,248,232,236, 52,126,254,255,251,249,253,252,252,254,253,255,255,255,127,125,253,253,255,254,239,231, 31, 31, 63, 0, 96, 0, 0, 0,
// 32,224,112,224,192,128, 0, 0, 0, 0, 0,224,224, 0, 0, 0,252,120, 14,126,127,103,255,255,127,127,239,240,241,249,241,225,241,247,255,255,253,252,252,252,252,255,255,255,251,241,143, 63,255,143, 63,239,143, 63,127,255,254, 56,113,243,246,229,235,239,255,243,163,231, 78,221,219,179,167,143,158, 31, 63, 55,127,126,112,193,192,212,191,188,167, 7, 95,126,254,254,255,120,124,127,127,127,255,255,255,247,231, 47, 47, 31, 31, 15,231,243, 51, 51,115,115, 3, 1, 1, 0,192,192,192,192, 0,
// };
// oled_write_raw_P(kanagawa_logo, sizeof(kanagawa_logo));
// }
// static void render_kanagawa_logo(void) {
// //oled_set_cursor(0, 5);
// static const char PROGMEM kanagawa_logo[] = {
// 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
// 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
// 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
// };
// oled_write_P(kanagawa_logo, false);
// }
bool oled_task_user(void) {
// switch (get_highest_layer(layer_state)) {
// case _UPPER:
// render_kanagawa_logo();
// break;
// default:
// render_status();
// }
render_status();
return false;
}
#endif
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
/*****************************************************************************************************/
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case CUSTOMKEY:
if (record->event.pressed) {
if (get_mods() & MOD_MASK_SHIFT) {
tap_code16(G(A(KC_K)));
} else {
tap_code(KC_MPLY);
}
}
break;
case LT(0,KC_X):
if (!record->tap.count && record->event.pressed) {
tap_code16(C(KC_X)); // Intercept hold function to send Ctrl-X
return false;
}
return true;
case LT(0,KC_C):
if (!record->tap.count && record->event.pressed) {
tap_code16(C(KC_C)); // Intercept hold function to send Ctrl-C
return false;
}
return true;
case LT(0,KC_V):
if (!record->tap.count && record->event.pressed) {
tap_code16(C(KC_V)); // Intercept hold function to send Ctrl-V
return false;
}
return true;
case LT(0,KC_S):
if (!record->tap.count && record->event.pressed) {
tap_code16(C(KC_S)); // Intercept hold function to send Ctrl-S
return false;
}
return true;
}
return true;
}
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FUNC] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
[_CODE] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
};
#endif
// #ifdef ENCODER_ENABLE
// bool encoder_update_kb(uint8_t index, bool clockwise) {
// if (!encoder_update_user(index, clockwise)) { return false; }
// if (index == 0) {
// if (clockwise) {
// tap_code_delay(KC_VOLU, 10);
// } else {
// tap_code_delay(KC_VOLD, 10);
// }
// }
// return true;
// }
// #endif

View File

View File

@ -1,5 +1,34 @@
#pragma once #pragma once
#ifdef KEYBOARD_ciaanh_kanagawa_rev1 #include "quantum.h"
#include "rev1.h"
#endif #ifdef KEYBOARD_ciaanh_kanagawa_ansi
#include "ansi.h"
#endif
#ifdef KEYBOARD_ciaanh_kanagawa_iso
#include "iso.h"
#endif
#define ___ KC_NO
#define NA NO_LED
enum layers
{
_BASE,
_FUNC,
_CODE
};
enum custom_keycodes
{
CUSTOMKEY = SAFE_RANGE,
NEW_SAFE_RANGE,
};
#define TO_BASE TO(_BASE)
#define TO_CODE TG(_CODE)
#define L_FNC MO(_FUNC)
#define _SCRNSHOT LSFT(LGUI(KC_S))

View File

@ -0,0 +1,6 @@
#pragma once
#include_next <mcuconf.h>
#undef RP_I2C_USE_I2C0
#define RP_I2C_USE_I2C0 TRUE

View File

@ -1,3 +1,14 @@
https://learn.adafruit.com/using-qmk-on-rp2040-microcontrollers/adafruit-macropad-with-qmk
qmk compile -kb ciaanh/kanagawa2040 -km default
# Ciaanh Kanagawa2040
```sh
qmk compile -kb ciaanh/kanagawa2040 -km default
```
# Kanagawa # Kanagawa
A 75% keyboard with oled and rotary encoder for Elite-C A 75% keyboard with oled and rotary encoder for Elite-C
@ -14,3 +25,13 @@ Make example for this keyboard (after setting up your build environment):
qmk compile -kb ciaanh/kanagawa -km default qmk compile -kb ciaanh/kanagawa -km default
Driver issues https://docs.qmk.fm/#/faq_build?id=unknown-device-for-dfu-bootloader Driver issues https://docs.qmk.fm/#/faq_build?id=unknown-device-for-dfu-bootloader
## Bootloader
Enter the bootloader in 4 ways:
* **Bootmagic reset**: Hold down the key just bellow the rotary encoder push-button on power-up.
* **Physical reset button**: Press twice the button on the side while the board is connected.
* **BOOT button** Hold down the rotary encoder push-button on power-up or reset.
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.

View File

@ -1,33 +1,22 @@
# MCU name # MCU name
MCU = atmega32u4 MCU = RP2040
# Bootloader selection # Bootloader selection
# Teensy halfkay BOOTLOADER = rp2040
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = qmk-dfu
# Build Options # RP2040-specific options
# change to "no" to disable the options, or define them in the Makefile in ALLOW_WARNINGS = yes
# the appropriate keymap folder that will get included automatically PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # 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 = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
OLED_ENABLE = no
DEFAULT_FOLDER = ciaanh/kanagawa/rev1 RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
WS2812_DRIVER = vendor
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
OPT_DEFS += -DHAL_USE_I2C=TRUE
ENCODER_MAP_ENABLE = yes
LTO_ENABLE = no # reduce size

View File

@ -1,24 +1,5 @@
#pragma once #pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xC1E0
#define PRODUCT_ID 0x0010
#define DEVICE_VER 0x0002
#define MANUFACTURER Ciaanh
#define PRODUCT Kanagawa
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { GP28, GP27, GP26, GP22, GP21, GP20 }
#define MATRIX_COL_PINS { GP5, GP6, GP7, GP8, GP9, GP10, GP11, GP12, GP13, GP14, GP15, GP16, GP17, GP18 }
// #define DEBUG_MATRIX_SCAN_RATE
#define DIODE_DIRECTION COL2ROW
/* OLED SPI Defines */ /* OLED SPI Defines */
#ifdef OLED_ENABLE #ifdef OLED_ENABLE
# define OLED_DISPLAY_128X32 # define OLED_DISPLAY_128X32
@ -32,27 +13,12 @@
# define I2C1_SCL_PIN GP1 # define I2C1_SCL_PIN GP1
#endif #endif
/* Encoder */
#define ENCODERS_PAD_A { GP2 }
#define ENCODERS_PAD_B { GP3 }
#define DEBOUNCE 5
/* Bootmagic lite */
/* (Press the encoder button while plugging the keyboard to enter the bootloader and clear flash) */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 13
/* Double tap the side button to enter bootloader */
// #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
// #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP13
// #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
/* RGB Defines */ /* RGB Defines */
# define RGB_DI_PIN GP4 # define RGB_DI_PIN GP4
# define DRIVER_LED_TOTAL 83 # define RGB_MATRIX_LED_COUNT 83
# define RGBLED_NUM 83
/* Enable Framebuffer and keypress effects */ /* Enable Framebuffer and keypress effects */
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_FRAMEBUFFER_EFFECTS
@ -102,3 +68,6 @@
# define ENABLE_RGB_MATRIX_SOLID_SPLASH # define ENABLE_RGB_MATRIX_SOLID_SPLASH
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif #endif

View File

@ -0,0 +1,133 @@
{
"keyboard_name": "Kanagawa",
"url": "https://github.com/Ciaanh/keyboards/tree/main/Kanagawa",
"manufacturer": "Ciaanh",
"maintainer": "Ciaanh",
"usb": {
"vid": "0xC1E0",
"pid": "0x0010",
"device_version": "2.1.0"
},
"features": {
"audio": false,
"backlight": false,
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
"rgblight": false
},
"bootmagic": {
"matrix": [0, 13]
},
"encoder": {
"rotary": [
{"pin_a": "GP2", "pin_b": "GP3"}
]
},
"diode_direction": "COL2ROW",
"matrix_pins": {
"rows": ["GP28", "GP27", "GP26", "GP22", "GP21", "GP20"],
"cols": ["GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18"]
},
"processor": "RP2040",
"bootloader": "rp2040",
"layouts": {
"LAYOUT_84_ansi": {
"layout": [
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
{ "label": "F1", "matrix": [0, 1], "x": 1.5, "y": 0 },
{ "label": "F2", "matrix": [0, 2], "x": 2.5, "y": 0 },
{ "label": "F3", "matrix": [0, 3], "x": 3.5, "y": 0 },
{ "label": "F4", "matrix": [0, 4], "x": 4.5, "y": 0 },
{ "label": "F5", "matrix": [0, 5], "x": 6, "y": 0 },
{ "label": "F6", "matrix": [0, 6], "x": 7, "y": 0 },
{ "label": "F7", "matrix": [0, 7], "x": 8, "y": 0 },
{ "label": "F8", "matrix": [0, 8], "x": 9, "y": 0 },
{ "label": "F9", "matrix": [0, 9], "x": 10.5, "y": 0 },
{ "label": "F10", "matrix": [0, 10], "x": 11.5, "y": 0 },
{ "label": "F11", "matrix": [0, 11], "x": 12.5, "y": 0 },
{ "label": "F12", "matrix": [0, 12], "x": 13.5, "y": 0 },
{ "label": "Encoder", "matrix": [0, 13], "x": 16, "y": 0 },
{ "label": "~", "matrix": [1, 0], "x": 0, "y": 1 },
{ "label": "!", "matrix": [1, 1], "x": 1, "y": 1 },
{ "label": "@", "matrix": [1, 2], "x": 2, "y": 1 },
{ "label": "#", "matrix": [1, 3], "x": 3, "y": 1 },
{ "label": "$", "matrix": [1, 4], "x": 4, "y": 1 },
{ "label": "%", "matrix": [1, 5], "x": 5, "y": 1 },
{ "label": "^", "matrix": [1, 6], "x": 6, "y": 1 },
{ "label": "&", "matrix": [1, 7], "x": 7, "y": 1 },
{ "label": "*", "matrix": [1, 8], "x": 8, "y": 1 },
{ "label": "(", "matrix": [1, 9], "x": 9, "y": 1 },
{ "label": ")", "matrix": [1, 10], "x": 10, "y": 1 },
{ "label": "_", "matrix": [1, 11], "x": 11, "y": 1 },
{ "label": "+", "matrix": [1, 12], "x": 12, "y": 1 },
{ "label": "BSpace", "matrix": [1, 13], "x": 13, "y": 1, "w": 2 },
{ "label": "Del", "matrix": [3, 13], "x": 16, "y": 1 },
{ "label": "Tab", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 },
{ "label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2 },
{ "label": "W", "matrix": [2, 2], "x": 2.5, "y": 2 },
{ "label": "E", "matrix": [2, 3], "x": 3.5, "y": 2 },
{ "label": "R", "matrix": [2, 4], "x": 4.5, "y": 2 },
{ "label": "T", "matrix": [2, 5], "x": 5.5, "y": 2 },
{ "label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2 },
{ "label": "U", "matrix": [2, 7], "x": 7.5, "y": 2 },
{ "label": "I", "matrix": [2, 8], "x": 8.5, "y": 2 },
{ "label": "O", "matrix": [2, 9], "x": 9.5, "y": 2 },
{ "label": "P", "matrix": [2, 10], "x": 10.5, "y": 2 },
{ "label": "{", "matrix": [2, 11], "x": 11.5, "y": 2 },
{ "label": "}", "matrix": [2, 12], "x": 12.5, "y": 2 },
{ "label": "|", "matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5 },
{ "label": "Home", "matrix": [4, 13], "x": 16, "y": 2 },
{ "label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.75 },
{ "label": "A", "matrix": [3, 1], "x": 1.75, "y": 3 },
{ "label": "S", "matrix": [3, 2], "x": 2.75, "y": 3 },
{ "label": "D", "matrix": [3, 3], "x": 3.75, "y": 3 },
{ "label": "F", "matrix": [3, 4], "x": 4.75, "y": 3 },
{ "label": "G", "matrix": [3, 5], "x": 5.75, "y": 3 },
{ "label": "H", "matrix": [3, 6], "x": 6.75, "y": 3 },
{ "label": "J", "matrix": [3, 7], "x": 7.75, "y": 3 },
{ "label": "K", "matrix": [3, 8], "x": 8.75, "y": 3 },
{ "label": "L", "matrix": [3, 9], "x": 9.75, "y": 3 },
{ "label": ":", "matrix": [3, 10], "x": 10.75, "y": 3 },
{ "label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3 },
{ "label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25 },
{ "label": "End", "matrix": [5, 13], "x": 16, "y": 3 },
{ "label": "Shift", "matrix": [4, 0], "x": 0, "y": 4, "w": 2.25 },
{ "label": "Z", "matrix": [4, 1], "x": 2.25, "y": 4 },
{ "label": "X", "matrix": [4, 2], "x": 3.25, "y": 4 },
{ "label": "C", "matrix": [4, 3], "x": 4.25, "y": 4 },
{ "label": "V", "matrix": [4, 4], "x": 5.25, "y": 4 },
{ "label": "B", "matrix": [4, 5], "x": 6.25, "y": 4 },
{ "label": "N", "matrix": [4, 6], "x": 7.25, "y": 4 },
{ "label": "M", "matrix": [4, 7], "x": 8.25, "y": 4 },
{ "label": "<", "matrix": [4, 8], "x": 9.25, "y": 4 },
{ "label": ">", "matrix": [4, 9], "x": 10.25, "y": 4 },
{ "label": "?", "matrix": [4, 10], "x": 11.25, "y": 4 },
{ "label": "Shift", "matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.75 },
{ "label": "Up", "matrix": [4, 12], "x": 14.25, "y": 4.25},
{ "label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5, "w": 1.25 },
{ "label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5 },
{ "label": "Alt", "matrix": [5, 2], "x": 2.25, "y": 5, "w": 1.25 },
{ "label": "Dwn", "matrix": [5, 3], "x": 4, "y": 5 },
{ "label": "LSpace", "matrix": [5, 4], "x": 5, "y": 5.5, "w": 2 },
{ "label": "RSpace", "matrix": [5, 5], "x": 7, "y": 5.5, "w": 2 },
{ "label": "Up", "matrix": [5, 6], "x": 9, "y": 5 },
{ "label": "RAlt", "matrix": [5, 7], "x": 10, "y": 5 },
{ "label": "Code", "matrix": [5, 8], "x": 11, "y": 5 },
{ "label": "Ctrl", "matrix": [5, 9], "x": 12, "y": 5 },
{ "label": "Left", "matrix": [5, 10], "x": 13.25, "y": 5.25 },
{ "label": "Down", "matrix": [5, 11], "x": 14.25, "y": 5.25 },
{ "label": "Right", "matrix": [5, 12], "x": 15.25, "y": 5.25 }
]
}
}
}

View File

@ -3,23 +3,3 @@
#include "quantum.h" #include "quantum.h"
#define ___ KC_NO #define ___ KC_NO
// clang-format off
#define LAYOUT_84_ansi( \
K00, K01,K02,K03,K04, K05,K06,K07,K08, K09,K010,K011,K012, K013, \
\
K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K110,K111,K112, K113 , K313, \
K20 ,K21,K22,K23,K24,K25,K26,K27,K28,K29,K210,K211,K212, K213 , K413, \
K30 ,K31,K32,K33,K34,K35,K36,K37,K38,K39,K310,K311, K312 , K513, \
K40 ,K41,K42,K43,K44,K45,K46,K47,K48,K49,K410, K411 , K412, \
K50 ,K51,K52 , K53,K54 , K55,K56, K57 ,K58,K59 , K510, K511, K512 \
) \
{ \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013 }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113 }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, K213 }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312, K313 }, \
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412, K413 }, \
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K510, K511, K512, K513 } \
}
// clang-format on

View File

@ -8,22 +8,6 @@ BOOTLOADER = rp2040
ALLOW_WARNINGS = yes ALLOW_WARNINGS = yes
PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS.
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # 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 = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
ENCODER_ENABLE = yes
RGB_MATRIX_ENABLE = yes RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812 RGB_MATRIX_DRIVER = WS2812
WS2812_DRIVER = vendor WS2812_DRIVER = vendor

View File

@ -0,0 +1,3 @@
#pragma once
#include "config_common.h"

View File

@ -0,0 +1 @@
#include "kanagawa.h"

View File

@ -0,0 +1,5 @@
#pragma once
#ifdef KEYBOARD_ciaanh_kanagawa_rev1
#include "rev1.h"
#endif

View File

@ -0,0 +1,277 @@
#include "progmem.h"
const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x00 000 =>
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, // 0x01 001 => sad
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, // 0x02 002 => smile
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, // 0x03 003 => heart
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, // 0x04 004 => diamond
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, // 0x05 005 => clover
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, // 0x06 006 => spade
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, // 0x07 007 =>
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, // 0x08 008 =>
0x00, 0x18, 0x24, 0x18, 0x00, 0x00, // 0x09 009 =>
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, // 0x0A 010 =>
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, // 0x0B 011 => male symbol
0x26, 0x29, 0x79, 0x29, 0x26, 0x00, // 0x0C 012 => female symbol
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, // 0x0D 013 =>
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, // 0x0E 014 =>
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, // 0x0F 015 =>
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, // 0x10 016 => right
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, // 0x11 017 => left
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, // 0x12 018 =>
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, // 0x13 019 => !!
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, // 0x14 020 =>
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, // 0x15 021 =>
0x60, 0x60, 0x60, 0x60, 0x60, 0x00, // 0x16 022 =>
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, // 0x17 023 =>
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, // 0x18 024 =>
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, // 0x19 025 =>
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, // 0x1A 026 =>
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, // 0x1B 027 =>
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, // 0x1C 028 =>
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, // 0x1D 029 =>
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, // 0x1E 030 =>
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, // 0x1F 031 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 032 => sp
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, // 0x21 033 => !
0x00, 0x07, 0x00, 0x07, 0x00, 0x00, // 0x22 034 => "
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, // 0x23 035 => #
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, // 0x24 036 => $
0x23, 0x13, 0x08, 0x64, 0x62, 0x00, // 0x25 037 => %
0x36, 0x49, 0x56, 0x20, 0x50, 0x00, // 0x26 038 => &
0x00, 0x08, 0x07, 0x03, 0x00, 0x00, // 0x27 039 => '
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, // 0x28 040 => (
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, // 0x29 041 => )
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, // 0x2A 042 => *
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, // 0x2B 043 => +
0x00, 0x80, 0x70, 0x30, 0x00, 0x00, // 0x2C 044 => ,
0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // 0x2D 045 => -
0x00, 0x00, 0x60, 0x60, 0x00, 0x00, // 0x2E 046 => .
0x20, 0x10, 0x08, 0x04, 0x02, 0x00, // 0x2F 047 => /
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, // 0x30 048 => 0
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, // 0x31 049 => 1
0x72, 0x49, 0x49, 0x49, 0x46, 0x00, // 0x32 050 => 2
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, // 0x33 051 => 3
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, // 0x34 052 => 4
0x27, 0x45, 0x45, 0x45, 0x39, 0x00, // 0x35 053 => 5
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, // 0x36 054 => 6
0x41, 0x21, 0x11, 0x09, 0x07, 0x00, // 0x37 055 => 7
0x36, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x38 056 => 8
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, // 0x39 057 => 9
0x00, 0x00, 0x14, 0x00, 0x00, 0x00, // 0x3A 058 => :
0x00, 0x40, 0x34, 0x00, 0x00, 0x00, // 0x3B 059 => ;
0x00, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x3C 060 => <
0x14, 0x14, 0x14, 0x14, 0x14, 0x00, // 0x3D 061 => =
0x00, 0x41, 0x22, 0x14, 0x08, 0x00, // 0x3E 062 => >
0x02, 0x01, 0x59, 0x09, 0x06, 0x00, // 0x3F 063 => ?
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, // 0x40 064 => @
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, // 0x41 065 => A
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x42 066 => B
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, // 0x43 067 => C
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x44 068 => D
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, // 0x45 069 => E
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, // 0x46 070 => F
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, // 0x47 071 => G
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, // 0x48 072 => H
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, // 0x49 073 => I
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, // 0x4A 074 => J
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x4B 075 => K
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x4C 076 => L
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, // 0x4D 077 => M
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, // 0x4E 078 => N
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x4F 079 => O
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, // 0x50 080 => P
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, // 0x51 081 => Q
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, // 0x52 082 => R
0x26, 0x49, 0x49, 0x49, 0x32, 0x00, // 0x53 083 => S
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, // 0x54 084 => T
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, // 0x55 085 => U
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, // 0x56 086 => V
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, // 0x57 087 => W
0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // 0x58 088 => X
0x03, 0x04, 0x78, 0x04, 0x03, 0x00, // 0x59 089 => Y
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, // 0x5A 090 => Z
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, // 0x5B 091 => [
0x02, 0x04, 0x08, 0x10, 0x20, 0x00, // 0x5C 092 => '\'
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0x5D 093 => ]
0x04, 0x02, 0x01, 0x02, 0x04, 0x00, // 0x5E 094 => ^
0x40, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x5F 095 => _
0x00, 0x03, 0x07, 0x08, 0x00, 0x00, // 0x60 096 => `
0x20, 0x54, 0x54, 0x78, 0x40, 0x00, // 0x61 097 => a
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, // 0x62 098 => b
0x38, 0x44, 0x44, 0x44, 0x28, 0x00, // 0x63 099 => c
0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, // 0x64 100 => d
0x38, 0x54, 0x54, 0x54, 0x18, 0x00, // 0x65 101 => e
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, // 0x66 102 => f
0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, // 0x67 103 => g
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x68 104 => h
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, // 0x69 105 => i
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, // 0x6A 106 => j
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, // 0x6B 107 => k
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, // 0x6C 108 => l
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, // 0x6D 109 => m
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x6E 110 => n
0x38, 0x44, 0x44, 0x44, 0x38, 0x00, // 0x6F 111 => o
0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, // 0x70 112 => p
0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, // 0x71 113 => q
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, // 0x72 114 => r
0x48, 0x54, 0x54, 0x54, 0x24, 0x00, // 0x73 115 => s
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, // 0x74 116 => t
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, // 0x75 117 => u
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, // 0x76 118 => v
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, // 0x77 119 => w
0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // 0x78 120 => x
0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, // 0x79 121 => y
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, // 0x7A 122 => z
0x00, 0x08, 0x36, 0x41, 0x00, 0x00, // 0x7B 123 => {
0x00, 0x00, 0x77, 0x00, 0x00, 0x00, // 0x7C 124 => |
0x00, 0x41, 0x36, 0x08, 0x00, 0x00, // 0x7D 125 => }
0x02, 0x01, 0x02, 0x04, 0x02, 0x00, // 0x7E 126 => ~
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, // 0x7F 127 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 128 => ============================= LOGOS ===============================
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x81 129 =>
0x80, 0xC0, 0xC0, 0xC0, 0xE0, 0xF0, // 0x82 130 =>
0xF0, 0xF0, 0xF8, 0xF8, 0xFF, 0xFF, // 0x83 131 =>
0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, // 0x84 132 =>
0xF8, 0xF8, 0xE0, 0x00, 0x00, 0x00, // 0x85 133 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x86 134 =>
0xE0, 0xF0, 0xF8, 0xF8, 0xF0, 0xE0, // 0x87 135 =>
0xE0, 0xC0, 0xC0, 0x80, 0x00, 0x00, // 0x88 136 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x89 137 =>
0x00, 0x80, 0xE0, 0xF0, 0xE0, 0xE0, // 0x8A 138 =>
0xE0, 0x00, 0x00, 0x00, 0xC0, 0xC0, // 0x8B 139 =>
0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, // 0x8C 140 =>
0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, // 0x8D 141 =>
0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, // 0x8E 142 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, // 0x8F 143 =>
0xC0, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, // 0x90 144 =>
0x40, 0x00, 0x00, 0x00, 0x80, 0x80, // 0x91 145 =>
0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, // 0x92 146 =>
0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0x00, // 0x93 147 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x94 148 =>
0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, // 0x95 149 =>
0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, // 0x96 150 =>
0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, // 0x97 151 =>
0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, // 0x98 152 =>
0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, // 0x99 153 =>
0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, // 0x9A 154 =>
0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, // 0x9B 155 =>
0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, // 0x9C 156 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9D 157 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9E 158 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9F 159 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xA0 160 =>
0x00, 0x0C, 0x0E, 0x8E, 0xCE, 0xFF, // 0xA1 161 =>
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xA2 162 =>
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xA3 163 =>
0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xA4 164 =>
0x7F, 0x1F, 0x0F, 0x00, 0x00, 0x00, // 0xA5 165 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xA6 166 =>
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xA7 167 =>
0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x7E, // 0xA8 168 =>
0x3E, 0x3C, 0xDC, 0xE8, 0xF8, 0xFC, // 0xA9 169 =>
0xFE, 0xFF, 0xFF, 0x7F, 0x7F, 0xFF, // 0xAA 170 =>
0xFE, 0xFC, 0xF0, 0xE0, 0xFF, 0xFF, // 0xAB 171 =>
0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, // 0xAC 172 =>
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // 0xAD 173 =>
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, // 0xAE 174 =>
0x80, 0xE0, 0xF0, 0xF8, 0xFE, 0xFF, // 0xAF 175 =>
0xFF, 0xFF, 0x7F, 0x7F, 0xFF, 0xFF, // 0xB0 176 =>
0xFC, 0xF0, 0xE0, 0x83, 0x0F, 0x0F, // 0xB1 177 =>
0x1F, 0x3F, 0x7F, 0x7F, 0xFF, 0xFF, // 0xB2 178 =>
0xF9, 0xF1, 0xF1, 0xE1, 0xC1, 0xC0, // 0xB3 179 =>
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xB4 180 =>
0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, // 0xB5 181 =>
0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, // 0xB6 182 =>
0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, // 0xB7 183 =>
0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, // 0xB8 184 =>
0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, // 0xB9 185 =>
0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, // 0xBA 186 =>
0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, // 0xBB 187 =>
0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, // 0xBC 188 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBD 189 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBE 190 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBF 191 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0 192 =>
0x00, 0x00, 0x00, 0x01, 0x03, 0x0F, // 0xC1 193 =>
0x0F, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, // 0xC2 194 =>
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xC3 195 =>
0x7F, 0x7F, 0x7F, 0x3F, 0x1F, 0x1C, // 0xC4 196 =>
0x10, 0x10, 0x00, 0x00, 0x00, 0x00, // 0xC5 197 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC6 198 =>
0x03, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, // 0xC7 199 =>
0x1F, 0x03, 0x01, 0x00, 0x00, 0x00, // 0xC8 200 =>
0x00, 0x00, 0x01, 0x1F, 0x1F, 0x1F, // 0xC9 201 =>
0x1F, 0x1F, 0x1E, 0x1E, 0x0E, 0x0F, // 0xCA 202 =>
0x0F, 0x1F, 0x1F, 0x01, 0x0F, 0x0F, // 0xCB 203 =>
0x0F, 0x1F, 0x1F, 0x1F, 0x0F, 0x1F, // 0xCC 204 =>
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F, // 0xCD 205 =>
0x1F, 0x1F, 0x0F, 0x0F, 0x0F, 0x0F, // 0xCE 206 =>
0x0F, 0x01, 0x1F, 0x1F, 0x1F, 0x1F, // 0xCF 207 =>
0x1E, 0x1E, 0x1E, 0x0E, 0x0F, 0x0F, // 0xD0 208 =>
0x1F, 0x1F, 0x0F, 0x01, 0x00, 0x0E, // 0xD1 209 =>
0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, // 0xD2 210 =>
0x0F, 0x0F, 0x07, 0x07, 0x07, 0x03, // 0xD3 211 =>
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD4 212 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD5 213 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD6 214 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD7 215 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD8 216 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD9 217 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDA 218 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDB 219 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDC 220 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDD 221 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDE 222 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF 223 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE0 224 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE1 225 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE2 226 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE3 227 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE4 228 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE5 229 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE6 230 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE7 231 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE8 232 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE9 233 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xEA 234 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xEB 235 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xEC 236 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xED 237 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xEE 238 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xEF 239 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF0 240 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF1 241 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF2 242 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF3 243 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF4 244 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF5 245 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF6 246 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF7 247 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF8 248 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF9 249 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xFA 250 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xFB 251 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xFC 252 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xFD 253 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xFE 254 =>
0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0xFF 255 =>
};

View File

@ -0,0 +1,16 @@
# Kanagawa
A 75% keyboard with oled and rotary encoder for Elite-C
Keyboard Maintainer : Ciaanh
Hardware Supported : Kanagawa PCB
Hardware Availability : https://github.com/Ciaanh/keyboards/tree/main/Kanagawa
Make example for this keyboard (after setting up your build environment):
qmk compile -kb ciaanh/kanagawa -km default
Driver issues https://docs.qmk.fm/#/faq_build?id=unknown-device-for-dfu-bootloader

View File

@ -0,0 +1,33 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = qmk-dfu
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # 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 = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
OLED_ENABLE = no
DEFAULT_FOLDER = ciaanh/kanagawa/rev1