From 7b7689d30796c977b95197091c16e8bb97000101 Mon Sep 17 00:00:00 2001 From: milestogo Date: Sun, 14 Mar 2021 12:23:30 -0700 Subject: [PATCH 001/250] [Keymap] miles2go userspace update, add functions for babblepaste library, add prime_e keybard keymap (#9196) Co-authored-by: Drashna Jaelre --- .../prime_e/keymaps/milestogo/config.h | 41 +++ .../prime_e/keymaps/milestogo/keymap.c | 150 ++++++++ .../prime_e/keymaps/milestogo/readme.md | 2 + .../prime_e/keymaps/milestogo/rules.mk | 1 + users/miles2go/babblePaste.c | 130 ++++++- users/miles2go/babblePaste.h | 50 ++- users/miles2go/babblePaste.md | 71 +++- users/miles2go/babl_chromeos.c | 2 +- users/miles2go/babl_emacs.c | 1 + users/miles2go/babl_kitty.c | 153 ++++++++ users/miles2go/babl_nano.c | 77 ++++ users/miles2go/babl_vi.c | 1 + users/miles2go/config.h | 8 +- users/miles2go/milestogo.c | 29 +- users/miles2go/milestogo.h | 343 +++++++++--------- users/miles2go/readme.md | 2 +- users/miles2go/rules.mk | 2 +- 17 files changed, 842 insertions(+), 221 deletions(-) create mode 100644 keyboards/primekb/prime_e/keymaps/milestogo/config.h create mode 100644 keyboards/primekb/prime_e/keymaps/milestogo/keymap.c create mode 100644 keyboards/primekb/prime_e/keymaps/milestogo/readme.md create mode 100644 keyboards/primekb/prime_e/keymaps/milestogo/rules.mk create mode 100644 users/miles2go/babl_kitty.c create mode 100644 users/miles2go/babl_nano.c diff --git a/keyboards/primekb/prime_e/keymaps/milestogo/config.h b/keyboards/primekb/prime_e/keymaps/milestogo/config.h new file mode 100644 index 000000000000..24a42bb185c1 --- /dev/null +++ b/keyboards/primekb/prime_e/keymaps/milestogo/config.h @@ -0,0 +1,41 @@ +/* +Copyright 2019 Holten Campbell + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + + +#undef MATRIX_ROWS +#undef MATRIX_COLS +#undef MATRIX_ROW_PINS +#undef MATRIX_COL_PINS + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* Keyboard Matrix Assignments */ +#define MATRIX_ROW_PINS { E6, C7, B5, B4, C6 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D6, D4, D5, D3, D2, D1, D0, B6, D7} +#define UNUSED_PINS + +// Babble config +#define USE_BABBLEPASTE +#define BABL_MODSWAP +#define BABL_READMUX +#define BABL_KITTY +#define BABL_MAC +#define BABL_LINUX diff --git a/keyboards/primekb/prime_e/keymaps/milestogo/keymap.c b/keyboards/primekb/prime_e/keymaps/milestogo/keymap.c new file mode 100644 index 000000000000..ced250e51f36 --- /dev/null +++ b/keyboards/primekb/prime_e/keymaps/milestogo/keymap.c @@ -0,0 +1,150 @@ +/* Copyright 2018 Holten Campbell + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H +#include "milestogo.h" + +/* customized matrix needs to be updated in local config.h +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 +#define MATRIX_ROW_PINS { E6, C7, B5, B4, C6 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D6, D4, D5, D3, D2, D1, D0, B6, D7} +*/ + +#define LAYOUT_wrap_m2primee(...) LAYOUT_m2primee(__VA_ARGS__) +#define LAYOUT_wrap_m2primee_trns(...) LAYOUT_m2primee_trns(__VA_ARGS__) + +// clang-format off +#define LAYOUT_m2primee(\ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K112,\ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \ + K300, K301, K303, K304, K306, K308, K311, K312, \ + K413, K414 )\ + {\ + {K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, KC_NO},\ + {K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, KC_NO, K112, KC_NO, KC_NO},\ + {K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, KC_NO}, \ + {K300, K301, KC_NO, K303, K304, KC_NO, K306, KC_NO, K308, KC_NO, KC_NO, K311, K312, KC_NO, KC_NO}, \ + {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K413, K414 } \ + } + +#define LAYOUT_m2primee_trns(\ + K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, \ + K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K112, \ + K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211) \ + {\ + {KC_TRNS, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, KC_NO}, \ + {KC_TRNS, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, KC_NO, K112, KC_NO, KC_NO}, \ + {KC_LSFT, K201, K202, K203, K204, K205, KC_TRNS, K207, K208, K209, K210, K211, KC_TRNS, KC_NO, KC_NO}, \ + {KC_LALT, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_RSFT, KC_NO, KC_NO}, \ + {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, B_1ME, KC_ENTER } \ + } + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_wrap_m2primee(\ +KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_MINS, KC_EQL, +LT(_MOV,KC_ESC), _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, +KC_LSFT, _________________QWERTY_L3_________________, MO(_SYM), _________________QWERTY_R3_________________, KC_RSFT, +B_2ME, KC_LALT, LT(_NUM, KC_DEL), KC_BSPC, KC_SPC, LT(_NUM, KC_ESC), B_2ME, KC_RALT, +B_1ME, KC_ENTER), + + [_NUM] = LAYOUT_wrap_m2primee(\ +KC_TRNS, __________40_______NUM_L1__________________, __________40_______NUM_R1__________________, KC_VOLD, KC_VOLU, +KC_TRNS, __________40_______NUM_L2__________________, __________40_______NUM_R2__________________, KC_ENT, +KC_TRNS, __________40_______NUM_L3__________________, KC_TRNS, __________40_______NUM_R3__________________, KC_TRNS, +KC_TRNS, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +KC_TRNS, KC_TRNS), + + [_CDH] = LAYOUT_wrap_m2primee_trns(\ +______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, KC_TRNS, KC_TRNS, +______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, KC_QUOT, +______________COLEMAK_MOD_DH_L3____________, KC_TRNS, ______________COLEMAK_MOD_DH_R3____________), + + [_SYM] = LAYOUT_wrap_m2primee_trns(\ +___________________SYM_L1__________________, ___________________SYM_R1__________________, KC_TRNS, KC_TRNS, +___________________SYM_L2__________________, ___________________SYM_R2__________________, KC_TRNS, +___________________SYM_L3__________________, KC_TRNS, ___________________SYM_R3__________________), + + [_MOV] = LAYOUT_wrap_m2primee_trns(\ +__________40_______MOV_L1__________________, __________40_______MOV_R1__________________, KC_TRNS, KC_CDH, +__________40_______MOV_L2__________________, __________40_______MOV_R2__________________, KC_TRNS, +__________40_______MOV_L3__________________, KC_TRNS, __________40_______MOV_R3__________________), + + [_DMOV] = LAYOUT_wrap_m2primee_trns(\ +____________40__DELMOV_L1__________________, ____________40__DELMOV_R1__________________ , KC_TRNS, KC_CDH, +____________40__DELMOV_L2__________________, ____________40__DELMOV_R2__________________ , KC_TRNS, +____________40__DELMOV_L3__________________, KC_TRNS, ____________40__DELMOV_R3__________________ ), +}; + +// clang-format on + +void matrix_init_user(void) { + // set CapsLock LED to output and high by default, drop low when on. + setPinOutput(B1); + writePinHigh(B1); + // set NumLock LED to output and low + setPinOutput(B2); + writePinLow(B2); + // set ScrollLock LED to output and low + setPinOutput(B3); + writePinLow(B3); + + backlight_enable(); + backlight_level(2); +} + +bool led_update_kb(led_t led_state) { +#ifndef USE_BABBLEPASTE + // if we aren't using the LEDs to show bablepaste options, use them to show standard keyboard stuff + writePin(B1, led_state.caps_lock); + writePin(B2, led_state.num_lock); + writePin(B3, led_state.scroll_lock); +#endif + return true; +} + +void babble_modeswitch_kb(uint8_t mode) { +#ifdef USE_BABBLEPASTE + switch (mode) { + case (BABL_READMUX_MODE): + writePinHigh(B3); + writePinLow(B2); + backlight_level(1); + break; + case (BABL_LINUX_MODE): + writePinHigh(B2); + writePinLow(B3); + backlight_level(2); + break; + case (BABL_MAC_MODE): // backlight on, indicator leds off + writePinLow(B3); + writePinLow(B2); + backlight_level(4); + break; + } + + // call the user function + babble_modeswitch_user(mode); +#endif +} + +// function for layer indicator LED +layer_state_t layer_state_set_user(layer_state_t state) { + // Turn on top LED if we are in colemak, off for qwerty. + writePin(B1, layer_state_cmp(state, _CDH)); + return state; +} diff --git a/keyboards/primekb/prime_e/keymaps/milestogo/readme.md b/keyboards/primekb/prime_e/keymaps/milestogo/readme.md new file mode 100644 index 000000000000..c74eda3ea333 --- /dev/null +++ b/keyboards/primekb/prime_e/keymaps/milestogo/readme.md @@ -0,0 +1,2 @@ +# Modified keymap for Prime_E +My PrimeE has two added thumb switches, so it uses a slightly different keymap. \ No newline at end of file diff --git a/keyboards/primekb/prime_e/keymaps/milestogo/rules.mk b/keyboards/primekb/prime_e/keymaps/milestogo/rules.mk new file mode 100644 index 000000000000..81d9ace791c7 --- /dev/null +++ b/keyboards/primekb/prime_e/keymaps/milestogo/rules.mk @@ -0,0 +1 @@ +USER_NAME := miles2go diff --git a/users/miles2go/babblePaste.c b/users/miles2go/babblePaste.c index 2a32024cd2e2..cd032882bf03 100644 --- a/users/miles2go/babblePaste.c +++ b/users/miles2go/babblePaste.c @@ -12,13 +12,14 @@ and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jee #ifdef USE_BABBLEPASTE # include "babblePaste.h" -// small function that we might also want to call from a keymap. - // GLOBAL variable to determine mode. Sets startup default if no eeppom uint8_t babble_mode = 0; -// function to tell the user that the mode has changed -__attribute__((weak)) void babble_led_user(void) {} +// functions to tell the user that the mode has changed +__attribute__((weak)) void babble_modeswitch_user(uint8_t mode) {} +__attribute__((weak)) void babble_modeswitch_kb(uint8_t mode) { babble_modeswitch_user( mode); } + + void set_babble_mode(uint8_t id) { babble_mode = id; } @@ -27,6 +28,7 @@ void babble_mode_increment() { if (babble_mode >= BABL_MODEMAX) { babble_mode = 0; } + babble_modeswitch_kb(babble_mode); } void babble_mode_decrement() { @@ -35,21 +37,97 @@ void babble_mode_decrement() { } else { babble_mode = BABL_MODEMAX - 1; } + babble_modeswitch_kb(babble_mode); } /* this function runs the appropriate babblepaste macro, given the global babble_mode and a keycode defined in the babble_keycodes enum. -This could be made faster by splitting into two functions sorted by keycode range +This could be made faster by splitting into functions sorted by keycode range But that makes for a *lot* of ifdefs. */ -bool babblePaste(uint16_t keycode) { - // handle the OS/mode switching first +bool babblePaste(uint16_t keycode, bool is_pressed ) { + // handle keys that have up & down behavior first, then OS/mode switching, then macros + +// This is the key used for cut & paste (Propeller on Mac, Control elsewhere) +# ifdef BABL_MODSWAP + // WARNING, this assumes you have BABL_MAC_MODE defined. + if (keycode == BABL_PRIMARY_OS_MOD ) { + if (babble_mode == BABL_MAC_MODE) { + if (is_pressed) { + register_code(KC_LGUI); + } else { + unregister_code(KC_LGUI); + } + } else { // everybody else + + if (is_pressed) { + register_code(KC_LCTL); + } else { + unregister_code(KC_LCTL); + } + } + } + +// This is the os key not used in cut & paste. (CTRL on mac, GUI elsewhere) + if (keycode == BABL_SECONDARY_OS_MOD ) { + if (babble_mode == BABL_MAC_MODE) { + if (is_pressed) { + register_code(KC_LCTL); + } else { + unregister_code(KC_LCTL); + } + + } else { // everybody else + if (is_pressed) { + register_code(KC_LGUI); + } else { + unregister_code(KC_LGUI); + } + } + } + +// This is the alt key in most OSes. Mostly useful if you want to do hyper on one OS, Meh on another. + if (keycode == BABL_TERTIARY_OS_MOD ) { + if (babble_mode == BABL_MAC_MODE) { + if (is_pressed) { + register_code(KC_LALT); + } else { + unregister_code(KC_LALT); + } + } else { // everybody else + + if (is_pressed) { + register_code(KC_LALT); + } else { + unregister_code(KC_LALT); + } + } + } + +# endif + +// below here we are only running macros - don't serve any key up events. + if (is_pressed == 0 ) { + return true; + } + +// handle increment functions. + +if (keycode == BABL_MODE_INCREMENT) { + babble_mode_increment(); + return true; +} + +if (keycode == BABL_MODE_DECREMENT) { + babble_mode_decrement(); + return true; +} # ifdef BABL_MAC if (keycode == BABL_DO_MAC) { set_babble_mode(BABL_MAC_MODE); - babble_led_user(); + babble_modeswitch_kb(babble_mode); return true; } @@ -61,7 +139,7 @@ bool babblePaste(uint16_t keycode) { # ifdef BABL_VI if (keycode == BABL_DO_VI) { set_babble_mode(BABL_VI_MODE); - babble_led_user(); + babble_modeswitch_kb(babble_mode); return true; } if (babble_mode == BABL_VI_MODE) { @@ -71,7 +149,7 @@ bool babblePaste(uint16_t keycode) { # ifdef BABL_WINDOWS if (keycode == BABL_DO_WINDOWS) { set_babble_mode(BABL_WINDOWS_MODE); - babble_led_user(); + babble_modeswitch_kb(babble_mode); return true; } if (babble_mode == BABL_WINDOWS_MODE) { @@ -81,7 +159,7 @@ bool babblePaste(uint16_t keycode) { # ifdef BABL_LINUX if (keycode == BABL_DO_LINUX) { set_babble_mode(BABL_LINUX_MODE); - babble_led_user(); + babble_modeswitch_kb(babble_mode); return true; } if (babble_mode == BABL_LINUX_MODE) { @@ -91,27 +169,47 @@ bool babblePaste(uint16_t keycode) { # ifdef BABL_EMACS if (keycode == BABL_DO_EMACS) { set_babble_mode(BABL_EMACS_MODE); - babble_led_user(); + babble_modeswitch_kb(babble_mode); return true; } if (babble_mode == BABL_EMACS_MODE) { babblePaste_emacs(keycode); } # endif -# ifdef BABL_CHROME +# ifdef BABL_NANO + if (keycode == BABL_DO_NANO) { + set_babble_mode(BABL_NANO_MODE); + babble_modeswitch_kb(babble_mode); + return true; + } + if (babble_mode == BABL_NANO_MODE) { + babblePaste_nano(keycode); + } +# endif +# ifdef BABL_KITTY + if (keycode == BABL_DO_KITTY) { + set_babble_mode(BABL_KITTY_MODE); + babble_modeswitch_kb(babble_mode); + return true; + } + if (babble_mode == BABL_KITTY_MODE) { + babblePaste_kitty(keycode); + } +# endif +# ifdef BABL_CHROMEOS if (keycode == BABL_DO_CHROMEOS) { set_babble_mode(BABL_CHROMEOS_MODE); - babble_led_user(); + babble_modeswitch_kb(babble_mode); return true; } if (babble_mode == BABL_CHROMEOS_MODE) { - babblePaste_readmux(keycode); + babblePaste_chromeos(keycode); } # endif # ifdef BABL_READMUX if (keycode == BABL_DO_READMUX) { set_babble_mode(BABL_READMUX_MODE); - babble_led_user(); + babble_modeswitch_kb(babble_mode); return true; } if (babble_mode == BABL_READMUX_MODE) { diff --git a/users/miles2go/babblePaste.h b/users/miles2go/babblePaste.h index 606640227c47..8fc233e8d442 100644 --- a/users/miles2go/babblePaste.h +++ b/users/miles2go/babblePaste.h @@ -16,7 +16,8 @@ and jeebak & algernon's keymap void set_babble_mode(uint8_t id); void babble_mode_increment(void); void babble_mode_decrement(void); -void babble_led_user(void); +void babble_modeswitch_user(uint8_t mode); +void babble_modeswitch_kb(uint8_t mode); // manually re-order these if you want to set the order or default. enum babble_modes { @@ -32,19 +33,24 @@ enum babble_modes { # ifdef BABL_VI BABL_VI_MODE, # endif -# ifdef BABL_LINUX - BABL_LINUX_MODE, -# endif # ifdef BABL_EMACS BABL_EMACS_MODE, # endif +# ifdef BABL_NANO + BABL_NANO_MODE, +# endif +# ifdef BABL_KITTY + BABL_KITTY_MODE, +# endif # ifdef BABL_CHROMEOS BABL_CHROMEOS_MODE, +# endif +# ifdef BABL_LINUX + BABL_LINUX_MODE, # endif BABL_MODEMAX }; -// void babble_led_user( uint8_t id) /// Hacks to make it easier to create sendstring macros @@ -79,6 +85,13 @@ enum babble_modes { enum babble_keycodes { FIRST = BABBLE_START, + BABL_MODE_INCREMENT, + BABL_MODE_DECREMENT, +# ifdef BABL_MODSWAP + BABL_PRIMARY_OS_MOD, + BABL_SECONDARY_OS_MOD, + BABL_TERTIARY_OS_MOD, +# endif # ifdef BABL_MOVE // Movement macros // left & right @@ -171,6 +184,7 @@ enum babble_keycodes { # endif // BABL_APP_CELLS # ifdef BABL_APP_EDITOR BABL_APP_MULTI_SELECT, /* www.sublimetext.com/docs/2/multiple_selection_with_the_keyboard.html */ + BABL_APP_SET_MARK, // set editor mark # endif // BABL_APP_EDITOR # ifdef BABL_APP_WINDOWSPLITTING // These aren't useful on most oses. @@ -197,6 +211,12 @@ enum babble_keycodes { # ifdef BABL_EMACS BABL_DO_EMACS, # endif +# ifdef BABL_NANO + BABL_DO_NANO, +# endif +# ifdef BABL_KITTY + BABL_DO_KITTY, +# endif # ifdef BABL_VI BABL_DO_VI, # endif @@ -210,7 +230,7 @@ enum babble_keycodes { }; // primary function. -bool babblePaste(uint16_t keycode); +bool babblePaste(uint16_t keycode, bool is_pressed); /****************************************************/ /* All per-os includes and short mode switch macros*/ @@ -230,6 +250,14 @@ bool babblePaste_linux(uint16_t keycode); # define B_EMACS BABL_DO_EMACS bool babblePaste_emacs(uint16_t keycode); # endif +# ifdef BABL_NANO +# define B_NANO BABL_DO_NANO +bool babblePaste_nano(uint16_t keycode); +# endif +# ifdef BABL_KITTY +# define B_KITTY BABL_DO_KITTY +bool babblePaste_kitty(uint16_t keycode); +# endif # ifdef BABL_VI # define B_VI BABL_DO_VI bool babblePaste_vi(uint16_t keycode); @@ -243,12 +271,17 @@ bool babblePaste_readmux(uint16_t keycode); bool babblePaste_chromeos(uint16_t keycode); # endif -# define BABL_INC babble_mode_increment(); -# define BABL_DEC babble_mode_decrement(); /**************************************************** ** All keyboard macros for Babble Actions *****************************************************/ +# define B_INC BABL_MODE_INCREMENT +# define B_DEC BABL_MODE_DECREMENT +# ifdef BABL_MODSWAP +# define B_1ME BABL_PRIMARY_OS_MOD +# define B_2ME BABL_SECONDARY_OS_MOD +# define B_3ME BABL_TERTIARY_OS_MOD +# endif # ifdef BABL_MOVE # define B_L1C BABL_GO_LEFT_1C @@ -334,6 +367,7 @@ bool babblePaste_chromeos(uint16_t keycode); # endif // BABL_APP_CELLS # ifdef BABL_APP_EDITOR # define B_MSEL BABL_APP_MULTI_SELECT +# define B_MARK BABL_APP_SET_MARK /* www.sublimetext.com/docs/2/multiple_selection_with_the_keyboard.html */ # endif // BABL_APP_EDITOR # ifdef BABL_APP_WINDOWSPLITTING diff --git a/users/miles2go/babblePaste.md b/users/miles2go/babblePaste.md index cc1c31bd0d07..4f68cc4ae8d1 100644 --- a/users/miles2go/babblePaste.md +++ b/users/miles2go/babblePaste.md @@ -26,6 +26,7 @@ To switch modes, run the switch_babble_mode() function, or a pre defined BABL_DO #define BABL_MAC #define BABL_LINUX #define BABL_EMACS + #define BABL_NANO #define BABL_CHROMEOS //// These enable subsets of babble macros. Disable options to save space @@ -56,22 +57,22 @@ To switch modes, run the switch_babble_mode() function, or a pre defined BABL_DO Add the following to your keymap in process_record_user, before the main switch statement. ``` - #ifdef USE_BABBLEPASTE - if( keycode > BABBLE_START && keycode < BABBLE_END_RANGE ) { - if (record->event.pressed) { // is there a case where this isn't desired? - babblePaste ( keycode ); - } else{ - return true; - } +#ifdef USE_BABBLEPASTE + if (keycode > BABBLE_START && keycode < BABBLE_END_RANGE) { + if (record->event.pressed) { + babblePaste(keycode, 1); + } else { + babblePaste(keycode, 0); } - #endif + } +#endif ``` #### Add makefile rules Update your rules.mk to include the modes you want. - `SRC += babblePaste.c babl_windows.c babl_mac.c babl_vi.c babl_readmux.c babl_chromeos.c babl_emacs.c babl_linux.c` + `SRC += babblePaste.c babl_windows.c babl_mac.c babl_nano babl_vi.c babl_readmux.c babl_chromeos.c babl_emacs.c babl_linux.c` #### Custom Keycodes @@ -97,9 +98,18 @@ See the full list in babblePaste.h, or the list below B_LNX // switch to linux B_VI // switch to Vi mode B_EMAX // switch mode to emacs + B_NANO // switch mode to emacs B_READ // switch to readline /tmux mode B_CROM // switch to chromeos mode. - + + // Swap meaning of modifier key in most ergonomic location based on babble + // mode. Eg Thumb gets CTL on Win/Linux, pinky gets Windows key. Reverse for + // OS X. See first line in babblepaste function. + #define B_1ME BABL_PRIMARY_OS_MOD + #define B_2ME BABL_SECONDARY_OS_MOD + #define B_3ME BABL_TERTIARY_OS_MOD + +// Macros #define B_L1C BABL_GO_LEFT_1C #define B_R1C BABL_GO_RIGHT_1C #define B_L1W BABL_GO_LEFT_WORD @@ -137,6 +147,10 @@ See the full list in babblePaste.h, or the list below #define B_PAPP BABL_SWITCH_APP_LAST // previous #define B_CAPP BABL_CLOSE_APP #define B_HELP BABL_HELP + #define B_HELP BABL_HELP + #define B_LOCK BABL_LOCK + #define B_SCAP BABL_SCREENCAPTURE + #define B_KEYB BABL_SWITCH_KEYBOARD_LAYOUT #define B_NTAB BABL_BROWSER_NEW_TAB #define B_CTAB BABL_BROWSER_CLOSE_TAB @@ -151,9 +165,10 @@ See the full list in babblePaste.h, or the list below #define B_BDEV BABL_BROWSER_DEV_TOOLS // hard one to remember #define B_BRLD BABL_BROWSER_RELOAD #define B_BFULL BABL_BROWSER_FULLSCREEN - #define B_ZIN BABL_BROWSER_ZOOM_IN + #define B_ZIN BABL_BROWSER_ZOOM_IN #define B_ZOUT BABL_BROWSER_ZOOM_OUT + #define B_SAVE BABL_APP_SAVE #define B_PASTV BABL_APP_PASTE_VALUES #define B_CALN BABL_APP_CENTER_ALIGN #define B_CFMT BABL_APP_CLEAR_FORMATTING @@ -167,6 +182,7 @@ See the full list in babblePaste.h, or the list below #define B_SELR BABL_SELECT_ROW #define B_MSEL BABL_APP_MULTI_SELECT + #define B_MARK BABL_APP_SET_MARK #define B_VSPLIT BABL_SPLIT_FRAME_VERT #define B_VUNSPT BABL_UNSPLIT_FRAME_VERT #define B_HSPLIT BABL_SPLIT_FRAME_HORIZONTAL @@ -175,27 +191,48 @@ See the full list in babblePaste.h, or the list below #define B_PRVFM BABL_PREV_FRAME ``` +####Add babblepaste functions to your keyboard or userspace +Functions babble_led_user() and babble_led_kb() are called when babble mode is changed. +``` +void babble_modeswitch_kb(uint8_t mode){ + #ifdef USE_BABBLEPASTE + writePinLow(B3); writePinLow(B2); + switch(mode) { + case(BABL_LINUX_MODE): + writePinHigh(B2); + backlight_level(1); + break; + case(BABL_MAC_MODE): + writePinHigh(B3); + backlight_level(4); + break; + } + // call the user function + babble_modeswitch_user(mode); + #endif +``` + + ## Development FAQs **Todos** -eeprom store state of babble_mode? or update docs so that people can change the order of the enum in -babblespace.h? +eeprom store state of babble_mode? or update docs so that people can change the order of the enum in babblespace.h? **You have huge ifdef stanzas instead of functions** This fails gracefully if you don't have all options defined. Patch if you can think how to use fewer defines. -** Why not an array of arrays as a lookup instead of a function?** +**Why not an array of arrays as a lookup instead of a function?** This would allow you to store the lookup table in PROGMEM. True, but that takes more pre-processor skill than I have, and may be less portable to ARM or other flash mappings. -** Have you tested every key on every platform?** +**Have you tested every key on every platform?** No. Be careful, submit a patch. -** Why not update Apps at the same global level as the OS? ** +**Why not change apps App babble modes at the same global level as the OS?** This is only a good thing if it doesn't confuse the user. If you can show state of OS vs App, it's probably a good thing. -** Can the OS tell the keyboard what mode to use? ** +**Can the OS tell the keyboard what mode to use?** The keyboard side is easy to do with virtser_recv & a function that updates babble_mode. It still needs a PC side app to track where the keyboard focus is. One could use a keyboard macro to launch an app & switch modes for that app. diff --git a/users/miles2go/babl_chromeos.c b/users/miles2go/babl_chromeos.c index a0c461f24e9f..fd644fc5c583 100644 --- a/users/miles2go/babl_chromeos.c +++ b/users/miles2go/babl_chromeos.c @@ -14,7 +14,7 @@ Setting the context is done by another macro, or TBD interaction with the host. # ifdef BABL_CHROMEOS -bool babblepaste_chromeos(uint16_t keycode) { +bool babblePaste_chromeos(uint16_t keycode) { # ifdef BABL_MOVE BABLM(BABL_GO_LEFT_1C, SS_TAP(X_LEFT)); BABLM(BABL_GO_RIGHT_1C, SS_TAP(X_RIGHT)); diff --git a/users/miles2go/babl_emacs.c b/users/miles2go/babl_emacs.c index 201da0d1a368..87560b6eb839 100644 --- a/users/miles2go/babl_emacs.c +++ b/users/miles2go/babl_emacs.c @@ -69,6 +69,7 @@ bool babblePaste_emacs(uint16_t keycode) { # ifdef BABL_APP BABLM(BABL_APP_SAVE, SS_LCTL("x") SS_LCTL("s")); + BABLM(BABL_APP_SET_MARK, IMCTL(X_SPACE)); /// BABLM( BABL_APP_MULTI_SELECT, SS_LCTRL("x") "rt" ); // arguably BABLM(BABL_SPLIT_FRAME_VERT, SS_LCTRL("x") "3"); BABLM(BABL_UNSPLIT_FRAME_VERT, SS_LCTRL("u") SS_LCTRL("x") "0"); diff --git a/users/miles2go/babl_kitty.c b/users/miles2go/babl_kitty.c new file mode 100644 index 000000000000..44fd87e5ed15 --- /dev/null +++ b/users/miles2go/babl_kitty.c @@ -0,0 +1,153 @@ +/* Keyboard mappings for Kitty terminal +https://sw.kovidgoyal.net/kitty/index.html# + + A library to output the right key shortcut in any common app. +Given a global variable babble_mode to show the environment and a +key that calls the paste macro, do the right type of paste. +Setting the context is done by another macro, or TBD interaction with the host. + +Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts +and +https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jeebak/keymap.c +*/ + +#include QMK_KEYBOARD_H + +// #define TAB_MEANS TAB +/* #define TAB_MEANS_TAB to keep the meaning of "tab" and "window" used in kitty documentation. . + * Leaving tab undefined will mean that each babble window command applies to a tab, + * and each babble tab command applies to a window inside the kitty OS window. + */ +//#define TAB_MEANS_TAB + +#ifdef USE_BABBLEPASTE +# include "babblePaste.h" + +# ifdef BABL_KITTY + +bool babblePaste_kitty(uint16_t keycode) { +# ifdef BABL_MOVE + BABLM(BABL_GO_LEFT_1C, SS_TAP(X_LEFT)); + BABLM(BABL_GO_RIGHT_1C, SS_TAP(X_RIGHT)); + BABLM(BABL_GO_LEFT_WORD, IMCTL(X_LEFT)); + BABLM(BABL_GO_RIGHT_WORD, IMCTL(X_RIGHT)); + BABLM(BABL_GO_START_LINE, SS_TAP(X_HOME)); + BABLM(BABL_GO_END_LINE, SS_TAP(X_END)); + BABLM(BABL_GO_START_DOC, OMSFT(IMCTL(X_HOME))); + BABLM(BABL_GO_END_DOC, OMSFT(IMCTL(X_END))); + // leaving these for command line editing. + BABLM(BABL_GO_NEXT_LINE, SS_TAP(X_DOWN)); + BABLM(BABL_GO_PREV_LINE, SS_TAP(X_UP)); + // These are for kitty scrolling by one line + // BABLM(BABL_GO_NEXT_LINE, OMSFT(IMCTL(X_DOWN))); + // BABLM(BABL_GO_PREV_LINE, OMSFT(IMCTL(X_UP))); + // passthrough + BABLM(BABL_PGDN, OMSFT(IMCTL(X_PGDOWN))); // kitty pagedown + BABLM(BABL_PGUP, OMSFT(IMCTL(X_PGUP))); // kitty pageup + // passthrough to commanrd line/shell. + BABLM(BABL_DEL_RIGHT_1C, SS_LCTL("d")); + BABLM(BABL_DEL_LEFT_WORD, SS_LCTL("w")); // meta-DEL instead? + BABLM(BABL_DEL_RIGHT_WORD, SS_LALT("d")); + BABLM(BABL_DEL_TO_LINE_END, SS_LCTL("k")); + BABLM(BABL_DEL_TO_LINE_START, SS_LCTL("u")); + BABLM(BABL_GO_PARA_START, IMCTL(X_UP)); + BABLM(BABL_GO_PARA_END, IMCTL(X_DOWN)); + BABLM(BABL_MODE, "Kitty! "); +# endif +# ifdef BABL_OSKEYS + // cut isn't real, undo/redo are passthrough. + BABLM(BABL_UNDO, SS_LCTL("z")); + BABLM(BABL_REDO, SS_LCTL("y")); + BABLM(BABL_CUT, OMSFT(IMCTL(X_X))); + BABLM(BABL_COPY, OMSFT(IMCTL(X_C))); + BABLM(BABL_PASTE, OMSFT(IMCTL(X_V))); + BABLM(BABL_SELECT_ALL, SS_LCTL("a")); + BABLM(BABL_FIND, SS_LCTL("f")); // passthrough. + // BABLM(BABL_CLOSE_APP, IMALT(X_F4)); // gnome. + // BABLM(BABL_HELP, SS_TAP(X_F1)); // script to pop open kitty web page? + // 2 passthrough. + BABLM(BABL_FIND_NEXT, SS_LCTL("g")); // Gnome*/ + BABLM(BABL_FIND_PREV, OMSFT(IMCTL(X_G))); // Gnome*/ + // BABLM(BABL_FIND_NEXT (SS_LALT(X_F3)) ); //KDE */ + /* BABLM( BABL_FIND_REPLACE , (SS_LCTL("r")) ); // KDE */ + // BABLM(BABL_FIND_REPLACE, SS_LCTL("h")); // Gnome*/ + BABLM(BABL_RUNAPP, OMSFT(IMCTL(X_O))); // pass current selection to program. + BABLM(BABL_SWITCH_APP_NEXT, IMGUI(X_TAB)); + // BABLM(BABL_SWITCH_APP_LAST, OMSFT(IMALT(X_TAB))); + BABLM(BABL_WINDOW_NEXT, IMGUI(X_GRAVE)); // next OS window of kitty. + BABLM(BABL_WINDOW_PREV, OMSFT(IMGUI(X_GRAVE))); // NA? +# ifdef TAB_MEANS_TAB + BABLM(BABL_WINDOW_NEW, OMSFT(IMCTL(X_ENTER))); // a window is a window +# else + BABLM(BABL_WINDOW_NEW, OMSFT(IMCTL(X_T))); // a window is a tab +# endif + // KITTY - missing close window. + // BABLM( BABL_HELP, (SS_TAP(X_F1)) ); // NA? + // BABLM(BABL_LOCK, OMCTL(IMALT(X_L))); // NA passthrough + // BABLM(BABL_SCREENCAPTURE, IMSFT(X_PSCREEN)); // NA passthrough +# endif +# ifdef BABL_BROWSER + +# ifdef TAB_MEANS_TAB + // option A - do tab when I say tab. + BABLM(BABL_BROWSER_NEW_TAB, OMSFT(IMCTL(X_T))); + BABLM(BABL_BROWSER_CLOSE_TAB, OMSFT(IMCTL(X_Q))); + BABLM(BABL_BROWSER_NEXT_TAB, OMSFT(IMCTL(X_RIGHT))); + BABLM(BABL_BROWSER_PREV_TAB, OMSFT(IMCTL(X_LEFT))); + // ok, this is a bit of a stretch, overloading meaning of forwards/backwards + BABLM(BABL_BROWSER_FORWARD, OMSFT(IMCTL(X_DOT))); // move current kitty tab forwards + BABLM(BABL_BROWSER_BACK, OMSFT(IMCTL(X_COMMA))); // move current kitty tab back + // requires kitty config of "map ctrl+shift+f7 detach_window" + BABLM(BABL_BROWSER_REOPEN_LAST_TAB, IMCTL(X_F7)); // pop current frame into a window +# else // tab means window/frame. + // option B - do Kitty window (frame) when I say tab + BABLM(BABL_BROWSER_NEW_TAB, OMSFT(IMCTL(X_ENTER))); + BABLM(BABL_BROWSER_NEXT_TAB, OMSFT(IMCTL(X_LBRC))); + BABLM(BABL_BROWSER_PREV_TAB, OMSFT(IMCTL(X_RBRC))); + // ok, this is a bit of a stretch, overloading meaning of forwards/backwards + BABLM(BABL_BROWSER_FORWARD, OMSFT(IMCTL(X_F))); + BABLM(BABL_BROWSER_BACK, OMSFT(IMCTL(X_B))); + // kitty - questionable mental model - reopen current frame as a window + // requires kitty config of "map ctrl+shift+f6 detach_frame" + BABLM(BABL_BROWSER_REOPEN_LAST_TAB, IMCTL(X_F6)); // pop current frame into a window +# endif // tab means tab + + // BABLM(BABL_BROWSER_FIND, SS_LCTL("f")); + BABLM(BABL_BROWSER_BOOKMARK, SS_LCTL(SS_LSFT(SS_LALT("t")))); // bookmark == set tab title. + BABLM(BABL_BROWSER_DEV_TOOLS, OMSFT(IMCTL(X_F2))); // edit kitty config. + BABLM(BABL_BROWSER_RELOAD, OMSFT(IMCTL(X_DEL))); // reset terminal + BABLM(BABL_BROWSER_FULLSCREEN, OMSFT(IMCTL(X_F11))); + BABLM(BABL_BROWSER_ZOOM_IN, OMSFT(IMCTL(X_EQUAL))); + BABLM(BABL_BROWSER_ZOOM_OUT, OMSFT(IMCTL(X_MINUS))); + // Again, breaking model to overload "view source" + BABLM(BABL_BROWSER_VIEWSRC, OMSFT(IMCTL(X_O))); // open URL in browser + +# endif +# ifdef BABL_APP + BABLM(BABL_APP_SAVE, SS_LCTL("s")); // passthrough. +# ifdef TAB_MEANS_TAB // frames are called windows. + BABLM(BABL_SPLIT_FRAME_VERT, OMSFT(IMCTL(X_ENTER))); // add new frame in kitty window + BABLM(BABL_UNSPLIT_FRAME_VERT, OMSFT(IMCTL(X_W))); // close window + // BUG, this breaks the mental model. move the current frame forward/back in rotation + BABLM(BABL_SPLIT_FRAME_HORIZONTAL, OMSFT(IMCTL(X_F))); + BABLM(BABL_UNSPLIT_FRAME_HORIZONTAL, OMSFT(IMCTL(X_B))); + // KITTY - missing ctrl shift ` = move frame to top. + BABLM(BABL_NEXT_FRAME, OMSFT(IMCTL(X_RBRC))); + BABLM(BABL_PREV_FRAME, OMSFT(IMCTL(X_LBRC))); +# else // splits are tabs + BABLM(BABL_SPLIT_FRAME_VERT, OMSFT(IMCTL(X_T))); + BABLM(BABL_UNSPLIT_FRAME_VERT, OMSFT(IMCTL(X_Q))); // close Tab + BABLM(BABL_NEXT_FRAME, OMSFT(IMCTL(X_RIGHT))); + BABLM(BABL_PREV_FRAME, OMSFT(IMCTL(X_LEFT))); + // ok, this is a bit of a stretch, overloading meaning of forwards/backwards + BABLM(BABL_SPLIT_FRAME_HORIZONTAL, OMSFT(IMCTL(X_DOT))); // move current kitty tab forwards + BABLM(BABL_UNSPLIT_FRAME_HORIZONTAL, OMSFT(IMCTL(X_COMMA))); // move current kitty tab back +# endif // tab means tab +# endif + + // Todo, ring bell, flash light, show user this isn't supported + return false; +} + +# endif /* kitty mode */ +#endif diff --git a/users/miles2go/babl_nano.c b/users/miles2go/babl_nano.c new file mode 100644 index 000000000000..ebbe9b2bc5e9 --- /dev/null +++ b/users/miles2go/babl_nano.c @@ -0,0 +1,77 @@ +/* A library to output the right key shortcut in any common app. +Given a global variable babble_mode to show the environment and a +key that calls the paste macro, do the right type of paste. +Setting the context is done by another macro, or TBD interaction with the host. + +Nano mode is probably most useful for people who don't usually use Nano, but +sometimes find themselves using it. + +https://www.nano-editor.org/dist/latest/cheatsheet.html +*/ + +#include QMK_KEYBOARD_H + +#ifdef USE_BABBLEPASTE +# include "babblePaste.h" + +# ifdef BABL_NANO + +// probably should allow meta to not be ALT +# define DMETA IMALT + +bool babblePaste_nano(uint16_t keycode) { +# ifdef BABL_MOVE + BABLM(BABL_GO_LEFT_1C, SS_LCTRL("b")); + BABLM(BABL_GO_RIGHT_1C, SS_LCTL("f")); + BABLM(BABL_GO_LEFT_WORD, IMCTL(X_LEFT)); + BABLM(BABL_GO_RIGHT_WORD, IMCTL(X_RIGHT)); + BABLM(BABL_GO_START_LINE, SS_LCTRL("a")); + BABLM(BABL_GO_END_LINE, SS_LCTRL("e")); + BABLM(BABL_GO_START_DOC, IMALT(X_BSLS)); + BABLM(BABL_GO_END_DOC, IMALT(X_SLASH)); + BABLM(BABL_GO_NEXT_LINE, SS_LCTRL("n")); + BABLM(BABL_GO_PREV_LINE, SS_LCTRL("p")); + BABLM(BABL_GO_PARA_START, IMCTL(X_UP)); + BABLM(BABL_GO_PARA_END, IMCTL(X_DOWN)); + BABLM(BABL_PGDN, SS_LCTRL("v")); + BABLM(BABL_PGUP, SS_LCTRL("y")); + BABLM(BABL_DEL_RIGHT_1C, SS_LCTRL("d")); + BABLM(BABL_DEL_LEFT_WORD, IMCTL(X_BSPC)); + BABLM(BABL_DEL_RIGHT_WORD, IMCTL(X_DEL)); + // BABLM(BABL_DEL_TO_LINE_END, SS_LCTRL("k")); + // BABLM(BABL_DEL_TO_LINE_START, SS_TAP(X_ESCAPE) "0" SS_LCTRL("k")); + BABLM(BABL_MODE, "Nano "); +# endif +# ifdef BABL_OSKEYS + BABLM(BABL_UNDO, SS_LALT("u")); + BABLM(BABL_REDO, SS_LALT("e")); + BABLM(BABL_CUT, SS_LCTRL("k")); // arguably b/c line based, not selection + BABLM(BABL_COPY, SS_LALT("6")); // arguably + BABLM(BABL_PASTE, SS_LCTRL("u")); + // BABLM(BABL_SELECT_ALL, SS_LCTRL("x") "h"); + BABLM(BABL_FIND, SS_LCTRL("w")); + BABLM(BABL_FIND_NEXT, SS_LALT("w")); + BABLM(BABL_FIND_PREV, SS_LALT("q")); + BABLM(BABL_FIND_REPLACE, SS_LALT("r")); + BABLM(BABL_RUNAPP, SS_LCTL("t")); + BABLM(BABL_WINDOW_NEXT, OMALT(IMSFT(X_DOT))); + BABLM(BABL_WINDOW_PREV, OMALT(IMSFT(X_COMMA))); + BABLM(BABL_WINDOW_NEW, IMCTL(X_R) IMALT(X_F)); // + BABLM(BABL_CLOSE_APP, SS_LCTRL("x")); + BABLM(BABL_HELP, SS_LCTRL("g")); + + // BABLM( BABL_LOCK, () ); // lock buffer? Too many options. + // BABLM( BABL_SCREENCAPTURE, () ); // requires plugin? + +# endif + +# ifdef BABL_APP + BABLM(BABL_APP_SAVE, SS_LCTRL("s")); // save file blurs app & os. Move? + BABLM(BABL_APP_SET_MARK, SS_LALT("a")); +# endif + + // Todo, ring bell, flash light, show user this isn't supported + return false; +} +# endif /* nano mode*/ +#endif diff --git a/users/miles2go/babl_vi.c b/users/miles2go/babl_vi.c index 7eebc0b208da..f4b1d39d995b 100644 --- a/users/miles2go/babl_vi.c +++ b/users/miles2go/babl_vi.c @@ -59,6 +59,7 @@ bool babblePaste_vi(uint16_t keycode) { # ifdef BABL_APP BABLM(BABL_APP_SAVE, SS_TAP(X_ESCAPE) ":w"); + BABLM(BABL_APP_SET_MARK, SS_TAP(X_ESCAPE) "ma"); // real vi people probably want multiple marks,not just a # ifdef BABL_APP_WINDOWSPLITTING BABLM(BABL_SPLIT_FRAME_VERT, SS_TAP(X_ESCAPE) ":vsplit"); BABLM(BABL_UNSPLIT_FRAME_VERT, SS_TAP(X_ESCAPE) ":hide"); // debatable. diff --git a/users/miles2go/config.h b/users/miles2go/config.h index 3fb52b8a5983..a704df4b5550 100644 --- a/users/miles2go/config.h +++ b/users/miles2go/config.h @@ -34,6 +34,7 @@ #define USE_BABBLEPASTE // All options +#define BABL_MODSWAP #define BABL_MOVE // Uncomment to add basic cursor movement #define BABL_OSKEYS // This adds Cut, paste, window movement and common OS shortcuts #define BABL_BROWSER // Browser shortcuts, with Chrome/Firefox as the default. @@ -44,10 +45,11 @@ #define BABL_APP_WINDOWSPLITTING // splitting frames & windows //All OSes -#define BABL_WINDOWS + +//#define BABL_WINDOWS #define BABL_READMUX -#define BABL_VI +//#define BABL_VI #define BABL_MAC #define BABL_LINUX -#define BABL_EMACS +//#define BABL_EMACS #define BABL_CHROMEOS diff --git a/users/miles2go/milestogo.c b/users/miles2go/milestogo.c index f1da2f4d7ab4..1c7f174e4a4c 100644 --- a/users/miles2go/milestogo.c +++ b/users/miles2go/milestogo.c @@ -9,6 +9,8 @@ __attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t * bool move_is_on = false; // track if we are in _MOV layer bool sym_is_on = false; // track if we are in _SYM layer + + // Defines actions for global custom keycodes // Then runs the _keymap's record handier if not processed here bool process_record_user(uint16_t keycode, keyrecord_t *record) { @@ -16,24 +18,26 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef USE_BABBLEPASTE if (keycode > BABBLE_START && keycode < BABBLE_END_RANGE) { - if (record->event.pressed) { // is there a case where this isn't desired? - babblePaste(keycode); + if (record->event.pressed) { + babblePaste(keycode, 1); } else { - return true; + babblePaste(keycode, 0); } } #endif switch (keycode) { - case _QWERTY: + case KC_QWERTY: if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); + layer_off(_CDH); + default_layer_set(_QWERTY); } break; - case _CDH: + case KC_CDH: if (record->event.pressed) { - set_single_persistent_default_layer(_CDH); + layer_on(_CDH); + default_layer_set(_CDH); } break; @@ -71,9 +75,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return process_record_keymap(keycode, record); } -void babble_led_user(void) { +void babble_modeswitch_user(uint8_t mode) { #ifdef USE_BABLPASTE - extern uint8_t babble_mode; + extern uint8_t babble_mode; // still using global. why? # ifdef BABL_WINDOWS if (babble_mode == BABL_WINDOWS_MODE) { @@ -140,3 +144,10 @@ void babble_led_user(void) { # endif #endif // bablepaste } + + +// we always return true here, so that each keyboard can use it's own +// led_update_kb() function +bool led_update_user(led_t led_state ) { + return true; +} \ No newline at end of file diff --git a/users/miles2go/milestogo.h b/users/miles2go/milestogo.h index dfb344212e9d..3a99f6d2a8b5 100644 --- a/users/miles2go/milestogo.h +++ b/users/miles2go/milestogo.h @@ -1,4 +1,4 @@ -/* Modified from +/* Modified from Copyright 2017 Christopher Courtney @drashna This program is free software: you can redistribute it and/or modify @@ -15,117 +15,99 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - #pragma once #include "quantum.h" #include "version.h" #include "eeprom.h" - #ifdef USE_BABBLEPASTE -#include "babblePaste.h" -#endif +# include "babblePaste.h" +#endif #ifdef RGB_MATRIX_ENABLE -#include "rgb_matrix.h" +# include "rgb_matrix.h" #endif #define USERSPACE_ACTIVE /* Define layer names */ -enum userspace_layers { - _QWERTY=0, - _CDH, - _SYM, - _MOV, - _DMOV, - _NUM -}; - +enum userspace_layers { _QWERTY = 0, _CDH, _SYM, _MOV, _DMOV, _NUM }; /* define modifiers here, since MOD_* doesn't seem to work for these */ -#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) -#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTRL)) -#define MODS_ALT_MASK (MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT)) -#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)) +#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) +#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTRL)) +#define MODS_ALT_MASK (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT)) +#define MODS_GUI_MASK (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) #if defined(BABBLE_END_RANGE) - #define USER_START BABBLE_END_RANGE +# define USER_START BABBLE_END_RANGE #else - #if defined(KEYMAP_SAFE_RANGE) - #define USER_START KEYMAP_SAFE_RANGE - #else - #define USER_START SAFE_RANGE - #endif +# if defined(KEYMAP_SAFE_RANGE) +# define USER_START KEYMAP_SAFE_RANGE +# else +# define USER_START SAFE_RANGE +# endif #endif enum userspace_custom_keycodes { - EPRM = BABBLE_END_RANGE, // Resets EEPROM do defaults (as in eeconfig_init) - VRSN, // Prints QMK Firmware and board info - KC_QWERTY, // Sets default layer to QWERTY - KC_CDH, // Sets default layer to COLEMAK DH + EPRM = BABBLE_END_RANGE, // Resets EEPROM do defaults (as in eeconfig_init) + VRSN, // Prints QMK Firmware and board info + KC_QWERTY, // Sets default layer to QWERTY + KC_CDH, // Sets default layer to COLEMAK DH KC_MAKE, - VIBRK, // escape : - DHPASTE, // allow pasting via qwerty V,not colemak V - TMUX, // TMUX Ctrl-b - ALTSYM, // Alt when held, toggle MOV when tapped + VIBRK, // escape : + DHPASTE, // allow pasting via qwerty V,not colemak V + TMUX, // TMUX Ctrl-b + ALTSYM, // Alt when held, toggle MOV when tapped GUISYM, SPCMOV, - SAVE, // placeholder for CTRL-S while I get babble working again. - NEW_SAFE_RANGE //Keymap specific codes come AFTER this + SAVE, // placeholder for CTRL-S while I get babble working again. + NEW_SAFE_RANGE // Keymap specific codes come AFTER this }; - + #define QWERTY KC_QWERTY #define COLEMAK KC_CDH #define KC_RESET RESET - - #if (!defined(LAYOUT) && defined(KEYMAP)) -#define LAYOUT KEYMAP +# define LAYOUT KEYMAP #endif -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) +#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T +#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G +#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B -#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T -#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G -#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B +#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P +#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN +#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH -#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P -#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN -#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH +#define ______________COLEMAK_MOD_DH_L1____________ KC_Q, KC_W, KC_F, KC_P, KC_B +#define ______________COLEMAK_MOD_DH_L2____________ KC_A, KC_R, KC_S, KC_T, KC_G +#define ______________COLEMAK_MOD_DH_L3____________ KC_Z, KC_X, KC_C, KC_D, KC_V +#define ______________COLEMAK_MOD_DH_R1____________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN +#define ______________COLEMAK_MOD_DH_R2____________ KC_M, KC_N, KC_E, KC_I, KC_O +#define ______________COLEMAK_MOD_DH_R3____________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH -#define ______________COLEMAK_MOD_DH_L1____________ KC_Q, KC_W, KC_F, KC_P, KC_B -#define ______________COLEMAK_MOD_DH_L2____________ KC_A, KC_R, KC_S, KC_T, KC_G -#define ______________COLEMAK_MOD_DH_L3____________ KC_Z, KC_X, KC_C, KC_D, KC_V +#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5 +#define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0 -#define ______________COLEMAK_MOD_DH_R1____________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN -#define ______________COLEMAK_MOD_DH_R2____________ KC_M, KC_N, KC_E, KC_I, KC_O -#define ______________COLEMAK_MOD_DH_R3____________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH +#define ________________FKEYS__LEFT________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 +#define ________________FKEYS__RIGHT_______________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 +#define ________________FKEYS__FAR_RIGHT___________ KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END +#define ________________NAV_NUMBER_LEFT____________ KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX -#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5 -#define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0 - -#define ________________FKEYS__LEFT________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 -#define ________________FKEYS__RIGHT_______________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 -#define ________________FKEYS__FAR_RIGHT___________ KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END - -#define ________________NAV_NUMBER_LEFT____________ KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX - -#define ___________________BLANK___________________ _______, _______, _______, _______, _______ -#define ___________________BLOCK___________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - - - -// BabblePaste -#define ____________BABBLE_SWITCH_L________________ B_MAC , B_READ , B_LINUX, B_VI, _______ -#define ____________BABBLE_SWITCH_R________________ B_CROM, B_LINUX, B_WIN , QWERTY, COLEMAK +#define ___________________BLANK___________________ _______, _______, _______, _______, _______ +#define ___________________BLOCK___________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +// BabblePaste +#define ____________BABBLE_SWITCH_L________________ B_MAC, B_READ, B_LINUX, B_VI, _______ +#define ____________BABBLE_SWITCH_R________________ B_CROM, B_LINUX, B_WIN, QWERTY, COLEMAK /////////MOVE - Full size keyboard version @@ -140,17 +122,16 @@ enum userspace_custom_keycodes { * `--------------------------------------------' `--------------------------------------------' */ /* Movement layer similar to Extend, but fully enriched with babblepaste */ -#define ____________BABBLE_MOV_LNUM________________ B_LOCK, B_PAPP, B_NAPP, B_PASTV, XXXX +#define ____________BABBLE_MOV_LNUM________________ B_LOCK, B_PAPP, B_NAPP, B_PASTV, XXXX -#define ____________BABBLE_MOV_L1__________________ KC_ESC, B_FINDP, B_FIND, B_FINDN, B_NCEL -#define ____________BABBLE_MOV_L2__________________ B_SELA , MO(_DMOV),KC_LSFT,B_UNDO, B_HSPLIT -#define ____________BABBLE_MOV_L3__________________ B_VSPLIT, B_CUT, B_COPY, B_PASTE, B_PASTE - -#define ____________BABBLE_MOV_RNUM________________ XXXX, XXXX, B_KEYB, B_BDEV, B_LOCK -#define ____________BABBLE_MOV_R1__________________ B_PTOP, B_GSOL, B_UP, B_GEOL, B_PEND -#define ____________BABBLE_MOV_R2__________________ B_L1W, B_L1C, B_DOWN, B_R1C, B_R1W -#define ____________BABBLE_MOV_R3__________________ B_PWIN, B_PTAB, B_NTAB, B_NXTB, B_NWIN +#define ____________BABBLE_MOV_L1__________________ KC_ESC, B_FINDP, B_FIND, B_FINDN, B_NCEL +#define ____________BABBLE_MOV_L2__________________ B_SELA, MO(_DMOV), KC_LSFT, B_UNDO, B_HSPLIT +#define ____________BABBLE_MOV_L3__________________ B_VSPLIT, B_CUT, B_COPY, B_PASTE, B_PASTE +#define ____________BABBLE_MOV_RNUM________________ XXXX, XXXX, B_KEYB, B_BDEV, B_LOCK +#define ____________BABBLE_MOV_R1__________________ B_PTOP, B_GSOL, B_UP, B_GEOL, B_PEND +#define ____________BABBLE_MOV_R2__________________ B_L1W, B_L1C, B_DOWN, B_R1C, B_R1W +#define ____________BABBLE_MOV_R3__________________ B_PWIN, B_PTAB, B_NTAB, B_NXTB, B_NWIN // Move in a direction, deleting as we go, or do opposite of Mov layer action */ /* ,--------------------------------------------. ,--------------------------------------------. @@ -160,130 +141,162 @@ enum userspace_custom_keycodes { * |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| * 03 |Vsplit- | Cut | Copy | Paste |Paste | | App-- | ZoomOut| NewWin | ZoomIn | App+ | * `--------------------------------------------' `--------------------------------------------' - */ -#define _________BABBLE_DELMOV_L1__________________ KC_ESC, _______, B_RPLACE, B_MSEL, B_PASTV -#define _________BABBLE_DELMOV_L2__________________ XXXXXXX, _______, _______, B_REDO, B_HUNSPT -#define _________BABBLE_DELMOV_L3__________________ B_VUNSPT,B_CUT, B_COPY, B_PASTE, B_PRVFM + */ +#define _________BABBLE_DELMOV_L1__________________ KC_ESC, _______, B_RPLACE, B_MSEL, B_PASTV +#define _________BABBLE_DELMOV_L2__________________ XXXXXXX, _______, _______, B_REDO, B_HUNSPT +#define _________BABBLE_DELMOV_L3__________________ B_VUNSPT, B_CUT, B_COPY, B_PASTE, B_PRVFM -#define _________BABBLE_DELMOV_R1__________________ XXXXXXX, B_DSOL, _______, B_DEOL, XXXXXXX -#define _________BABBLE_DELMOV_R2__________________ B_DLW, KC_BSPC, _______, B_DEL, B_DRW -#define _________BABBLE_DELMOV_R3__________________ B_NAPP, B_ZOUT, B_WINN, B_ZIN, B_PAPP +#define _________BABBLE_DELMOV_R1__________________ XXXXXXX, B_DSOL, _______, B_DEOL, XXXXXXX +#define _________BABBLE_DELMOV_R2__________________ B_DLW, KC_BSPC, _______, B_DEL, B_DRW +#define _________BABBLE_DELMOV_R3__________________ B_NAPP, B_ZOUT, B_WINN, B_ZIN, B_PAPP /* SYM / excel / programming logic +=1 optimization*/ /* ,----------------------------------. ,----------------------------------. - * 01 | | [ | ] | { | | | | } | ( | ) | | + * 01 | | [ | ] | { | } | | { | } | ( | ) | | * |------+------+------+------+------| |------+------+------+------+------| * 02 | ^ | ! | = | 0 | $ | | # | 1 | - | + | ` | * |------+------+------+------+------| |------+------+------+------+------| * 03 | \ | % | @ | | | _ | | * | & | ~ | . | / | * `----------------------------------' `----------------------------------' Memnonics - ^begining end$ . &&/|| on strong finger. #at start of line. - * (multiply) opposite / - Minus is left of plus as normal. + ^begining end$ . &&/|| on strong finger. #at start of line. + * (multiply) opposite / + Minus is left of plus as normal. ` is a shifted '' - ~/ is an outwards roll. / .* is a roll. !=0 is a roll , ++1 --1 roll. - _ is hard to get to. + ~/ is an outwards roll. / .* is a roll. !=0 is a roll , ++1 --1 roll. + _ is hard to get to. + */ +#define ___________________SYM_L1__________________ XXXXXXX, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR +#define ___________________SYM_L2__________________ KC_CIRC, KC_EXLM, KC_EQL, KC_0, KC_DLR +#define ___________________SYM_L3__________________ KC_BSLS, KC_PERC, KC_AT, KC_PIPE, KC_UNDS + +#define ___________________SYM_R1__________________ KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, XXXXXXX +#define ___________________SYM_R2__________________ KC_HASH, KC_1, KC_MINS, KC_PLUS, KC_GRAVE +#define ___________________SYM_R3__________________ KC_ASTR, KC_AMPR, KC_TILDE, KC_DOT, KC_SLASH +// Move and brackets - 40% optimization. +/* ,--------------------------------------------. ,--------------------------------------------. + * 01 | ESC | ( | ) | { | } | | PgDn |LineStrt| Up | EOL | PGUp | + * |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + * 02 | [ |DelMove | Shift | Undo | ] | | WrdLft | Left | Down | Right | WrdRght| + * |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + * 03 | CDH | Cut | Copy | Paste | Paste | | Babl-- | Tab-- | NewTab | Tab++ | Babl++ | + * `--------------------------------------------' `--------------------------------------------' */ -#define ___________________SYM_L1__________________ XXXXXXX, KC_LBRC, KC_RBRC, KC_LCBR, XXXXXXX -#define ___________________SYM_L2__________________ KC_CIRC, KC_EXLM, KC_EQL, KC_0, KC_DLR -#define ___________________SYM_L3__________________ KC_BSLS, KC_PERC, KC_AT, KC_PIPE, KC_UNDS - -#define ___________________SYM_R1__________________ XXXXXXX, KC_RCBR, KC_LPRN, KC_RPRN, XXXXXXX -#define ___________________SYM_R2__________________ KC_HASH, KC_KP_1, KC_MINS, KC_PLUS, KC_GRAVE -#define ___________________SYM_R3__________________ KC_PERC, KC_TILDE,KC_AMPR, KC_DOT, KC_SLASH +#define __________40_______MOV_L1__________________ KC_ESC, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR +#define __________40_______MOV_L2__________________ KC_LBRC, MO(_DMOV), KC_LSFT, KC_UNDO, KC_RBRC +#define __________40_______MOV_L3__________________ KC_CDH, B_CUT, B_COPY, B_PASTE, B_PASTE +#define __________40_______MOV_R1__________________ B_PGDN, B_GSOL, B_UP, B_GEOL, B_PGUP +#define __________40_______MOV_R2__________________ B_L1W, B_L1C, B_DOWN, B_R1C, B_R1W +#define __________40_______MOV_R3__________________ B_DEC, B_PTAB, B_NTAB, B_NXTB, B_INC -/* excel centric symbol layer*/ - /* ,--------------------------------------------. ,--------------------------------------------. - * 01 | DelRow|InsCol | SelCol |PasteVal| | | . | 1 | 2 | 3 | | +// Move in a direction, deleting as we go, or do opposite of Mov layer action +/* ,--------------------------------------------. ,--------------------------------------------. + * 01 | Esc | | B_print| | | | Zoom-- |LineStrt| . | EOL | Zoom++| * |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - * 02 | - |InsRow | SelRow | Undo | + | | * | 4 | 5 | 6 | - | + * 02 | | Do_DEL | Shift | Redo | | | WrdLft | Left | . | Right | WrdRght| * |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - * 03 | Undo | Cut | Copy | Paste |Paste | | / | 7 | 8 | 9 | Paste | + * 03 | Qwerty | Cut | Copy | Paste |Paste | | WIN-- |PrvFrame| Split |nxtFrame| Win++ | * `--------------------------------------------' `--------------------------------------------' - */ -#define _________________EXCEL_L1__________________ B_DROW, B_ICOL, B_SELC, B_PASTV, XXXX -#define _________________EXCEL_L2__________________ KC_MINS, B_ICOL, B_SELC, B_UNDO, KC_PLUS -#define _________________EXCEL_L3__________________ B_UNDO, B_CUT, B_COPY, B_PASTE, B_PASTE - -#define _________________EXCEL_R1__________________ XXXXXXX, KC_1, KC_2, KC_3, XXXXXXX -#define _________________EXCEL_R2__________________ KC_ASTR, KC_4, KC_5, KC_6, KC_MINS -#define _________________EXCEL_R3__________________ KC_SLASH, KC_7, KC_8, KC_8, B_PASTE +#define ____________40__DELMOV_L1__________________ KC_ESC, XXXXXXX, B_MODE, XXXXXXX, XXXXXXX +#define ____________40__DELMOV_L2__________________ XXXXXXX, _______, _______, B_REDO, XXXXXXX +#define ____________40__DELMOV_L3__________________ KC_QWERTY, _______, _______, _______, _______ +#define ____________40__DELMOV_R1__________________ B_ZOUT, B_DSOL, _______, B_DEOL, B_ZIN +#define ____________40__DELMOV_R2__________________ B_DLW, KC_BSPC, _______, B_DEL, B_DRW +#define ____________40__DELMOV_R3__________________ B_PWIN, B_PRVFM, B_VSPLIT, B_NXTFM, B_NWIN -/* Based on BEKL 15 punctuation -* ,----------------------------------. ,----------------------------------. - * 01 | | < | $ | > | | | | [ | _ | ] | | +/* NUM + symbol / programming logic +=1 optimization*/ +/* ,----------------------------------. ,----------------------------------. + * 01 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | * |------+------+------+------+------| |------+------+------+------+------| - * 02 | \ | ( | "" | ) | # | | % | { | = | } | "|" | + * 02 | ^ | ! | = | 0 | $ | | # | 1 | - | + | ` | * |------+------+------+------+------| |------+------+------+------+------| - * 03 | | : | * | + | | | | & | ^ | ~ | | + * 03 | \ | % | @ | | | _ | | * | & | ~ | . | / | * `----------------------------------' `----------------------------------' Memnonics - + ^begining end$ . &&/|| on strong finger. #at start of line. + Minus is left of plus as normal. ` is a shifted '' + ~/ and is an outwards roll. / * is a roll. + _ is hard to get to. */ -#define ______________BEKL_SYM_L1__________________ XXXXXXX, KC_LBRC, KC_RBRC, KC_LCBR, XXXXXXX -#define ______________BEKL_SYM_L2__________________ KC_CIRC, KC_EXLM, KC_EQL, KC_0, KC_DLR -#define ______________BEKL_SYM_L3__________________ KC_BSLS, KC_PERC, KC_AT, KC_PIPE, KC_UNDS - -#define ______________BEKL_SYM_R1__________________ XXXXXXX, KC_RCBR, KC_LPRN, KC_RPRN, XXXXXXX -#define ______________BEKL_SYM_R2__________________ KC_HASH, KC_KP_1, KC_MINS, KC_PLUS, KC_GRAVE -#define ______________BEKL_SYM_R3__________________ KC_PERC, KC_TILDE,KC_AMPR, KC_DOT, KC_SLASH - -// NUM + +#define __________40_______NUM_L1__________________ ________________NUMBER_LEFT________________ +#define __________40_______NUM_L2__________________ KC_CIRC, KC_EXLM, KC_EQL, KC_0, KC_DLR +#define __________40_______NUM_L3__________________ KC_BSLS, KC_PERC, KC_AT, KC_PIPE, KC_UNDS + +#define __________40_______NUM_R1__________________ ________________NUMBER_RIGHT_______________ +#define __________40_______NUM_R2__________________ KC_HASH, KC_1, KC_MINS, KC_PLUS, KC_GRAVE +#define __________40_______NUM_R3__________________ KC_ASTR, KC_AMPR, KC_TILDE, KC_DOT, KC_SLASH + +// NUM /* ,----------------------------------. ,----------------------------------. * 01 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | * |------+------+------+------+------| |------+------+------+------+------| - * 02 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | + * 02 | F1 | F2 | F3 | F4 | F5 | | + | 4 | 5 | 6 | - | * |------+------+------+------+------| |------+------+------+------+------| - * 03 | F11 | F12 | | | QWERT| | CDH | | | | | + * 03 | F11 | F12 | | CDH| QWERT| | 0 | 1 | 2 | 3 | . | * `----------------------------------' `----------------------------------' */ - -#define ___________________NUM_L1__________________ ________________NUMBER_LEFT________________ -#define ___________________NUM_L2__________________ ________________FKEYS__LEFT________________ -#define ___________________NUM_L3__________________ KC_F11, KC_F11, XXXXXXX, XXXXXXX, QWERTY - -#define ___________________NUM_R1__________________ ________________NUMBER_RIGHT_______________ -#define ___________________NUM_R2__________________ ________________FKEYS__RIGHT_______________ -#define ___________________NUM_R3__________________ COLEMAK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - - - -/* NUM / excel / programming logic +=1 optimization*/ + +#define ___________________NUM_L1__________________ ________________NUMBER_LEFT________________ +#define ___________________NUM_L2__________________ ________________FKEYS__LEFT________________ +#define ___________________NUM_L3__________________ KC_F11, KC_F11, XXXXXXX, XXXXXXX, QWERTY + +#define ___________________NUM_R1__________________ ________________NUMBER_RIGHT_______________ +#define ___________________NUM_R2__________________ KC_PLUS, KC_4, KC_5, KC_6, KC_MINS +#define ___________________NUM_R3__________________ KC_0, KC_1, KC_2, KC_3, KC_DOT + +// Standard Sym /* ,----------------------------------. ,----------------------------------. - * 01 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - * |------+------+------+------+------| |------+------+------+------+------| - * 02 | ^ | ! | = | 0 | $ | | # | 1 | - | + | ` | + * 01 | ! | @ | # | $ | % | | ^ | & | * | ( | ) | * |------+------+------+------+------| |------+------+------+------+------| - * 03 | \ | % | @ | | | _ | | * | & | ~ | . | / | - * `----------------------------------' `----------------------------------' - Memnonics - ^begining end$ . &&/|| on strong finger. #at start of line. * missing? - Minus is left of plus as normal. ` is a shifted '' - ~/ is an outwards roll. / * is a roll. - _ is hard to get to. - */ -#define __________40_______NUM_L1__________________ ________________NUMBER_LEFT________________ -#define __________40_______NUM_L2__________________ KC_CIRC, KC_EXLM, KC_EQL, KC_0, KC_DLR -#define __________40_______NUM_L3__________________ KC_BSLS, KC_PERC, KC_AT, KC_PIPE, KC_UNDS - -#define __________40_______NUM_R1__________________ ________________NUMBER_RIGHT_______________ -#define __________40_______NUM_R2__________________ KC_HASH, KC_KP_1, KC_MINS, KC_PLUS, KC_GRAVE -#define __________40_______NUM_R3__________________ KC_PERC, KC_TILDE, KC_AMPR,KC_DOT, KC_SLASH - +#define __________________SSYM_L1__________________ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC +#define __________________SSYM_R1__________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN + +#define _________________ADJUST_L1_________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG +#define _________________ADJUST_L2_________________ MU_TOG, CK_TOGG, AU_ON, AU_OFF, AG_NORM +#define _________________ADJUST_L3_________________ RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_RGB_T + +#define _________________ADJUST_R1_________________ KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5 +#define _________________ADJUST_R2_________________ AG_SWAP, QWERTY, COLEMAK, DVORAK, WORKMAN +#define _________________ADJUST_R3_________________ MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT + +/* excel centric symbol layer*/ +/* ,--------------------------------------------. ,--------------------------------------------. +* 01 | DelRow|InsCol | SelCol |PasteVal| | | . | 1 | 2 | 3 | | +* |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| +* 02 | - |InsRow | SelRow | Undo | + | | * | 4 | 5 | 6 | - | +* |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| +* 03 | Undo | Cut | Copy | Paste |Paste | | / | 7 | 8 | 9 | Paste | +* `--------------------------------------------' `--------------------------------------------' -#define _________________ADJUST_L1_________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG -#define _________________ADJUST_L2_________________ MU_TOG , CK_TOGG, AU_ON, AU_OFF, AG_NORM -#define _________________ADJUST_L3_________________ RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T +*/ +#define _________________EXCEL_L1__________________ B_DROW, B_ICOL, B_SELC, B_PASTV, XXXX +#define _________________EXCEL_L2__________________ KC_MINS, B_ICOL, B_SELC, B_UNDO, KC_PLUS +#define _________________EXCEL_L3__________________ B_UNDO, B_CUT, B_COPY, B_PASTE, B_PASTE -#define _________________ADJUST_R1_________________ KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5 -#define _________________ADJUST_R2_________________ AG_SWAP, QWERTY, COLEMAK, DVORAK, WORKMAN -#define _________________ADJUST_R3_________________ MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT +#define _________________EXCEL_R1__________________ XXXXXXX, KC_1, KC_2, KC_3, XXXXXXX +#define _________________EXCEL_R2__________________ KC_ASTR, KC_4, KC_5, KC_6, KC_MINS +#define _________________EXCEL_R3__________________ KC_SLASH, KC_7, KC_8, KC_8, B_PASTE +/* Based on BEKL 15 punctuation + * ,----------------------------------. ,----------------------------------. + * 01 | | < | $ | > | | | | [ | _ | ] | | + * |------+------+------+------+------| |------+------+------+------+------| + * 02 | \ | ( | "" | ) | # | | % | { | = | } | "|" | + * |------+------+------+------+------| |------+------+------+------+------| + * 03 | | : | * | + | | | | & | ^ | ~ | | + * `----------------------------------' `----------------------------------' + */ +#define ______________BEKL_SYM_L1__________________ XXXXXXX, KC_LBRC, KC_RBRC, KC_LCBR, XXXXXXX +#define ______________BEKL_SYM_L2__________________ KC_CIRC, KC_EXLM, KC_EQL, KC_0, KC_DLR +#define ______________BEKL_SYM_L3__________________ KC_BSLS, KC_PERC, KC_AT, KC_PIPE, KC_UNDS +#define ______________BEKL_SYM_R1__________________ XXXXXXX, KC_RCBR, KC_LPRN, KC_RPRN, XXXXXXX +#define ______________BEKL_SYM_R2__________________ KC_HASH, KC_KP_1, KC_MINS, KC_PLUS, KC_GRAVE +#define ______________BEKL_SYM_R3__________________ KC_PERC, KC_TILDE, KC_AMPR, KC_DOT, KC_SLASH diff --git a/users/miles2go/readme.md b/users/miles2go/readme.md index b55f51b15fd2..57983660bec4 100644 --- a/users/miles2go/readme.md +++ b/users/miles2go/readme.md @@ -3,7 +3,7 @@ This is my personal userspace file. Most of my code exists here, as it's heavily shared. ## Custom Keycodes -See the babblepaste.txt readme +See the babblepaste.md readme ## Layer Indication diff --git a/users/miles2go/rules.mk b/users/miles2go/rules.mk index 7fb771952744..b7a7dcdba83f 100644 --- a/users/miles2go/rules.mk +++ b/users/miles2go/rules.mk @@ -1,4 +1,4 @@ -SRC += milestogo.c babblePaste.c babl_windows.c babl_mac.c babl_vi.c babl_readmux.c babl_chromeos.c babl_emacs.c babl_linux.c +SRC += milestogo.c babblePaste.c babl_windows.c babl_mac.c babl_vi.c babl_readmux.c babl_chromeos.c babl_kitty.c babl_linux.c LTO_ENABLE = yes ifeq ($(strip $(MACROS_ENABLED)), yes) From 45e6bb7add65d4fd733feb2ae1a059782d7f2cfc Mon Sep 17 00:00:00 2001 From: Monksoffunk Date: Mon, 15 Mar 2021 04:55:59 +0900 Subject: [PATCH 002/250] Add Cassette42 (#10562) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/cassette42/cassette42.c | 16 ++ keyboards/cassette42/cassette42.h | 34 +++ keyboards/cassette42/common/glcdfont.c | 233 ++++++++++++++++++ keyboards/cassette42/common/oled_helper.c | 25 ++ keyboards/cassette42/common/oled_helper.h | 22 ++ keyboards/cassette42/config.h | 52 ++++ keyboards/cassette42/info.json | 12 + keyboards/cassette42/keymaps/default/keymap.c | 174 +++++++++++++ .../cassette42/keymaps/default/readme.md | 1 + keyboards/cassette42/readme.md | 15 ++ keyboards/cassette42/rules.mk | 26 ++ 11 files changed, 610 insertions(+) create mode 100644 keyboards/cassette42/cassette42.c create mode 100644 keyboards/cassette42/cassette42.h create mode 100644 keyboards/cassette42/common/glcdfont.c create mode 100644 keyboards/cassette42/common/oled_helper.c create mode 100644 keyboards/cassette42/common/oled_helper.h create mode 100644 keyboards/cassette42/config.h create mode 100644 keyboards/cassette42/info.json create mode 100644 keyboards/cassette42/keymaps/default/keymap.c create mode 100644 keyboards/cassette42/keymaps/default/readme.md create mode 100644 keyboards/cassette42/readme.md create mode 100644 keyboards/cassette42/rules.mk diff --git a/keyboards/cassette42/cassette42.c b/keyboards/cassette42/cassette42.c new file mode 100644 index 000000000000..f5ca2b8a98a6 --- /dev/null +++ b/keyboards/cassette42/cassette42.c @@ -0,0 +1,16 @@ +/* Copyright 2019 monksoffunk + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "cassette42.h" diff --git a/keyboards/cassette42/cassette42.h b/keyboards/cassette42/cassette42.h new file mode 100644 index 000000000000..32a686f3de92 --- /dev/null +++ b/keyboards/cassette42/cassette42.h @@ -0,0 +1,34 @@ +/* Copyright 2019 monksoffunk + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k10, k11, \ + k00, k01, k02, k03\ +) \ +{ \ + { k00, k01, k02, k03, k10, k11 }, \ +} diff --git a/keyboards/cassette42/common/glcdfont.c b/keyboards/cassette42/common/glcdfont.c new file mode 100644 index 000000000000..dcffc71958a9 --- /dev/null +++ b/keyboards/cassette42/common/glcdfont.c @@ -0,0 +1,233 @@ +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#include "progmem.h" + +// Standard ASCII 5x7 font + +static const unsigned char font[] PROGMEM = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, +0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, +0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, +0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, +0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, +0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, +0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, +0x00, 0x18, 0x24, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, +0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, +0x26, 0x29, 0x79, 0x29, 0x26, 0x00, +0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, +0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, +0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, +0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, +0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, +0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, +0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, +0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, +0x60, 0x60, 0x60, 0x60, 0x60, 0x00, +0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, +0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, +0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, +0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, +0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, +0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, +0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, +0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, +0x00, 0x07, 0x00, 0x07, 0x00, 0x00, +0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, +0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, +0x23, 0x13, 0x08, 0x64, 0x62, 0x00, +0x36, 0x49, 0x56, 0x20, 0x50, 0x00, +0x00, 0x08, 0x07, 0x03, 0x00, 0x00, +0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, +0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, +0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, +0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, +0x00, 0x80, 0x70, 0x30, 0x00, 0x00, +0x08, 0x08, 0x08, 0x08, 0x08, 0x00, +0x00, 0x00, 0x60, 0x60, 0x00, 0x00, +0x20, 0x10, 0x08, 0x04, 0x02, 0x00, +0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, +0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, +0x72, 0x49, 0x49, 0x49, 0x46, 0x00, +0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, +0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, +0x27, 0x45, 0x45, 0x45, 0x39, 0x00, +0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, +0x41, 0x21, 0x11, 0x09, 0x07, 0x00, +0x36, 0x49, 0x49, 0x49, 0x36, 0x00, +0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, +0x00, 0x00, 0x14, 0x00, 0x00, 0x00, +0x00, 0x40, 0x34, 0x00, 0x00, 0x00, +0x00, 0x08, 0x14, 0x22, 0x41, 0x00, +0x14, 0x14, 0x14, 0x14, 0x14, 0x00, +0x00, 0x41, 0x22, 0x14, 0x08, 0x00, +0x02, 0x01, 0x59, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, +0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, +0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, +0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, +0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, +0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, +0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, +0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, +0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, +0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, +0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, +0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, +0x26, 0x49, 0x49, 0x49, 0x32, 0x00, +0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, +0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, +0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, +0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, +0x63, 0x14, 0x08, 0x14, 0x63, 0x00, +0x03, 0x04, 0x78, 0x04, 0x03, 0x00, +0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, +0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, +0x02, 0x04, 0x08, 0x10, 0x20, 0x00, +0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, +0x04, 0x02, 0x01, 0x02, 0x04, 0x00, +0x40, 0x40, 0x40, 0x40, 0x40, 0x00, +0x00, 0x03, 0x07, 0x08, 0x00, 0x00, +0x20, 0x54, 0x54, 0x78, 0x40, 0x00, +0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, +0x38, 0x44, 0x44, 0x44, 0x28, 0x00, +0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, +0x38, 0x54, 0x54, 0x54, 0x18, 0x00, +0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, +0x18, 0x24, 0x24, 0x1C, 0x38, 0x00, +0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, +0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, +0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, +0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, +0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, +0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, +0x38, 0x44, 0x44, 0x44, 0x38, 0x00, +0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, +0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, +0x48, 0x54, 0x54, 0x54, 0x24, 0x00, +0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, +0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, +0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, +0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, +0x44, 0x28, 0x10, 0x28, 0x44, 0x00, +0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, +0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, +0x00, 0x08, 0x36, 0x41, 0x00, 0x00, +0x00, 0x00, 0x77, 0x00, 0x00, 0x00, +0x00, 0x41, 0x36, 0x08, 0x00, 0x00, +0x02, 0x01, 0x02, 0x04, 0x02, 0x00, +0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, +0x00, 0x00, 0x00, 0xFE, 0x01, 0x19, +0x05, 0xC1, 0x21, 0x31, 0xD1, 0x11, +0x11, 0x11, 0x11, 0x11, 0x11, 0xD1, +0x31, 0x21, 0xC1, 0x01, 0x01, 0x01, +0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x3E, 0x3E, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0x3E, 0x3E, 0x3E, +0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, +0x00, 0x00, 0x3E, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0x3E, 0xBE, 0xBE, +0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x7E, +0x00, 0x00, 0xF8, 0xF8, 0xF8, 0x00, +0xF8, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, +0xF8, 0xF8, 0x00, 0x00, 0x00, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, +0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, +0xC0, 0xF0, 0xFE, 0x7E, 0x1E, 0xFE, +0xFE, 0xFE, 0xFE, 0x00, 0x00, 0xF0, +0xFC, 0xFC, 0xFE, 0x1E, 0x9E, 0xFE, +0xFC, 0xFC, 0xF0, 0x00, 0x00, 0x00, +0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, +0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, +0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, +0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, +0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, +0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, +0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, +0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x40, 0x60, +0x50, 0x48, 0x69, 0x4B, 0x4A, 0x4A, +0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, +0x4B, 0x69, 0x48, 0x50, 0x60, 0x40, +0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x7C, 0x7C, 0x7F, 0x7F, +0x7F, 0x3F, 0x1F, 0x00, 0x7C, 0x7C, +0x7F, 0x7F, 0x7F, 0x3F, 0x1F, 0x07, +0x00, 0x00, 0x00, 0x0F, 0x3F, 0x7F, +0x7F, 0x7F, 0x7F, 0x7C, 0x7D, 0x7D, +0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7C, +0x00, 0x00, 0x7B, 0x7B, 0x7B, 0x78, +0x7B, 0x7B, 0x7B, 0x78, 0x7F, 0x7F, +0x7F, 0x3F, 0x00, 0x00, 0x00, 0x7F, +0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x03, +0x03, 0x03, 0x03, 0x03, 0x03, 0x03, +0x03, 0x03, 0x03, 0x00, 0x00, 0x06, +0x07, 0x07, 0x07, 0x07, 0x00, 0x7F, +0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x00, +0x41, 0x73, 0x78, 0x7E, 0x7F, 0x7F, +0x7F, 0x7B, 0x78, 0x00, 0x00, 0x00, +0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, +0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, +0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, +0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, +0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, +0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, +0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, +0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; diff --git a/keyboards/cassette42/common/oled_helper.c b/keyboards/cassette42/common/oled_helper.c new file mode 100644 index 000000000000..de908f128aaa --- /dev/null +++ b/keyboards/cassette42/common/oled_helper.c @@ -0,0 +1,25 @@ +#ifdef OLED_DRIVER_ENABLE +# include QMK_KEYBOARD_H +# include +# include + +void render_logo(void) { + static const char PROGMEM 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, 0}; + oled_write_P(logo, false); +} + +# ifdef RGBLIGHT_ENABLE +extern rgblight_config_t rgblight_config; +static char led_buf[24] = "LED state ready.\n"; +rgblight_config_t rgblight_config_bak; + +void update_led_status(void) { + if (rgblight_config_bak.enable != rgblight_config.enable || rgblight_config_bak.mode != rgblight_config.mode || rgblight_config_bak.hue != rgblight_config.hue || rgblight_config_bak.sat != rgblight_config.sat || rgblight_config_bak.val != rgblight_config.val) { + snprintf(led_buf, sizeof(led_buf) - 1, "%c H%2d S%2d V%2d MODE%2d", rgblight_config.enable ? '*' : '.', (uint8_t)(rgblight_config.hue / RGBLIGHT_HUE_STEP), (uint8_t)(rgblight_config.sat / RGBLIGHT_SAT_STEP), (uint8_t)(rgblight_config.val / RGBLIGHT_VAL_STEP), (uint8_t)rgblight_config.mode); + rgblight_config_bak = rgblight_config; + } +} + +void render_led_status(void) { oled_write(led_buf, false); } +# endif +#endif diff --git a/keyboards/cassette42/common/oled_helper.h b/keyboards/cassette42/common/oled_helper.h new file mode 100644 index 000000000000..6c2680664cd1 --- /dev/null +++ b/keyboards/cassette42/common/oled_helper.h @@ -0,0 +1,22 @@ +#ifdef OLED_DRIVER_ENABLE + +void render_logo(void); + +# define RENDER_LOGO(a) render_logo(a) + +# ifdef RGBLIGHT_ENABLE +void update_led_status(void); +void render_led_status(void); +# define UPDATE_LED_STATUS() update_led_status() +# define RENDER_LED_STATUS(a) render_led_status(a) +# else +# define UPDATE_LED_STATUS() +# define RENDER_LED_STATUS(a) +# endif + +#else +# define RENDER_LOGO(a) +# define UPDATE_LED_STATUS() +# define RENDER_LED_STATUS(a) + +#endif \ No newline at end of file diff --git a/keyboards/cassette42/config.h b/keyboards/cassette42/config.h new file mode 100644 index 000000000000..1729c31fbd84 --- /dev/null +++ b/keyboards/cassette42/config.h @@ -0,0 +1,52 @@ +/* +Copyright 2019 monksoffunk + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0xCA42 +#define DEVICE_VER 0x0001 +#define MANUFACTURER monksoffunk +#define PRODUCT cassette42 + +/* key matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 6 + +#define DIRECT_PINS {{ B4, F6, F5, F4, B5, F7 }} +#define UNUSED_PINS + +#define ENCODERS_PAD_A { B6, B3 } +#define ENCODERS_PAD_B { B2, B1 } +#define ENCODER_RESOLUTION 4 + +#define RGB_DI_PIN D3 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 5 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +# define RGBLIGHT_ANIMATIONS +#endif + +#define OLED_FONT_H "keyboards/cassette42/common/glcdfont.c" diff --git a/keyboards/cassette42/info.json b/keyboards/cassette42/info.json new file mode 100644 index 000000000000..f792797ec885 --- /dev/null +++ b/keyboards/cassette42/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "cassette42", + "url": "http://www.sho-k.co.uk/tech/1246.html", + "maintainer": "monksoffunk", + "width": 4, + "height": 2.75, + "layouts": { + "LAYOUT": { + "layout": [{"x":0.5, "y":0.75}, {"x":2.5, "y":0.75}, {"x":0, "y":1.75}, {"x":1, "y":1.75}, {"x":2, "y":1.75}, {"x":3, "y":1.75}] + } + } +} \ No newline at end of file diff --git a/keyboards/cassette42/keymaps/default/keymap.c b/keyboards/cassette42/keymaps/default/keymap.c new file mode 100644 index 000000000000..2f53c1d6ca95 --- /dev/null +++ b/keyboards/cassette42/keymaps/default/keymap.c @@ -0,0 +1,174 @@ +/* Copyright 2019 monksoffunk + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +#include "common/oled_helper.h" + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + RGBRST = SAFE_RANGE, + WRTROM, +}; + +enum layer_number { + _AUDIO = 0, + _HUE, + _SAT, + _VAL, + _MODE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // LAYOUT(LeftEncoder, RightEncoder, LeftSwitch, CenterLeftSwitch, CenterRightSwitch, RightSwitch) + [_AUDIO] = LAYOUT(KC_MUTE, KC_ENT, LT(_HUE, KC_MPRV), LT(_SAT, KC_MPLY), LT(_VAL, KC_MNXT), LT(_MODE, KC_SPC)), + [_HUE] = LAYOUT(RGB_TOG, RGBRST, _______, _______, RGB_HUD, RGB_HUI), + [_SAT] = LAYOUT(_______, _______, _______, _______, RGB_SAD, RGB_SAI), + [_VAL] = LAYOUT(_______, _______, RGB_VAD, RGB_VAI, _______, RGB_VAI), + [_MODE] = LAYOUT(_______, WRTROM, RGB_RMOD, RGB_MOD, RGB_MOD, _______), +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case WRTROM: +#ifdef RGBLIGHT_ENABLE + if (record->event.pressed) { + eeconfig_update_rgblight_current(); + } +#endif + return false; + break; + + case RGBRST: +#ifdef RGBLIGHT_ENABLE + if (record->event.pressed) { + eeconfig_update_rgblight_default(); + rgblight_enable(); + } +#endif + return false; + break; + } + return true; +} + +#ifdef OLED_DRIVER_ENABLE +# include +# include + +// assign the right code to your layers for OLED display +# define L_AUDIO 0 +# define L_HUE (1 << _HUE) +# define L_SAT (1 << _SAT) +# define L_VAL (1 << _VAL) +# define L_MODE (1 << _MODE) + +void render_status(void) { + render_logo(); + // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below + switch (layer_state) { + case L_AUDIO: + oled_write_P(PSTR("audio control\n"), false); + break; + case L_HUE: + oled_write_P(PSTR("rgb HUE control\n"), false); + break; + case L_SAT: + oled_write_P(PSTR("rgb SAT control\n"), false); + break; + case L_VAL: + oled_write_P(PSTR("rgb VAL control\n"), false); + break; + case L_MODE: + oled_write_P(PSTR("rgb MODE control\n"), false); + break; + default: + break; + } + UPDATE_LED_STATUS(); + RENDER_LED_STATUS(); +} + +void oled_task_user(void) { + if (is_keyboard_master()) { + render_status(); + } else { + render_logo(); + } +} +#endif + +void led_set_user(uint8_t usb_led) {} + +void encoder_update_user(uint8_t index, bool clockwise) { + oled_on(); + if (index == 0) { /* left encoder */ + switch (layer_state) { + case L_AUDIO: + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + + case L_HUE: +#ifdef RGBLIGHT_ENABLE + if (clockwise) { + rgblight_increase_hue_noeeprom(); + } else { + rgblight_decrease_hue_noeeprom(); + } +#endif + break; + + case L_SAT: +#ifdef RGBLIGHT_ENABLE + if (clockwise) { + rgblight_increase_sat_noeeprom(); + } else { + rgblight_decrease_sat_noeeprom(); + } +#endif + break; + + case L_VAL: +#ifdef RGBLIGHT_ENABLE + if (clockwise) { + rgblight_increase_val_noeeprom(); + } else { + rgblight_decrease_val_noeeprom(); + } +#endif + break; + + case L_MODE: +#ifdef RGBLIGHT_ENABLE + if (clockwise) { + rgblight_step_noeeprom(); + } else { + rgblight_step_reverse_noeeprom(); + } +#endif + break; + } + } else if (index == 1) { /* right encoder */ + if (clockwise) { + tap_code(KC_DOWN); + } else { + tap_code(KC_UP); + } + } +} diff --git a/keyboards/cassette42/keymaps/default/readme.md b/keyboards/cassette42/keymaps/default/readme.md new file mode 100644 index 000000000000..cf1a7bc43359 --- /dev/null +++ b/keyboards/cassette42/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for cassette42 \ No newline at end of file diff --git a/keyboards/cassette42/readme.md b/keyboards/cassette42/readme.md new file mode 100644 index 000000000000..2ba9a661bb19 --- /dev/null +++ b/keyboards/cassette42/readme.md @@ -0,0 +1,15 @@ +# Cassette42 + +![cassette42](https://pbs.twimg.com/media/D63q5S0UcAE9Rfj?format=jpg&name=large) + +An audio control pad with 4 switches and 2 rotary encoders. + +* Keyboard Maintainer: [monksoffunk](https://github.com/monksoffunk) [@monksoffunkJP](https://twitter.com/monksoffunkJP) +* Hardware Supported: Cassette 42 PCB +* Hardware Availability: [Yushakobo Shop](https://yushakobo.jp/shop/cassette42/) + +Make example for this keyboard (after setting up your build environment): + + make cassette42:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/cassette42/rules.mk b/keyboards/cassette42/rules.mk new file mode 100644 index 000000000000..4fd8e384b354 --- /dev/null +++ b/keyboards/cassette42/rules.mk @@ -0,0 +1,26 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +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 +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +OLED_DRIVER_ENABLE = yes + +SRC += ./common/oled_helper.c From 739925c902488e39cced8f8ef03c77ef6cfee751 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 15 Mar 2021 07:17:09 +1100 Subject: [PATCH 003/250] Add info.json for RGBKB Pan (#12218) --- keyboards/rgbkb/pan/info.json | 83 +++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 keyboards/rgbkb/pan/info.json diff --git a/keyboards/rgbkb/pan/info.json b/keyboards/rgbkb/pan/info.json new file mode 100644 index 000000000000..93f8dba6c7e9 --- /dev/null +++ b/keyboards/rgbkb/pan/info.json @@ -0,0 +1,83 @@ +{ + "keyboard_name": "RGBKB Pan", + "url": "https://www.rgbkb.net/collections/all/products/pan-keyboard-diy-kit", + "maintainer": "Legonut", + "width": 13, + "height": 6.25, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x": 0, "y": 0}, + + {"x": 12, "y": 0}, + + {"x": 0, "y": 1.25}, + {"x": 1, "y": 1.25}, + {"x": 2, "y": 1.25}, + {"x": 3, "y": 1.25}, + {"x": 4, "y": 1.25}, + {"x": 5, "y": 1.25}, + {"x": 6, "y": 1.25}, + {"x": 7, "y": 1.25}, + {"x": 8, "y": 1.25}, + {"x": 9, "y": 1.25}, + {"x": 10, "y": 1.25}, + {"x": 11, "y": 1.25}, + {"x": 12, "y": 1.25}, + + {"x": 0, "y": 2.25, "w": 1.5}, + {"x": 1.5, "y": 2.25}, + {"x": 2.5, "y": 2.25}, + {"x": 3.5, "y": 2.25}, + {"x": 4.5, "y": 2.25}, + {"x": 5.5, "y": 2.25}, + {"x": 6.5, "y": 2.25}, + {"x": 7.5, "y": 2.25}, + {"x": 8.5, "y": 2.25}, + {"x": 9.5, "y": 2.25}, + {"x": 10.5, "y": 2.25}, + {"x": 11.5, "y": 2.25, "w": 1.5}, + + {"x": 0, "y": 3.25, "w": 1.5}, + {"x": 1.5, "y": 3.25}, + {"x": 2.5, "y": 3.25}, + {"x": 3.5, "y": 3.25}, + {"x": 4.5, "y": 3.25}, + {"x": 5.5, "y": 3.25}, + {"x": 6.5, "y": 3.25}, + {"x": 7.5, "y": 3.25}, + {"x": 8.5, "y": 3.25}, + {"x": 9.5, "y": 3.25}, + {"x": 10.5, "y": 3.25}, + {"x": 11.5, "y": 3.25, "w": 1.5}, + + {"x": 0, "y": 4.25}, + {"x": 1, "y": 4.25}, + {"x": 2, "y": 4.25}, + {"x": 3, "y": 4.25}, + {"x": 4, "y": 4.25}, + {"x": 5, "y": 4.25}, + {"x": 6, "y": 4.25}, + {"x": 7, "y": 4.25}, + {"x": 8, "y": 4.25}, + {"x": 9, "y": 4.25}, + {"x": 10, "y": 4.25}, + {"x": 11, "y": 4.25}, + {"x": 12, "y": 4.25}, + + {"x": 0, "y": 5.25, "w": 1.5}, + {"x": 1.5, "y": 5.25}, + {"x": 2.5, "y": 5.25}, + {"x": 3.5, "y": 5.25}, + {"x": 4.5, "y": 5.25}, + {"x": 5.5, "y": 5.25}, + {"x": 6.5, "y": 5.25}, + {"x": 7.5, "y": 5.25}, + {"x": 8.5, "y": 5.25}, + {"x": 9.5, "y": 5.25}, + {"x": 10.5, "y": 5.25}, + {"x": 11.5, "y": 5.25, "w": 1.5} + ] + } + } +} From b44bffe954dca574bf6ef16b8c8d985e9547d3e1 Mon Sep 17 00:00:00 2001 From: yhaliaw <43424755+yhaliaw@users.noreply.github.com> Date: Mon, 15 Mar 2021 04:19:05 +0800 Subject: [PATCH 004/250] [Keymap] Add yhaliaw keymap for Planck/Rev6.1. (#11318) --- keyboards/planck/keymaps/yhaliaw/config.h | 29 +++ keyboards/planck/keymaps/yhaliaw/keymap.c | 221 ++++++++++++++++++++ keyboards/planck/keymaps/yhaliaw/readme.md | 32 +++ keyboards/planck/keymaps/yhaliaw/rules.mk | 5 + keyboards/preonic/keymaps/yhaliaw/config.h | 12 ++ keyboards/preonic/keymaps/yhaliaw/keymap.c | 231 +++++++++++++++++++++ keyboards/preonic/keymaps/yhaliaw/rules.mk | 4 + 7 files changed, 534 insertions(+) create mode 100644 keyboards/planck/keymaps/yhaliaw/config.h create mode 100644 keyboards/planck/keymaps/yhaliaw/keymap.c create mode 100644 keyboards/planck/keymaps/yhaliaw/readme.md create mode 100644 keyboards/planck/keymaps/yhaliaw/rules.mk create mode 100644 keyboards/preonic/keymaps/yhaliaw/config.h create mode 100644 keyboards/preonic/keymaps/yhaliaw/keymap.c create mode 100644 keyboards/preonic/keymaps/yhaliaw/rules.mk diff --git a/keyboards/planck/keymaps/yhaliaw/config.h b/keyboards/planck/keymaps/yhaliaw/config.h new file mode 100644 index 000000000000..ac241b8a6c77 --- /dev/null +++ b/keyboards/planck/keymaps/yhaliaw/config.h @@ -0,0 +1,29 @@ +/* Copyright 2020 Andrew Liaw + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#ifdef AUDIO_ENABLE +#define STARTUP_SONG SONG(PLANCK_SOUND) +#endif + +#define RGBLIGHT_LAYERS +#define RGBLIGHT_LED_MAP {8, 2, 3, 7, 6, 5, 4, 0, 1} + +#define MK_COMBINED + +#define LEADER_TIMEOUT 200 +#define LEADER_PER_KEY_TIMING diff --git a/keyboards/planck/keymaps/yhaliaw/keymap.c b/keyboards/planck/keymaps/yhaliaw/keymap.c new file mode 100644 index 000000000000..8b7851cee6e0 --- /dev/null +++ b/keyboards/planck/keymaps/yhaliaw/keymap.c @@ -0,0 +1,221 @@ +/* Copyright 2020 Andrew Liaw + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum planck_layers { + _BASE, + _LOWER, + _RAISE, + _ADJUST, +}; + +enum planck_keycodes { + L_RESET = SAFE_RANGE, +}; + +#ifdef AUDIO_ENABLE +float planck_sound[][2] = SONG(PLANCK_SOUND); +#endif + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / | Shift| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Leader| Ctrl | Alt | GUI | Lower| Enter| Space| Raise| GUI | Alt | Ctrl | Del | + * `-----------------------------------------------------------------------------------' + */ + [_BASE] = LAYOUT_planck_grid( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LEAD, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_ENT, KC_SPC, RAISE, KC_RGUI, KC_RALT, KC_RCTL, KC_DEL + ), + + /* Lower + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | | | | | | Left | Down | Up | Right| | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | Home | End | Pg Up| Pg Dn| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_LOWER] = LAYOUT_planck_grid( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_BSLS, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Raise + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | _ | + | { | } | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_RAISE] = LAYOUT_planck_grid( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + + /* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | Reset| Debug| Clear| RGB | HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | |Aud on|Audoff| Swap | Norm | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | |Mus on|Musoff| NKRO | 6KRO | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_ADJUST] = LAYOUT_planck_grid( + _______, L_RESET, DEBUG, EEP_RST, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, + _______, XXXXXXX, XXXXXXX, AU_ON, AU_OFF, AG_SWAP, AG_NORM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, XXXXXXX, XXXXXXX, MU_ON, MU_OFF, NK_ON, NK_OFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +const rgblight_segment_t PROGMEM base_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 9, 0, 0, 0}); + +const rgblight_segment_t PROGMEM lower_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 8, HSV_RED}); + +const rgblight_segment_t PROGMEM raise_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 8, HSV_GREEN}); + +const rgblight_segment_t PROGMEM adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 8, HSV_BLUE}); + +const rgblight_segment_t PROGMEM capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({4, 5, HSV_WHITE}); + +// Later layers take precedence. +const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST( + base_layer, + lower_layer, + raise_layer, + adjust_layer, + capslock_layer +); + +bool audio_disable = false; + +void keyboard_pre_init_user(void) { + // If the audio is off during hardware init, + // it causes problem when the audio is turn on later. + // The workaround is to always set the audio on during hardware init, + // then toggle audio back to the setting. +#ifdef AUDIO_ENABLE + if (!is_audio_on()) { + audio_disable = true; + audio_on(); + } +#endif +} + +void matrix_init_user(void) { + // To fix a audio related problem. See comments in keyboard_pre_init_user(). +#ifdef AUDIO_ENABLE + if (audio_disable) { + audio_off(); + } +#endif +} + +void keyboard_post_init_user(void) { + rgblight_layers = rgb_layers; + rgblight_set_layer_state(0, true); +} + +bool leader_found; +LEADER_EXTERNS(); + +void matrix_scan_user(void) { + LEADER_DICTIONARY() { + leading = false; + leader_found = false; + SEQ_ONE_KEY(L_RESET) { + leader_found = true; + reset_keyboard(); + } + else + SEQ_ONE_KEY(KC_DEL) { + leader_found = true; + layer_clear(); + } + else + SEQ_ONE_KEY(LOWER) { + leader_found = true; + layer_on(_LOWER); + } + else + SEQ_ONE_KEY(RAISE) { + leader_found = true; + layer_on(_RAISE); + } + leader_end(); + } +} + +void leader_end(void) { + // Plays sound on if leader sequence found. + if (leader_found) { +#ifdef AUDIO_ENABLE + PLAY_SONG(planck_sound); +#endif + } +} + +bool led_update_user(led_t led_state) { + // Turn on RBG for capslock. + rgblight_set_layer_state(4, led_state.caps_lock); + return true; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + // Set RBG layer according to active keymap layer. + rgblight_set_layer_state(1, layer_state_cmp(state, 1)); + rgblight_set_layer_state(2, layer_state_cmp(state, 2)); + rgblight_set_layer_state(3, layer_state_cmp(state, 1) && layer_state_cmp(state, 2)); + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +bool music_mask_user(uint16_t keycode) { + switch (keycode) { + case RAISE: + case LOWER: + return false; + default: + return true; + } +} diff --git a/keyboards/planck/keymaps/yhaliaw/readme.md b/keyboards/planck/keymaps/yhaliaw/readme.md new file mode 100644 index 000000000000..a10e54bd935a --- /dev/null +++ b/keyboards/planck/keymaps/yhaliaw/readme.md @@ -0,0 +1,32 @@ +# yhaliaw Planck layout + +The layout for Planck by yhaliaw. + +Developed and tested on Planck Rev 6.1. + +## Features + +Leader sequences can be used to turn on layers without holding the key and reset the layers. +Leader sequences are triggered by key the series of key in quick succession. +See Base layer notes in Layout section. + +Successful leader sequences will play the planck sound if sound is enabled. + +The RGB underglow is linked to the layers and capslock. + +## Keycodes + +Most Keycodes are standard [QMK keycodes](https://docs.qmk.fm/#/keycodes). + +### Custom Keycodes + +The `RESET` key to start the bootloader is access by a leader sequence. +This is done to prevent a mispress. +See Adjust layer notes in Layout section. + +The `Clear` key is used to clear the EEPROM of the keyboard. +This can be seen as resetting the state of the keyboard. +Replug the keyboard to load in the resetted states. + +## Layout +![yhaliaw planck layout](https://i.imgur.com/HvYva64.png) \ No newline at end of file diff --git a/keyboards/planck/keymaps/yhaliaw/rules.mk b/keyboards/planck/keymaps/yhaliaw/rules.mk new file mode 100644 index 000000000000..2c8510c3e0ed --- /dev/null +++ b/keyboards/planck/keymaps/yhaliaw/rules.mk @@ -0,0 +1,5 @@ +LEADER_ENABLE = yes + +RGBLIGHT_ENABLE = yes +ENCODER_ENABLE = no +DIP_SWITCH_ENABLE = no diff --git a/keyboards/preonic/keymaps/yhaliaw/config.h b/keyboards/preonic/keymaps/yhaliaw/config.h new file mode 100644 index 000000000000..84ec6e1af3a0 --- /dev/null +++ b/keyboards/preonic/keymaps/yhaliaw/config.h @@ -0,0 +1,12 @@ + +#pragma once + +#ifdef AUDIO_ENABLE +#define STARTUP_SONG SONG(PLANCK_SOUND) +#endif + +#define RGBLIGHT_LAYERS +#define RGBLIGHT_LED_MAP {8, 2, 3, 7, 6, 5, 4, 0, 1} + +#define LEADER_TIMEOUT 200 +#define LEADER_PER_KEY_TIMING diff --git a/keyboards/preonic/keymaps/yhaliaw/keymap.c b/keyboards/preonic/keymaps/yhaliaw/keymap.c new file mode 100644 index 000000000000..2528061898d6 --- /dev/null +++ b/keyboards/preonic/keymaps/yhaliaw/keymap.c @@ -0,0 +1,231 @@ +/* Copyright 2021 Andrew Liaw + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum preonic_layers { + _BASE, + _LOWER, + _RAISE, + _ADJUST, +}; + +enum preonic_keycodes { + L_RESET = SAFE_RANGE, +}; + +#ifdef AUDIO_ENABLE +float planck_sound[][2] = SONG(PLANCK_SOUND); +#endif + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / | Shift| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Leader| Ctrl | Alt | GUI | Lower| Enter| Space| Raise| GUI | Alt | Ctrl | Del | + * `-----------------------------------------------------------------------------------' + */ + [_BASE] = LAYOUT_preonic_grid( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_BSPC, + 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LEAD, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_ENT, KC_SPC, RAISE, KC_RGUI, KC_RALT, KC_RCTL, KC_DEL + ), + + /* Lower + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | | | | | | Left | Down | Up | Right| | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | Home | End | Pg Up| Pg Dn| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_LOWER] = LAYOUT_preonic_grid( + 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_BSLS, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Raise + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | _ | + | { | } | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [_RAISE] = LAYOUT_preonic_grid( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | Reset| Debug| Clear| RGB | HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | |Aud on|Audoff| Swap | Norm | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | |Mus on|Musoff| NKRO | 6KRO | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_ADJUST] = LAYOUT_preonic_grid( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, L_RESET, DEBUG, EEP_RST, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, + _______, XXXXXXX, XXXXXXX, AU_ON, AU_OFF, AG_SWAP, AG_NORM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, XXXXXXX, XXXXXXX, MU_ON, MU_OFF, NK_ON, NK_OFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +const rgblight_segment_t PROGMEM base_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 9, 0, 0, 0}); + +const rgblight_segment_t PROGMEM lower_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 8, HSV_RED}); + +const rgblight_segment_t PROGMEM raise_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 8, HSV_GREEN}); + +const rgblight_segment_t PROGMEM adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 8, HSV_BLUE}); + +const rgblight_segment_t PROGMEM capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({4, 5, HSV_WHITE}); + +// Later layers take precedence. +const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST( + base_layer, + lower_layer, + raise_layer, + adjust_layer, + capslock_layer +); + +bool audio_disable = false; + +void keyboard_pre_init_user(void) { + // If the audio is off during hardware init, + // it causes problem when the audio is turn on later. + // The workaround is to always set the audio on during hardware init, + // then toggle audio back to the setting. +#ifdef AUDIO_ENABLE + if (!is_audio_on()) { + audio_disable = true; + audio_on(); + } +#endif +} + +void matrix_init_user(void) { + // To fix a audio related problem. See comments in keyboard_pre_init_user(). +#ifdef AUDIO_ENABLE + if (audio_disable) { + audio_off(); + } +#endif +} + +void keyboard_post_init_user(void) { + rgblight_layers = rgb_layers; + rgblight_set_layer_state(0, true); +} + +bool leader_found; +LEADER_EXTERNS(); + +void matrix_scan_user(void) { + LEADER_DICTIONARY() { + leading = false; + leader_found = false; + SEQ_ONE_KEY(L_RESET) { + leader_found = true; + reset_keyboard(); + } + else + SEQ_ONE_KEY(KC_DEL) { + leader_found = true; + layer_clear(); + } + else + SEQ_ONE_KEY(LOWER) { + leader_found = true; + layer_on(_LOWER); + } + else + SEQ_ONE_KEY(RAISE) { + leader_found = true; + layer_on(_RAISE); + } + leader_end(); + } +} + +void leader_end(void) { + // Plays sound on if leader sequence found. + if (leader_found) { +#ifdef AUDIO_ENABLE + PLAY_SONG(planck_sound); +#endif + } +} + +bool led_update_user(led_t led_state) { + // Turn on RBG for capslock. + rgblight_set_layer_state(4, led_state.caps_lock); + return true; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + // Set RBG layer according to active keymap layer. + rgblight_set_layer_state(1, layer_state_cmp(state, 1)); + rgblight_set_layer_state(2, layer_state_cmp(state, 2)); + rgblight_set_layer_state(3, layer_state_cmp(state, 1) && layer_state_cmp(state, 2)); + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +bool music_mask_user(uint16_t keycode) { + switch (keycode) { + case RAISE: + case LOWER: + return false; + default: + return true; + } +} diff --git a/keyboards/preonic/keymaps/yhaliaw/rules.mk b/keyboards/preonic/keymaps/yhaliaw/rules.mk new file mode 100644 index 000000000000..8762502b5614 --- /dev/null +++ b/keyboards/preonic/keymaps/yhaliaw/rules.mk @@ -0,0 +1,4 @@ +LEADER_ENABLE = yes + +ENCODER_ENABLE = no +DIP_SWITCH_ENABLE = no From 9e1d04fea77c4da64248e7870b915939a768c5c0 Mon Sep 17 00:00:00 2001 From: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Mon, 15 Mar 2021 05:51:21 +0800 Subject: [PATCH 005/250] [Keyboard] Added Adellein Keyboard/PCB (#11547) --- keyboards/nightly_boards/adellein/adellein.c | 27 ++++ keyboards/nightly_boards/adellein/adellein.h | 55 ++++++++ keyboards/nightly_boards/adellein/config.h | 78 ++++++++++++ .../nightly_boards/adellein/encoder_action.c | 51 ++++++++ .../nightly_boards/adellein/encoder_action.h | 21 ++++ keyboards/nightly_boards/adellein/info.json | 118 ++++++++++++++++++ .../adellein/keymaps/default/keymap.c | 26 ++++ .../adellein/keymaps/via/keymap.c | 49 ++++++++ .../adellein/keymaps/via/rules.mk | 2 + keyboards/nightly_boards/adellein/readme.md | 20 +++ keyboards/nightly_boards/adellein/rules.mk | 26 ++++ 11 files changed, 473 insertions(+) create mode 100644 keyboards/nightly_boards/adellein/adellein.c create mode 100644 keyboards/nightly_boards/adellein/adellein.h create mode 100644 keyboards/nightly_boards/adellein/config.h create mode 100644 keyboards/nightly_boards/adellein/encoder_action.c create mode 100644 keyboards/nightly_boards/adellein/encoder_action.h create mode 100644 keyboards/nightly_boards/adellein/info.json create mode 100644 keyboards/nightly_boards/adellein/keymaps/default/keymap.c create mode 100644 keyboards/nightly_boards/adellein/keymaps/via/keymap.c create mode 100644 keyboards/nightly_boards/adellein/keymaps/via/rules.mk create mode 100644 keyboards/nightly_boards/adellein/readme.md create mode 100644 keyboards/nightly_boards/adellein/rules.mk diff --git a/keyboards/nightly_boards/adellein/adellein.c b/keyboards/nightly_boards/adellein/adellein.c new file mode 100644 index 000000000000..eb977166270d --- /dev/null +++ b/keyboards/nightly_boards/adellein/adellein.c @@ -0,0 +1,27 @@ +/* Copyright 2020 Neil Brian Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "adellein.h" + +void matrix_scan_kb(void) { + encoder_action_unregister(); + matrix_scan_user(); +} + +void encoder_update_kb(uint8_t index, bool clockwise) { + encoder_action_register(index, clockwise); + // encoder_update_user(index, clockwise); +}; \ No newline at end of file diff --git a/keyboards/nightly_boards/adellein/adellein.h b/keyboards/nightly_boards/adellein/adellein.h new file mode 100644 index 000000000000..c78b76fbada1 --- /dev/null +++ b/keyboards/nightly_boards/adellein/adellein.h @@ -0,0 +1,55 @@ +/* Copyright 2020 Neil Brian Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" +#include "encoder_action.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +#define LAYOUT_40ergo_split_ent( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K30, K32, K34, K35, K37, K39, K3C \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \ + { K30, KC_NO, K32, KC_NO, K34, K35, KC_NO, K37, KC_NO, K39, KC_NO, KC_NO, K3C }, \ +} + +#define LAYOUT_40ergo_split_ent_encoder( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K30, K32, K34, K35, K37, K39, K3C, \ + E00A, E00B \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \ + { K30, E00A, K32, E00B, K34, K35, KC_NO, K37, KC_NO, K39, KC_NO, KC_NO, K3C }, \ +} + diff --git a/keyboards/nightly_boards/adellein/config.h b/keyboards/nightly_boards/adellein/config.h new file mode 100644 index 000000000000..cd24f1a1c87b --- /dev/null +++ b/keyboards/nightly_boards/adellein/config.h @@ -0,0 +1,78 @@ +/* +Copyright 2020 Neil Brian Ramirez + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xD812 +#define PRODUCT_ID 0x0010 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Neil Brian Ramirez +#define PRODUCT Adellein + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 13 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B1, B0, B5, B6 } +#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B7, B3, B2, D0, D1, D2, D3 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define RGB_DI_PIN D5 +#ifdef RGB_DI_PIN +#define RGBLED_NUM 14 +#define RGBLIGHT_ANIMATIONS + +#endif + +/* Encoders */ + +#define ENCODERS 1 + +#define ENCODERS_PAD_A { C7 } +#define ENCODERS_PAD_B { C6 } + +#define ENCODERS_CW_KEY { { 3, 3 } } +#define ENCODERS_CCW_KEY { { 1, 3 } } + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + + diff --git a/keyboards/nightly_boards/adellein/encoder_action.c b/keyboards/nightly_boards/adellein/encoder_action.c new file mode 100644 index 000000000000..042a3871c979 --- /dev/null +++ b/keyboards/nightly_boards/adellein/encoder_action.c @@ -0,0 +1,51 @@ +/* Copyright 2020 Neil Brian Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "encoder_action.h" + +#ifdef ENCODERS +static uint8_t encoder_state[ENCODERS] = {0}; +static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; +static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; +#endif + +void encoder_action_unregister(void) { +#ifdef ENCODERS + for (int index = 0; index < ENCODERS; ++index) { + if (encoder_state[index]) { + keyevent_t encoder_event = (keyevent_t) { + .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], + .pressed = false, + .time = (timer_read() | 1) + }; + encoder_state[index] = 0; + action_exec(encoder_event); + } + } +#endif +} + +void encoder_action_register(uint8_t index, bool clockwise) { +#ifdef ENCODERS + keyevent_t encoder_event = (keyevent_t) { + .key = clockwise ? encoder_cw[index] : encoder_ccw[index], + .pressed = true, + .time = (timer_read() | 1) + }; + encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); + action_exec(encoder_event); +#endif +} diff --git a/keyboards/nightly_boards/adellein/encoder_action.h b/keyboards/nightly_boards/adellein/encoder_action.h new file mode 100644 index 000000000000..098210d40c4f --- /dev/null +++ b/keyboards/nightly_boards/adellein/encoder_action.h @@ -0,0 +1,21 @@ +/* Copyright 2020 Neil Brian Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +void encoder_action_unregister(void); + +void encoder_action_register(uint8_t index, bool clockwise); \ No newline at end of file diff --git a/keyboards/nightly_boards/adellein/info.json b/keyboards/nightly_boards/adellein/info.json new file mode 100644 index 000000000000..64a0a0f55f64 --- /dev/null +++ b/keyboards/nightly_boards/adellein/info.json @@ -0,0 +1,118 @@ +{ + "keyboard_name": "Adellein", + "url": "", + "maintainer": "Neil Brian Ramirez", + "width": 16.25, + "height": 5, + "layouts": { + "LAYOUT_40ergo_split_ent": { + "layout": [ + {"x":0.5, "y":0}, + {"x":1.5, "y":0}, + {"x":2.5, "y":0}, + {"x":3.5, "y":0}, + {"x":4.5, "y":0}, + {"x":5.5, "y":0}, + {"x":8.25, "y":0}, + {"x":9.25, "y":0}, + {"x":10.25, "y":0}, + {"x":11.25, "y":0}, + {"x":12.25, "y":0}, + {"x":13.25, "y":0}, + {"x":14.25, "y":0, "w":1.5}, + + {"x":0.25, "y":1, "w":1.25}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":8.75, "y":1}, + {"x":9.75, "y":1}, + {"x":10.75, "y":1}, + {"x":11.75, "y":1}, + {"x":12.75, "y":1}, + {"x":13.75, "y":1}, + {"x":14.75, "y":1, "w":1.25}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":8.5, "y":2}, + {"x":9.5, "y":2}, + {"x":10.5, "y":2}, + {"x":11.5, "y":2}, + {"x":12.5, "y":2}, + {"x":13.5, "y":2}, + {"x":14.5, "y":2, "w":1.75}, + + {"x":0.25, "y":3, "w":1.25}, + {"x":2.75, "y":3, "w":1.25}, + {"x":4, "y":3, "w":2.25}, + {"x":6.25, "y":3}, + {"x":8, "y":3, "w":2.75}, + {"x":10.75, "y":3, "w":1.25}, + {"x":14.75, "y":3, "w":1.25} + ] + }, + "LAYOUT_40ergo_split_ent_encoder": { + "layout": [ + {"x":0.5, "y":0}, + {"x":1.5, "y":0}, + {"x":2.5, "y":0}, + {"x":3.5, "y":0}, + {"x":4.5, "y":0}, + {"x":5.5, "y":0}, + {"x":8.25, "y":0}, + {"x":9.25, "y":0}, + {"x":10.25, "y":0}, + {"x":11.25, "y":0}, + {"x":12.25, "y":0}, + {"x":13.25, "y":0}, + {"x":14.25, "y":0, "w":1.5}, + + {"x":0.25, "y":1, "w":1.25}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":8.75, "y":1}, + {"x":9.75, "y":1}, + {"x":10.75, "y":1}, + {"x":11.75, "y":1}, + {"x":12.75, "y":1}, + {"x":13.75, "y":1}, + {"x":14.75, "y":1, "w":1.25}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":8.5, "y":2}, + {"x":9.5, "y":2}, + {"x":10.5, "y":2}, + {"x":11.5, "y":2}, + {"x":12.5, "y":2}, + {"x":13.5, "y":2}, + {"x":14.5, "y":2, "w":1.75}, + + {"x":0.25, "y":3, "w":1.25}, + {"x":2.75, "y":3, "w":1.25}, + {"x":4, "y":3, "w":2.25}, + {"x":6.25, "y":3}, + {"x":8, "y":3, "w":2.75}, + {"x":10.75, "y":3, "w":1.25}, + {"x":14.75, "y":3, "w":1.25}, + + {"x":5.75, "y":4}, + {"x":6.75, "y":4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/nightly_boards/adellein/keymaps/default/keymap.c b/keyboards/nightly_boards/adellein/keymaps/default/keymap.c new file mode 100644 index 000000000000..ccdf46ee4a5f --- /dev/null +++ b/keyboards/nightly_boards/adellein/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +/* Copyright 2020 Neil Brian Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_40ergo_split_ent( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL + ), +}; diff --git a/keyboards/nightly_boards/adellein/keymaps/via/keymap.c b/keyboards/nightly_boards/adellein/keymaps/via/keymap.c new file mode 100644 index 000000000000..c4c0adffe351 --- /dev/null +++ b/keyboards/nightly_boards/adellein/keymaps/via/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2020 Neil Brian Ramirez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_40ergo_split_ent_encoder( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, + KC_VOLD, KC_VOLU + ), + [1] = LAYOUT_40ergo_split_ent_encoder( + 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, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_40ergo_split_ent_encoder( + 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, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_40ergo_split_ent_encoder( + 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, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS + ), + +}; diff --git a/keyboards/nightly_boards/adellein/keymaps/via/rules.mk b/keyboards/nightly_boards/adellein/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/nightly_boards/adellein/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/nightly_boards/adellein/readme.md b/keyboards/nightly_boards/adellein/readme.md new file mode 100644 index 000000000000..1253b2692e6e --- /dev/null +++ b/keyboards/nightly_boards/adellein/readme.md @@ -0,0 +1,20 @@ +# Nightly Boards Adellein + +![Adellein](https://i.imgur.com/WIZvvcDl.png) + +A 40% alice-like keyboard with rotary encoder support + +* Keyboard Maintainer: [Neil Brian Ramirez](https://github.com/NightlyBoards) +* Hardware Supported: atmega32u4 + +Make example for this keyboard (after setting up your build environment): + + make nightly_boards/adellein:default + +Flashing example for this keyboard: + + make nightly_boards/adellein:default:flash + +You can enter bootloader mode by pressing the physical reset button at the back of the pcb or by holding the upper left key while plugging the usb cable. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/nightly_boards/adellein/rules.mk b/keyboards/nightly_boards/adellein/rules.mk new file mode 100644 index 000000000000..f78597b9168d --- /dev/null +++ b/keyboards/nightly_boards/adellein/rules.mk @@ -0,0 +1,26 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +ENCODER_ENABLE = yes # Enable Rotary Encoders +LTO_ENABLE = yes + +# Added encoder Action +SRC += encoder_action.c \ No newline at end of file From 0779c34db8ba0bf7141712377b1db467394f940f Mon Sep 17 00:00:00 2001 From: xyzz <1065521+xyzz@users.noreply.github.com> Date: Sun, 14 Mar 2021 21:19:01 -0400 Subject: [PATCH 006/250] Fix keycode mappings for via and ensure they don't change within protocol (#12130) * Fix keycode mappings for via and ensure they don't change within protocol * Update keycodes * Fix broken keyboards * added the missing keycodes found in via * Remove invalid keycodes Co-authored-by: David Hoelscher --- keyboards/7c8/framework/keymaps/via/rules.mk | 3 +- keyboards/latin47ble/config.h | 2 + keyboards/latin64ble/config.h | 1 + keyboards/latinpadble/config.h | 2 + keyboards/spaceman/pancake/feather/config.h | 4 +- keyboards/tokyokeyboard/alix40/config.h | 2 + keyboards/ymd75/keymaps/via/rules.mk | 3 +- quantum/quantum_keycodes.h | 4 + quantum/via.c | 1 + quantum/via_ensure_keycode.h | 366 +++++++++++++++++++ tmk_core/common/keycode.h | 10 + 11 files changed, 395 insertions(+), 3 deletions(-) create mode 100644 quantum/via_ensure_keycode.h diff --git a/keyboards/7c8/framework/keymaps/via/rules.mk b/keyboards/7c8/framework/keymaps/via/rules.mk index 036bd6d1c3ec..9905283151c4 100644 --- a/keyboards/7c8/framework/keymaps/via/rules.mk +++ b/keyboards/7c8/framework/keymaps/via/rules.mk @@ -1 +1,2 @@ -VIA_ENABLE = yes \ No newline at end of file +VIA_ENABLE = yes +LEADER_ENABLE = no diff --git a/keyboards/latin47ble/config.h b/keyboards/latin47ble/config.h index 716ab52f5dd9..f9f94d0dbfeb 100644 --- a/keyboards/latin47ble/config.h +++ b/keyboards/latin47ble/config.h @@ -121,3 +121,5 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION + +#define VIA_HAS_BROKEN_KEYCODES diff --git a/keyboards/latin64ble/config.h b/keyboards/latin64ble/config.h index ddae1e14990b..68e8e7b29327 100644 --- a/keyboards/latin64ble/config.h +++ b/keyboards/latin64ble/config.h @@ -47,5 +47,6 @@ along with this program. If not, see .*/ #define RGBLIGHT_ANIMATIONS // Run RGB animations +#define VIA_HAS_BROKEN_KEYCODES diff --git a/keyboards/latinpadble/config.h b/keyboards/latinpadble/config.h index 9c055d9b7519..5381bf91ccec 100644 --- a/keyboards/latinpadble/config.h +++ b/keyboards/latinpadble/config.h @@ -99,3 +99,5 @@ along with this program. If not, see .*/ #define ENCODERS_PAD_B { F7 } #define ENCODER_RESOLUTION 4 + +#define VIA_HAS_BROKEN_KEYCODES diff --git a/keyboards/spaceman/pancake/feather/config.h b/keyboards/spaceman/pancake/feather/config.h index eac91a5adaa9..e72b25f3dbe2 100644 --- a/keyboards/spaceman/pancake/feather/config.h +++ b/keyboards/spaceman/pancake/feather/config.h @@ -23,4 +23,6 @@ #define AdafruitBleResetPin D4 #define AdafruitBleCSPin B4 -#define AdafruitBleIRQPin E6 \ No newline at end of file +#define AdafruitBleIRQPin E6 + +#define VIA_HAS_BROKEN_KEYCODES diff --git a/keyboards/tokyokeyboard/alix40/config.h b/keyboards/tokyokeyboard/alix40/config.h index ec6f98d5497a..113412e95a67 100644 --- a/keyboards/tokyokeyboard/alix40/config.h +++ b/keyboards/tokyokeyboard/alix40/config.h @@ -69,3 +69,5 @@ along with this program. If not, see . #define AdafruitBleCSPin B4 #define AdafruitBleIRQPin E6 #define BATTERY_LEVEL_PIN B6 + +#define VIA_HAS_BROKEN_KEYCODES diff --git a/keyboards/ymd75/keymaps/via/rules.mk b/keyboards/ymd75/keymaps/via/rules.mk index 43061db1dd46..152460f30478 100644 --- a/keyboards/ymd75/keymaps/via/rules.mk +++ b/keyboards/ymd75/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes +KEY_LOCK_ENABLE = no diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 1863a794346b..9f1591458d99 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -332,7 +332,11 @@ enum quantum_keycodes { MIDI_VELOCITY_MIN, MI_VEL_0 = MIDI_VELOCITY_MIN, +#ifdef VIA_ENABLE + MI_VEL_1 = MIDI_VELOCITY_MIN, +#else MI_VEL_1, +#endif MI_VEL_2, MI_VEL_3, MI_VEL_4, diff --git a/quantum/via.c b/quantum/via.c index 62a16624f225..c89b663b9b7d 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -46,6 +46,7 @@ #include "dynamic_keymap.h" #include "tmk_core/common/eeprom.h" #include "version.h" // for QMK_BUILDDATE used in EEPROM magic +#include "via_ensure_keycode.h" // Forward declare some helpers. #if defined(VIA_QMK_BACKLIGHT_ENABLE) diff --git a/quantum/via_ensure_keycode.h b/quantum/via_ensure_keycode.h new file mode 100644 index 000000000000..a9c1b8ba5d18 --- /dev/null +++ b/quantum/via_ensure_keycode.h @@ -0,0 +1,366 @@ +#pragma once + +#include "quantum.h" +#include "via.h" + +#ifndef VIA_HAS_BROKEN_KEYCODES + +_Static_assert(KC_NO == 0, ""); +_Static_assert(KC_TRNS == 1, ""); + +_Static_assert(KC_A == 0x04, ""); +_Static_assert(KC_B == 0x05, ""); +_Static_assert(KC_C == 0x06, ""); +_Static_assert(KC_D == 0x07, ""); +_Static_assert(KC_E == 0x08, ""); +_Static_assert(KC_F == 0x09, ""); +_Static_assert(KC_G == 0x0A, ""); +_Static_assert(KC_H == 0x0B, ""); +_Static_assert(KC_I == 0x0C, ""); +_Static_assert(KC_J == 0x0D, ""); +_Static_assert(KC_K == 0x0E, ""); +_Static_assert(KC_L == 0x0F, ""); +_Static_assert(KC_M == 0x10, ""); +_Static_assert(KC_N == 0x11, ""); +_Static_assert(KC_O == 0x12, ""); +_Static_assert(KC_P == 0x13, ""); +_Static_assert(KC_Q == 0x14, ""); +_Static_assert(KC_R == 0x15, ""); +_Static_assert(KC_S == 0x16, ""); +_Static_assert(KC_T == 0x17, ""); +_Static_assert(KC_U == 0x18, ""); +_Static_assert(KC_V == 0x19, ""); +_Static_assert(KC_W == 0x1A, ""); +_Static_assert(KC_X == 0x1B, ""); +_Static_assert(KC_Y == 0x1C, ""); +_Static_assert(KC_Z == 0x1D, ""); +_Static_assert(KC_1 == 0x1E, ""); +_Static_assert(KC_2 == 0x1F, ""); +_Static_assert(KC_3 == 0x20, ""); +_Static_assert(KC_4 == 0x21, ""); +_Static_assert(KC_5 == 0x22, ""); +_Static_assert(KC_6 == 0x23, ""); +_Static_assert(KC_7 == 0x24, ""); +_Static_assert(KC_8 == 0x25, ""); +_Static_assert(KC_9 == 0x26, ""); +_Static_assert(KC_0 == 0x27, ""); +_Static_assert(KC_ENTER == 0x28, ""); +_Static_assert(KC_ESCAPE == 0x29, ""); +_Static_assert(KC_BSPACE == 0x2A, ""); +_Static_assert(KC_TAB == 0x2B, ""); +_Static_assert(KC_SPACE == 0x2C, ""); +_Static_assert(KC_MINUS == 0x2D, ""); +_Static_assert(KC_EQUAL == 0x2E, ""); +_Static_assert(KC_LBRACKET == 0x2F, ""); +_Static_assert(KC_RBRACKET == 0x30, ""); +_Static_assert(KC_BSLASH == 0x31, ""); +_Static_assert(KC_SCOLON == 0x33, ""); +_Static_assert(KC_QUOTE == 0x34, ""); +_Static_assert(KC_GRAVE == 0x35, ""); +_Static_assert(KC_COMMA == 0x36, ""); +_Static_assert(KC_DOT == 0x37, ""); +_Static_assert(KC_SLASH == 0x38, ""); +_Static_assert(KC_CAPSLOCK == 0x39, ""); +_Static_assert(KC_F1 == 0x3A, ""); +_Static_assert(KC_F2 == 0x3B, ""); +_Static_assert(KC_F3 == 0x3C, ""); +_Static_assert(KC_F4 == 0x3D, ""); +_Static_assert(KC_F5 == 0x3E, ""); +_Static_assert(KC_F6 == 0x3F, ""); +_Static_assert(KC_F7 == 0x40, ""); +_Static_assert(KC_F8 == 0x41, ""); +_Static_assert(KC_F9 == 0x42, ""); +_Static_assert(KC_F10 == 0x43, ""); +_Static_assert(KC_F11 == 0x44, ""); +_Static_assert(KC_F12 == 0x45, ""); +_Static_assert(KC_PSCREEN == 0x46, ""); +_Static_assert(KC_SCROLLLOCK == 0x47, ""); +_Static_assert(KC_PAUSE == 0x48, ""); +_Static_assert(KC_INSERT == 0x49, ""); +_Static_assert(KC_HOME == 0x4A, ""); +_Static_assert(KC_PGUP == 0x4B, ""); +_Static_assert(KC_DELETE == 0x4C, ""); +_Static_assert(KC_END == 0x4D, ""); +_Static_assert(KC_PGDOWN == 0x4E, ""); +_Static_assert(KC_RIGHT == 0x4F, ""); +_Static_assert(KC_LEFT == 0x50, ""); +_Static_assert(KC_DOWN == 0x51, ""); +_Static_assert(KC_UP == 0x52, ""); +_Static_assert(KC_NUMLOCK == 0x53, ""); +_Static_assert(KC_KP_SLASH == 0x54, ""); +_Static_assert(KC_KP_ASTERISK == 0x55, ""); +_Static_assert(KC_KP_MINUS == 0x56, ""); +_Static_assert(KC_KP_PLUS == 0x57, ""); +_Static_assert(KC_KP_ENTER == 0x58, ""); +_Static_assert(KC_KP_1 == 0x59, ""); +_Static_assert(KC_KP_2 == 0x5A, ""); +_Static_assert(KC_KP_3 == 0x5B, ""); +_Static_assert(KC_KP_4 == 0x5C, ""); +_Static_assert(KC_KP_5 == 0x5D, ""); +_Static_assert(KC_KP_6 == 0x5E, ""); +_Static_assert(KC_KP_7 == 0x5F, ""); +_Static_assert(KC_KP_8 == 0x60, ""); +_Static_assert(KC_KP_9 == 0x61, ""); +_Static_assert(KC_KP_0 == 0x62, ""); +_Static_assert(KC_KP_DOT == 0x63, ""); +_Static_assert(KC_APPLICATION == 0x65, ""); +_Static_assert(KC_KP_EQUAL == 0x67, ""); +_Static_assert(KC_KP_COMMA == 0x85, ""); +_Static_assert(KC_LCTRL == 0xE0, ""); +_Static_assert(KC_LSHIFT == 0xE1, ""); +_Static_assert(KC_LALT == 0xE2, ""); +_Static_assert(KC_LGUI == 0xE3, ""); +_Static_assert(KC_RCTRL == 0xE4, ""); +_Static_assert(KC_RSHIFT == 0xE5, ""); +_Static_assert(KC_RALT == 0xE6, ""); +_Static_assert(KC_RGUI == 0xE7, ""); + +_Static_assert(KC_TILD == 0x235, ""); +_Static_assert(KC_EXLM == 0x21E, ""); +_Static_assert(KC_AT == 0x21F, ""); +_Static_assert(KC_HASH == 0x220, ""); +_Static_assert(KC_DLR == 0x221, ""); +_Static_assert(KC_PERC == 0x222, ""); +_Static_assert(KC_CIRC == 0x223, ""); +_Static_assert(KC_AMPR == 0x224, ""); +_Static_assert(KC_ASTR == 0x225, ""); +_Static_assert(KC_LPRN == 0x226, ""); +_Static_assert(KC_RPRN == 0x227, ""); +_Static_assert(KC_UNDS == 0x22D, ""); +_Static_assert(KC_PLUS == 0x22E, ""); +_Static_assert(KC_LCBR == 0x22F, ""); +_Static_assert(KC_RCBR == 0x230, ""); +_Static_assert(KC_LT == 0x236, ""); +_Static_assert(KC_GT == 0x237, ""); +_Static_assert(KC_COLN == 0x233, ""); +_Static_assert(KC_PIPE == 0x231, ""); +_Static_assert(KC_QUES == 0x238, ""); +_Static_assert(KC_DQUO == 0x234, ""); + +_Static_assert(KC_NONUS_HASH == 0x32, ""); +_Static_assert(KC_NONUS_BSLASH == 0x64, ""); +_Static_assert(KC_RO == 0x87, ""); +_Static_assert(KC_KANA == 0x88, ""); +_Static_assert(KC_JYEN == 0x89, ""); +_Static_assert(KC_HENK == 0x8A, ""); +_Static_assert(KC_MHEN == 0x8B, ""); +_Static_assert(KC_LANG1 == 0x90, ""); +_Static_assert(KC_LANG2 == 0x91, ""); + +_Static_assert(KC_GESC == 0x5C16, ""); +_Static_assert(KC_LSPO == 0x5CD7, ""); +_Static_assert(KC_RSPC == 0x5CD8, ""); +_Static_assert(KC_LCPO == 0x5CF3, ""); +_Static_assert(KC_RCPC == 0x5CF4, ""); +_Static_assert(KC_LAPO == 0x5CF5, ""); +_Static_assert(KC_RAPC == 0x5CF6, ""); +_Static_assert(KC_SFTENT == 0x5CD9, ""); + +_Static_assert(BL_TOGG == 23743, ""); +_Static_assert(BL_STEP == 23744, ""); +_Static_assert(BL_BRTG == 23745, ""); +_Static_assert(BL_ON == 23739, ""); +_Static_assert(BL_OFF == 23740, ""); +_Static_assert(BL_INC == 23742, ""); +_Static_assert(BL_DEC == 23741, ""); +_Static_assert(RGB_TOG == 23746, ""); +_Static_assert(RGB_MOD == 23747, ""); +_Static_assert(RGB_RMOD == 23748, ""); +_Static_assert(RGB_HUI == 23749, ""); +_Static_assert(RGB_HUD == 23750, ""); +_Static_assert(RGB_SAI == 23751, ""); +_Static_assert(RGB_SAD == 23752, ""); +_Static_assert(RGB_VAI == 23753, ""); +_Static_assert(RGB_VAD == 23754, ""); +_Static_assert(RGB_SPI == 23755, ""); +_Static_assert(RGB_SPD == 23756, ""); +_Static_assert(RGB_M_P == 23757, ""); +_Static_assert(RGB_M_B == 23758, ""); +_Static_assert(RGB_M_R == 23759, ""); +_Static_assert(RGB_M_SW == 23760, ""); +_Static_assert(RGB_M_SN == 23761, ""); +_Static_assert(RGB_M_K == 23762, ""); +_Static_assert(RGB_M_X == 23763, ""); +_Static_assert(RGB_M_G == 23764, ""); +_Static_assert(RGB_M_T == 23765, ""); + +_Static_assert(KC_F13 == 104, ""); +_Static_assert(KC_F14 == 105, ""); +_Static_assert(KC_F15 == 106, ""); +_Static_assert(KC_F16 == 107, ""); +_Static_assert(KC_F17 == 108, ""); +_Static_assert(KC_F18 == 109, ""); +_Static_assert(KC_F19 == 110, ""); +_Static_assert(KC_F20 == 111, ""); +_Static_assert(KC_F21 == 112, ""); +_Static_assert(KC_F22 == 113, ""); +_Static_assert(KC_F23 == 114, ""); +_Static_assert(KC_F24 == 115, ""); +_Static_assert(KC_PWR == 165, ""); +_Static_assert(KC_SLEP == 166, ""); +_Static_assert(KC_WAKE == 167, ""); +_Static_assert(KC_EXEC == 116, ""); +_Static_assert(KC_HELP == 117, ""); +_Static_assert(KC_SLCT == 119, ""); +_Static_assert(KC_STOP == 120, ""); +_Static_assert(KC_AGIN == 121, ""); +_Static_assert(KC_UNDO == 122, ""); +_Static_assert(KC_CUT == 123, ""); +_Static_assert(KC_COPY == 124, ""); +_Static_assert(KC_PSTE == 125, ""); +_Static_assert(KC_FIND == 126, ""); +_Static_assert(KC_CALC == 178, ""); +_Static_assert(KC_MAIL == 177, ""); +_Static_assert(KC_MSEL == 175, ""); +_Static_assert(KC_MYCM == 179, ""); +_Static_assert(KC_WSCH == 180, ""); +_Static_assert(KC_WHOM == 181, ""); +_Static_assert(KC_WBAK == 182, ""); +_Static_assert(KC_WFWD == 183, ""); +_Static_assert(KC_WSTP == 184, ""); +_Static_assert(KC_WREF == 185, ""); +_Static_assert(KC_WFAV == 186, ""); +_Static_assert(KC_BRIU == 189, ""); +_Static_assert(KC_BRID == 190, ""); +_Static_assert(KC_MPRV == 172, ""); +_Static_assert(KC_MNXT == 171, ""); +_Static_assert(KC_MUTE == 168, ""); +_Static_assert(KC_VOLD == 170, ""); +_Static_assert(KC_VOLU == 169, ""); +_Static_assert(KC_MSTP == 173, ""); +_Static_assert(KC_MPLY == 174, ""); +_Static_assert(KC_MRWD == 188, ""); +_Static_assert(KC_MFFD == 187, ""); +_Static_assert(KC_EJCT == 176, ""); +_Static_assert(KC_MS_U == 240, ""); +_Static_assert(KC_MS_D == 241, ""); +_Static_assert(KC_MS_L == 242, ""); +_Static_assert(KC_MS_R == 243, ""); +_Static_assert(KC_BTN1 == 244, ""); +_Static_assert(KC_BTN2 == 245, ""); +_Static_assert(KC_BTN3 == 246, ""); +_Static_assert(KC_BTN4 == 247, ""); +_Static_assert(KC_BTN5 == 248, ""); +_Static_assert(KC_WH_U == 249, ""); +_Static_assert(KC_WH_D == 250, ""); +_Static_assert(KC_WH_L == 251, ""); +_Static_assert(KC_WH_R == 252, ""); +_Static_assert(KC_ACL0 == 253, ""); +_Static_assert(KC_ACL1 == 254, ""); +_Static_assert(KC_ACL2 == 255, ""); +_Static_assert(KC_LCAP == 130, ""); +_Static_assert(KC_LNUM == 131, ""); +_Static_assert(KC_LSCR == 132, ""); + +_Static_assert(FN_MO13 == 0x5F10, ""); +_Static_assert(FN_MO23 == 0x5F11, ""); + +_Static_assert(MACRO00 == 0x5F12, ""); +_Static_assert(MACRO01 == 0x5F13, ""); +_Static_assert(MACRO02 == 0x5F14, ""); +_Static_assert(MACRO03 == 0x5F15, ""); +_Static_assert(MACRO04 == 0x5F16, ""); +_Static_assert(MACRO05 == 0x5F17, ""); +_Static_assert(MACRO06 == 0x5F18, ""); +_Static_assert(MACRO07 == 0x5F19, ""); +_Static_assert(MACRO08 == 0x5F1A, ""); +_Static_assert(MACRO09 == 0x5F1B, ""); +_Static_assert(MACRO10 == 0x5F1C, ""); +_Static_assert(MACRO11 == 0x5F1D, ""); +_Static_assert(MACRO12 == 0x5F1E, ""); +_Static_assert(MACRO13 == 0x5F1F, ""); +_Static_assert(MACRO14 == 0x5F20, ""); +_Static_assert(MACRO15 == 0x5F21, ""); + +_Static_assert(USER00 == 0x5F80, ""); +_Static_assert(USER01 == 0x5F81, ""); +_Static_assert(USER02 == 0x5F82, ""); +_Static_assert(USER03 == 0x5F83, ""); +_Static_assert(USER04 == 0x5F84, ""); +_Static_assert(USER05 == 0x5F85, ""); +_Static_assert(USER06 == 0x5F86, ""); +_Static_assert(USER07 == 0x5F87, ""); +_Static_assert(USER08 == 0x5F88, ""); +_Static_assert(USER09 == 0x5F89, ""); +_Static_assert(USER10 == 0x5F8A, ""); +_Static_assert(USER11 == 0x5F8B, ""); +_Static_assert(USER12 == 0x5F8C, ""); +_Static_assert(USER13 == 0x5F8D, ""); +_Static_assert(USER14 == 0x5F8E, ""); +_Static_assert(USER15 == 0x5F8F, ""); + +_Static_assert(KC_POWER == 102, ""); +_Static_assert(KC_MENU == 118, ""); +_Static_assert(KC_KP_EQUAL_AS400 == 134, ""); +_Static_assert(KC_INT6 == 140, ""); +_Static_assert(KC_INT7 == 141, ""); +_Static_assert(KC_INT8 == 142, ""); +_Static_assert(KC_INT9 == 143, ""); +_Static_assert(KC_LANG3 == 146, ""); +_Static_assert(KC_LANG4 == 147, ""); +_Static_assert(KC_LANG5 == 148, ""); +_Static_assert(KC_LANG6 == 149, ""); +_Static_assert(KC_LANG7 == 150, ""); +_Static_assert(KC_LANG8 == 151, ""); +_Static_assert(KC_LANG9 == 152, ""); +_Static_assert(KC_ERAS == 153, ""); +_Static_assert(KC_SYSREQ == 154, ""); +_Static_assert(KC_CANCEL == 155, ""); +_Static_assert(KC_CLEAR == 156, ""); +_Static_assert(KC_CLR == 156, ""); +_Static_assert(KC_PRIOR == 157, ""); +_Static_assert(KC_OUT == 160, ""); +_Static_assert(KC_OPER == 161, ""); +_Static_assert(KC_CLEAR_AGAIN == 162, ""); +_Static_assert(KC_CRSEL == 163, ""); +_Static_assert(KC_EXSEL == 164, ""); +_Static_assert(KC_FN0 == 192, ""); +_Static_assert(KC_FN1 == 193, ""); +_Static_assert(KC_FN2 == 194, ""); +_Static_assert(KC_FN3 == 195, ""); +_Static_assert(KC_FN4 == 196, ""); +_Static_assert(KC_FN5 == 197, ""); +_Static_assert(KC_FN6 == 198, ""); +_Static_assert(KC_FN7 == 199, ""); +_Static_assert(KC_FN8 == 200, ""); +_Static_assert(KC_FN9 == 201, ""); +_Static_assert(KC_FN10 == 202, ""); +_Static_assert(KC_FN11 == 203, ""); +_Static_assert(KC_FN12 == 204, ""); +_Static_assert(KC_FN13 == 205, ""); +_Static_assert(KC_FN14 == 206, ""); +_Static_assert(KC_FN15 == 207, ""); +_Static_assert(KC_FN16 == 208, ""); +_Static_assert(KC_FN17 == 209, ""); +_Static_assert(KC_FN18 == 210, ""); +_Static_assert(KC_FN19 == 211, ""); +_Static_assert(KC_FN20 == 212, ""); +_Static_assert(KC_FN21 == 213, ""); +_Static_assert(KC_FN22 == 214, ""); +_Static_assert(KC_FN23 == 215, ""); +_Static_assert(KC_FN24 == 216, ""); +_Static_assert(KC_FN25 == 217, ""); +_Static_assert(KC_FN26 == 218, ""); +_Static_assert(KC_FN27 == 219, ""); +_Static_assert(KC_FN28 == 220, ""); +_Static_assert(KC_FN29 == 221, ""); +_Static_assert(KC_FN30 == 222, ""); +_Static_assert(KC_FN31 == 223, ""); +_Static_assert(RESET == 23552, ""); +_Static_assert(DEBUG == 23553, ""); +_Static_assert(MAGIC_TOGGLE_NKRO == 23572, ""); +_Static_assert(AU_ON == 23581, ""); +_Static_assert(AU_OFF == 23582, ""); +_Static_assert(AU_TOG == 23583, ""); +_Static_assert(CLICKY_TOGGLE == 23584, ""); +_Static_assert(CLICKY_ENABLE == 23585, ""); +_Static_assert(CLICKY_DISABLE == 23586, ""); +_Static_assert(CLICKY_UP == 23587, ""); +_Static_assert(CLICKY_DOWN == 23588, ""); +_Static_assert(CLICKY_RESET == 23589, ""); +_Static_assert(MU_ON == 23590, ""); +_Static_assert(MU_OFF == 23591, ""); +_Static_assert(MU_TOG == 23592, ""); +_Static_assert(MU_MOD == 23593, ""); + +#endif diff --git a/tmk_core/common/keycode.h b/tmk_core/common/keycode.h index efad92b23568..a39a33be21eb 100644 --- a/tmk_core/common/keycode.h +++ b/tmk_core/common/keycode.h @@ -524,7 +524,11 @@ enum internal_special_keycodes { enum mouse_keys { /* Mouse Buttons */ +#ifdef VIA_ENABLE + KC_MS_UP = 0xF0, +#else KC_MS_UP = 0xED, +#endif KC_MS_DOWN, KC_MS_LEFT, KC_MS_RIGHT, // 0xF0 @@ -533,9 +537,15 @@ enum mouse_keys { KC_MS_BTN3, KC_MS_BTN4, KC_MS_BTN5, +#ifdef VIA_ENABLE + KC_MS_BTN6 = KC_MS_BTN5, + KC_MS_BTN7 = KC_MS_BTN5, + KC_MS_BTN8 = KC_MS_BTN5, +#else KC_MS_BTN6, KC_MS_BTN7, KC_MS_BTN8, +#endif /* Mouse Wheel */ KC_MS_WH_UP, From a18e1305b303be4b30c57f16e72ce27af0dd38d8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 12:21:14 +1100 Subject: [PATCH 007/250] Format code according to conventions (#12244) Co-authored-by: QMK Bot --- quantum/quantum_keycodes.h | 6 +++--- tmk_core/common/keycode.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 9f1591458d99..e49f8dcdaadf 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -332,11 +332,11 @@ enum quantum_keycodes { MIDI_VELOCITY_MIN, MI_VEL_0 = MIDI_VELOCITY_MIN, -#ifdef VIA_ENABLE +# ifdef VIA_ENABLE MI_VEL_1 = MIDI_VELOCITY_MIN, -#else +# else MI_VEL_1, -#endif +# endif MI_VEL_2, MI_VEL_3, MI_VEL_4, diff --git a/tmk_core/common/keycode.h b/tmk_core/common/keycode.h index a39a33be21eb..8facabd81873 100644 --- a/tmk_core/common/keycode.h +++ b/tmk_core/common/keycode.h @@ -523,7 +523,7 @@ enum internal_special_keycodes { }; enum mouse_keys { - /* Mouse Buttons */ +/* Mouse Buttons */ #ifdef VIA_ENABLE KC_MS_UP = 0xF0, #else From 2e50b34c67ec602e456c4a158c0956aa1b9aaa2d Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 15 Mar 2021 01:06:55 -0700 Subject: [PATCH 008/250] Add missing info.json files for keyboards (#12239) Recent changes to QMK Configurator's API have made it so an info.json file is required for QMK Configurator to know how to render the keyboard in question. This PR adds info.json files for keyboards that did not have them, with a few exceptions for boards whose layouts I was unable to determine. * add info.json file for 2key2crawl * add info.json file for 40percentclub/4x4 * add info.json file for 40percentclub/5x5 * add info.json file for 4pplet/aekiso60/rev_a * add info.json file for 4pplet/steezy60/rev_a * add info.json file for 6ball * add info.json file for 7c8/framework * add info.json file for aeboards/constellation * add info.json file for alpine65 * add info.json file for aplyard/aplx6 * add info.json file for arch_36 * add info.json file for arisu * add info.json file for box75 * add info.json file for butterstick * add info.json file for four_banger * add info.json file for geekboards/tester * add info.json file for handwired/2x5keypad * add info.json file for handwired/412_64 * add info.json file for handwired/42 * add info.json file for handwired/aplx2 * add info.json file for handwired/brain * add info.json file for handwired/cans12er * add info.json file for handwired/ck4x4 * add info.json file for handwired/d48 * add info.json file for handwired/dactyl_manuform/dmote/62key * add info.json file for handwired/daishi * add info.json file for handwired/hexon38 * add info.json file for handwired/jot50 * add info.json file for handwired/jotanck * add info.json file for handwired/jotpad16 * add info.json file for handwired/k8split * add info.json file for handwired/myskeeb * add info.json file for handwired/nicekey * add info.json file for handwired/onekey * add info.json file for handwired/postageboard * add info.json file for handwired/riblee_f401 * add info.json file for handwired/riblee_f411 * add info.json file for handwired/rs60 * add info.json file for handwired/splittest * add info.json file for handwired/trackpoint * add info.json file for handwired/traveller * add info.json file for hhkb_lite_2 * add info.json file for honeycomb * add info.json file for ivy/rev1 * add info.json file for keebio/viterbi * add info.json file for laptreus * add info.json file for latin47ble * add info.json file for latin64ble * add info.json file for launchpad/rev1 * add info.json file for lets_split_eh/eh * add info.json file for mechmini/v1 * add info.json file for meira * add info.json file for meishi * add info.json file for merge/iso_macro * add info.json file for mschwingen/modelm * add info.json file for pabile/p20 * add info.json files for pimentoso/paddino02 rev1, rev2/left, and rev2/right * add info.json file for rgbkb/pan * add info.json files for runner3680 3x6, 3x7, 3x8, 4x6, 4x7, 4x8, 5x6, 5x7, and 5x8 * add info.json file for sck/gtm * add info.json file for splitish * add info.json file for standaside * add info.json file for ungodly/launch_pad * add info.json file for xelus/trinityxttkl * Revert "add info.json file for rgbkb/pan" This reverts commit 280b89bc6157023a621a9864f5d74d59d62bb511. * correct maintainer for ivy/rev1 --- keyboards/2key2crawl/info.json | 25 +++ keyboards/40percentclub/4x4/info.json | 197 ++++++++++++++++ keyboards/40percentclub/5x5/info.json | 183 +++++++++++++++ keyboards/4pplet/aekiso60/rev_a/info.json | 81 +++++++ keyboards/4pplet/steezy60/rev_a/info.json | 87 ++++++++ keyboards/6ball/info.json | 20 ++ keyboards/7c8/framework/info.json | 210 ++++++++++++++++++ keyboards/aeboards/constellation/info.json | 85 +++++++ keyboards/alpine65/info.json | 84 +++++++ keyboards/aplyard/aplx6/info.json | 20 ++ keyboards/arch_36/info.json | 52 +++++ keyboards/arisu/info.json | 84 +++++++ keyboards/box75/info.json | 101 +++++++++ keyboards/butterstick/info.json | 34 +++ keyboards/four_banger/info.json | 18 ++ keyboards/geekboards/tester/info.json | 22 ++ keyboards/handwired/2x5keypad/info.json | 24 ++ keyboards/handwired/412_64/info.json | 80 +++++++ keyboards/handwired/42/info.json | 58 +++++ keyboards/handwired/aplx2/info.json | 15 ++ keyboards/handwired/brain/info.json | 73 ++++++ keyboards/handwired/cans12er/info.json | 27 +++ keyboards/handwired/ck4x4/info.json | 32 +++ keyboards/handwired/d48/info.json | 67 ++++++ .../dactyl_manuform/dmote/62key/info.json | 90 ++++++++ keyboards/handwired/daishi/info.json | 136 ++++++++++++ keyboards/handwired/hexon38/info.json | 54 +++++ keyboards/handwired/jot50/info.json | 77 +++++++ keyboards/handwired/jotanck/info.json | 64 ++++++ keyboards/handwired/jotpad16/info.json | 32 +++ keyboards/handwired/k8split/info.json | 66 ++++++ keyboards/handwired/myskeeb/info.json | 88 ++++++++ keyboards/handwired/nicekey/info.json | 14 ++ keyboards/handwired/onekey/info.json | 14 ++ keyboards/handwired/postageboard/info.json | 16 ++ keyboards/handwired/riblee_f401/info.json | 77 +++++++ keyboards/handwired/riblee_f411/info.json | 77 +++++++ keyboards/handwired/rs60/info.json | 77 +++++++ keyboards/handwired/splittest/info.json | 15 ++ keyboards/handwired/trackpoint/info.json | 16 ++ keyboards/handwired/traveller/info.json | 66 ++++++ keyboards/hhkb_lite_2/info.json | 77 +++++++ keyboards/honeycomb/info.json | 32 +++ keyboards/ivy/rev1/info.json | 16 ++ keyboards/keebio/viterbi/info.json | 87 ++++++++ keyboards/laptreus/info.json | 64 ++++++ keyboards/latin47ble/info.json | 63 ++++++ keyboards/latin64ble/info.json | 81 +++++++ keyboards/launchpad/rev1/info.json | 24 ++ keyboards/lets_split_eh/eh/info.json | 64 ++++++ keyboards/mechmini/v1/info.json | 58 +++++ keyboards/meira/info.json | 64 ++++++ keyboards/meishi/info.json | 17 ++ keyboards/merge/iso_macro/info.json | 23 ++ keyboards/mschwingen/modelm/info.json | 121 ++++++++++ keyboards/pabile/p20/info.json | 62 ++++++ keyboards/pimentoso/paddino02/rev1/info.json | 25 +++ .../pimentoso/paddino02/rev2/left/info.json | 25 +++ .../pimentoso/paddino02/rev2/right/info.json | 25 +++ keyboards/runner3680/3x6/info.json | 51 +++++ keyboards/runner3680/3x7/info.json | 57 +++++ keyboards/runner3680/3x8/info.json | 63 ++++++ keyboards/runner3680/4x6/info.json | 64 ++++++ keyboards/runner3680/4x7/info.json | 72 ++++++ keyboards/runner3680/4x8/info.json | 80 +++++++ keyboards/runner3680/5x6/info.json | 77 +++++++ keyboards/runner3680/5x7/info.json | 87 ++++++++ keyboards/runner3680/5x8/info.json | 97 ++++++++ keyboards/sck/gtm/info.json | 25 +++ keyboards/splitish/info.json | 64 ++++++ keyboards/standaside/info.json | 80 +++++++ keyboards/ungodly/launch_pad/info.json | 37 +++ keyboards/xelus/trinityxttkl/info.json | 118 ++++++++++ 73 files changed, 4558 insertions(+) create mode 100644 keyboards/2key2crawl/info.json create mode 100644 keyboards/40percentclub/4x4/info.json create mode 100644 keyboards/40percentclub/5x5/info.json create mode 100644 keyboards/4pplet/aekiso60/rev_a/info.json create mode 100644 keyboards/4pplet/steezy60/rev_a/info.json create mode 100644 keyboards/6ball/info.json create mode 100644 keyboards/7c8/framework/info.json create mode 100644 keyboards/aeboards/constellation/info.json create mode 100644 keyboards/alpine65/info.json create mode 100644 keyboards/aplyard/aplx6/info.json create mode 100644 keyboards/arch_36/info.json create mode 100644 keyboards/arisu/info.json create mode 100644 keyboards/box75/info.json create mode 100644 keyboards/butterstick/info.json create mode 100644 keyboards/four_banger/info.json create mode 100644 keyboards/geekboards/tester/info.json create mode 100644 keyboards/handwired/2x5keypad/info.json create mode 100644 keyboards/handwired/412_64/info.json create mode 100644 keyboards/handwired/42/info.json create mode 100644 keyboards/handwired/aplx2/info.json create mode 100644 keyboards/handwired/brain/info.json create mode 100644 keyboards/handwired/cans12er/info.json create mode 100644 keyboards/handwired/ck4x4/info.json create mode 100644 keyboards/handwired/d48/info.json create mode 100644 keyboards/handwired/dactyl_manuform/dmote/62key/info.json create mode 100644 keyboards/handwired/daishi/info.json create mode 100644 keyboards/handwired/hexon38/info.json create mode 100644 keyboards/handwired/jot50/info.json create mode 100644 keyboards/handwired/jotanck/info.json create mode 100644 keyboards/handwired/jotpad16/info.json create mode 100644 keyboards/handwired/k8split/info.json create mode 100644 keyboards/handwired/myskeeb/info.json create mode 100644 keyboards/handwired/nicekey/info.json create mode 100644 keyboards/handwired/onekey/info.json create mode 100644 keyboards/handwired/postageboard/info.json create mode 100644 keyboards/handwired/riblee_f401/info.json create mode 100644 keyboards/handwired/riblee_f411/info.json create mode 100644 keyboards/handwired/rs60/info.json create mode 100644 keyboards/handwired/splittest/info.json create mode 100644 keyboards/handwired/trackpoint/info.json create mode 100644 keyboards/handwired/traveller/info.json create mode 100644 keyboards/hhkb_lite_2/info.json create mode 100644 keyboards/honeycomb/info.json create mode 100644 keyboards/ivy/rev1/info.json create mode 100644 keyboards/keebio/viterbi/info.json create mode 100644 keyboards/laptreus/info.json create mode 100644 keyboards/latin47ble/info.json create mode 100644 keyboards/latin64ble/info.json create mode 100644 keyboards/launchpad/rev1/info.json create mode 100644 keyboards/lets_split_eh/eh/info.json create mode 100644 keyboards/mechmini/v1/info.json create mode 100644 keyboards/meira/info.json create mode 100644 keyboards/meishi/info.json create mode 100644 keyboards/merge/iso_macro/info.json create mode 100644 keyboards/mschwingen/modelm/info.json create mode 100644 keyboards/pabile/p20/info.json create mode 100644 keyboards/pimentoso/paddino02/rev1/info.json create mode 100644 keyboards/pimentoso/paddino02/rev2/left/info.json create mode 100644 keyboards/pimentoso/paddino02/rev2/right/info.json create mode 100644 keyboards/runner3680/3x6/info.json create mode 100644 keyboards/runner3680/3x7/info.json create mode 100644 keyboards/runner3680/3x8/info.json create mode 100644 keyboards/runner3680/4x6/info.json create mode 100644 keyboards/runner3680/4x7/info.json create mode 100644 keyboards/runner3680/4x8/info.json create mode 100644 keyboards/runner3680/5x6/info.json create mode 100644 keyboards/runner3680/5x7/info.json create mode 100644 keyboards/runner3680/5x8/info.json create mode 100644 keyboards/sck/gtm/info.json create mode 100644 keyboards/splitish/info.json create mode 100644 keyboards/standaside/info.json create mode 100644 keyboards/ungodly/launch_pad/info.json create mode 100644 keyboards/xelus/trinityxttkl/info.json diff --git a/keyboards/2key2crawl/info.json b/keyboards/2key2crawl/info.json new file mode 100644 index 000000000000..18f58daf285d --- /dev/null +++ b/keyboards/2key2crawl/info.json @@ -0,0 +1,25 @@ +{ + "keyboard_name": "2Key2CrawlPad", + "url": "", + "maintainer": "qmk", + "width": 6.5, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K15", "x":4, "y":0}, + + {"label":"K10", "x":0, "y":1}, + {"label":"K11", "x":1, "y":1}, + {"label":"K12", "x":2, "y":1}, + {"label":"K13", "x":3, "y":1}, + {"label":"K14", "x":4, "y":1}, + {"label":"K16", "x":5.5, "y":0.5} + ] + } + } +} diff --git a/keyboards/40percentclub/4x4/info.json b/keyboards/40percentclub/4x4/info.json new file mode 100644 index 000000000000..83012f013664 --- /dev/null +++ b/keyboards/40percentclub/4x4/info.json @@ -0,0 +1,197 @@ +{ + "keyboard_name": "40percent.club 4x4", + "url": "", + "maintainer": "qmk", + "height": 4, + "width": 4, + "layouts": { + "LAYOUT_ortho_4x4": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3} + ] + }, + "LAYOUT_ortho_4x8": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3} + ] + }, + "LAYOUT_ortho_4x12": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3} + ] + }, + "LAYOUT_ortho_4x16": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + {"x":15, "y":3} + ] + } + } +} diff --git a/keyboards/40percentclub/5x5/info.json b/keyboards/40percentclub/5x5/info.json new file mode 100644 index 000000000000..1c1df8eda986 --- /dev/null +++ b/keyboards/40percentclub/5x5/info.json @@ -0,0 +1,183 @@ +{ + "keyboard_name": "40percent.club 4x4", + "url": "", + "maintainer": "qmk", + "height": 4, + "width": 4, + "layouts": { + "LAYOUT_ortho_5x5": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4} + ] + }, + "LAYOUT_ortho_5x10": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"x":7, "y":4}, + {"x":8, "y":4}, + {"x":9, "y":4} + ] + }, + "LAYOUT_ortho_5x15": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"x":7, "y":4}, + {"x":8, "y":4}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4} + ] + } + } +} diff --git a/keyboards/4pplet/aekiso60/rev_a/info.json b/keyboards/4pplet/aekiso60/rev_a/info.json new file mode 100644 index 000000000000..7f5b09cdc14a --- /dev/null +++ b/keyboards/4pplet/aekiso60/rev_a/info.json @@ -0,0 +1,81 @@ +{ + "keyboard_name": "AEKISO60 Rev A", + "url": "", + "maintainer": "4pplet", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0, "w":1.25}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.25, "y":0}, + {"x":8.25, "y":0}, + {"x":9.25, "y":0}, + {"x":10.25, "y":0}, + {"x":11.25, "y":0}, + {"x":12.25, "y":0}, + {"x":13.25, "y":0, "w":1.75}, + + {"x":0, "y":1, "w":1.75}, + {"x":1.75, "y":1}, + {"x":2.75, "y":1}, + {"x":3.75, "y":1}, + {"x":4.75, "y":1}, + {"x":5.75, "y":1}, + {"x":6.75, "y":1}, + {"x":7.75, "y":1}, + {"x":8.75, "y":1}, + {"x":9.75, "y":1}, + {"x":10.75, "y":1}, + {"x":11.75, "y":1}, + {"x":12.75, "y":1}, + + {"x":0, "y":2, "w":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":1, "h":2}, + + {"x":0, "y":3, "w":1.5}, + {"x":1.5, "y":3}, + {"x":2.5, "y":3}, + {"x":3.5, "y":3}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.5, "y":3}, + {"x":8.5, "y":3}, + {"x":9.5, "y":3}, + {"x":10.5, "y":3}, + {"x":11.5, "y":3}, + {"x":12.5, "y":3, "w":1.5}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4, "w":1.25}, + {"x":2.75, "y":4, "w":1.5}, + {"x":4.25, "y":4, "w":2.75}, + {"x":7, "y":4}, + {"x":8, "y":4, "w":2.75}, + {"x":10.75, "y":4, "w":1.5}, + {"x":12.25, "y":4, "w":1.25}, + {"x":13.5, "y":4, "w":1.5} + ] + } + } +} diff --git a/keyboards/4pplet/steezy60/rev_a/info.json b/keyboards/4pplet/steezy60/rev_a/info.json new file mode 100644 index 000000000000..19441871390d --- /dev/null +++ b/keyboards/4pplet/steezy60/rev_a/info.json @@ -0,0 +1,87 @@ +{ + "keyboard_name": "Steezy60 Rev A", + "url": "", + "maintainer": "4pplet", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":2, "w":1.25}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4, "w":2.25}, + {"x":6.25, "y":4, "w":1.5}, + {"x":7.75, "y":4, "w":2.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4} + ] + } + } +} diff --git a/keyboards/6ball/info.json b/keyboards/6ball/info.json new file mode 100644 index 000000000000..d06f3448cc06 --- /dev/null +++ b/keyboards/6ball/info.json @@ -0,0 +1,20 @@ +{ + "keyboard_name": "6-Ball", + "url": "", + "maintainer": "qmk", + "width": 3, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1} + ] + } + } +} diff --git a/keyboards/7c8/framework/info.json b/keyboards/7c8/framework/info.json new file mode 100644 index 000000000000..5be8d09374f1 --- /dev/null +++ b/keyboards/7c8/framework/info.json @@ -0,0 +1,210 @@ +{ + "keyboard_name": "Framework", + "url": "", + "maintainer": "stevennguyen", + "width": 12, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x12": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + {"x": 6, "y": 2}, + {"x": 7, "y": 2}, + {"x": 8, "y": 2}, + {"x": 9, "y": 2}, + {"x": 10, "y": 2}, + {"x": 11, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + {"x": 6, "y": 3}, + {"x": 7, "y": 3}, + {"x": 8, "y": 3}, + {"x": 9, "y": 3}, + {"x": 10, "y": 3}, + {"x": 11, "y": 3}, + + {"x": 0, "y": 4}, + {"x": 1, "y": 4}, + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + {"x": 4, "y": 4}, + {"x": 5, "y": 4}, + {"x": 6, "y": 4}, + {"x": 7, "y": 4}, + {"x": 8, "y": 4}, + {"x": 9, "y": 4}, + {"x": 10, "y": 4}, + {"x": 11, "y": 4} + ] + }, + "LAYOUT_ortho_5x12_1x2uC": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + {"x": 6, "y": 2}, + {"x": 7, "y": 2}, + {"x": 8, "y": 2}, + {"x": 9, "y": 2}, + {"x": 10, "y": 2}, + {"x": 11, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + {"x": 6, "y": 3}, + {"x": 7, "y": 3}, + {"x": 8, "y": 3}, + {"x": 9, "y": 3}, + {"x": 10, "y": 3}, + {"x": 11, "y": 3}, + + {"x": 0, "y": 4}, + {"x": 1, "y": 4}, + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + {"x": 4, "y": 4}, + {"x": 5, "y": 4, "w": 2}, + {"x": 7, "y": 4}, + {"x": 8, "y": 4}, + {"x": 9, "y": 4}, + {"x": 10, "y": 4}, + {"x": 11, "y": 4} + ] + }, + "LAYOUT_preonic_2x2u": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + {"x": 8, "y": 1}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + {"x": 6, "y": 2}, + {"x": 7, "y": 2}, + {"x": 8, "y": 2}, + {"x": 9, "y": 2}, + {"x": 10, "y": 2}, + {"x": 11, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + {"x": 6, "y": 3}, + {"x": 7, "y": 3}, + {"x": 8, "y": 3}, + {"x": 9, "y": 3}, + {"x": 10, "y": 3}, + {"x": 11, "y": 3}, + + {"x": 0, "y": 4}, + {"x": 1, "y": 4}, + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + {"x": 4, "y": 4, "w": 2}, + {"x": 6, "y": 4, "w": 2}, + {"x": 8, "y": 4}, + {"x": 9, "y": 4}, + {"x": 10, "y": 4}, + {"x": 11, "y": 4} + ] + } + } +} diff --git a/keyboards/aeboards/constellation/info.json b/keyboards/aeboards/constellation/info.json new file mode 100644 index 000000000000..172ac4dfa2c7 --- /dev/null +++ b/keyboards/aeboards/constellation/info.json @@ -0,0 +1,85 @@ +{ + "keyboard_name": "Constellation", + "url": "", + "maintainer": "Xelus22", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + } + } +} diff --git a/keyboards/alpine65/info.json b/keyboards/alpine65/info.json new file mode 100644 index 000000000000..5ecf6762a097 --- /dev/null +++ b/keyboards/alpine65/info.json @@ -0,0 +1,84 @@ +{ + "keyboard_name": "Alpine65", + "url": "", + "maintainer": "Gondolindrim", + "width": 16.25, + "height": 5.25, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15.25, "y":1.25}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15.25, "y":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14.25, "y":3.25}, + {"x":15.25, "y":3.25}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13.25, "y":4.25}, + {"x":14.25, "y":4.25}, + {"x":15.25, "y":4.25} + ] + } + } +} diff --git a/keyboards/aplyard/aplx6/info.json b/keyboards/aplyard/aplx6/info.json new file mode 100644 index 000000000000..97a9ac8d41d9 --- /dev/null +++ b/keyboards/aplyard/aplx6/info.json @@ -0,0 +1,20 @@ +{ + "keyboard_name": "Aplx6", + "url": "", + "maintainer": "Aplyard", + "width": 3, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1} + ] + } + } +} diff --git a/keyboards/arch_36/info.json b/keyboards/arch_36/info.json new file mode 100644 index 000000000000..aedc658165dd --- /dev/null +++ b/keyboards/arch_36/info.json @@ -0,0 +1,52 @@ +{ + "keyboard_name": "Arch-36", + "url": "", + "maintainer": "obosob", + "width": 14, + "height": 5.1, + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + {"x":0, "y":1}, + {"x":1, "y":0.25}, + {"x":2, "y":0}, + {"x":3, "y":0.375}, + {"x":4, "y":0.5}, + {"x":9, "y":0.5}, + {"x":10, "y":0.375}, + {"x":11, "y":0}, + {"x":12, "y":0.25}, + {"x":13, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":1.25}, + {"x":2, "y":1}, + {"x":3, "y":1.375}, + {"x":4, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.375}, + {"x":11, "y":1}, + {"x":12, "y":1.25}, + {"x":13, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":2.25}, + {"x":2, "y":2}, + {"x":3, "y":2.375}, + {"x":4, "y":2.5}, + {"x":9, "y":2.5}, + {"x":10, "y":2.375}, + {"x":11, "y":2}, + {"x":12, "y":2.25}, + {"x":13, "y":3}, + + {"x":3.5, "y":3.5}, + {"x":4.5, "y":3.7}, + {"x":5.5, "y":4.1}, + {"x":7.5, "y":4.1}, + {"x":8.5, "y":3.7}, + {"x":9.5, "y":3.5} + ] + } + } +} diff --git a/keyboards/arisu/info.json b/keyboards/arisu/info.json new file mode 100644 index 000000000000..213613d7689c --- /dev/null +++ b/keyboards/arisu/info.json @@ -0,0 +1,84 @@ +{ + "keyboard_name": "Arisu", + "url": "https://github.com/FateNozomi/arisu-pcb", + "maintainer": "FateNozomi", + "width": 18.3, + "height": 5.25, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":16, "y":0}, + {"x":17.3, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1}, + {"x":14.5, "y":1}, + {"x":15.5, "y":1, "w":1.5}, + {"x":17.3, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":2}, + {"x":14.75, "y":2, "w":2.25}, + {"x":17.3, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3}, + {"x":13.25, "y":3}, + {"x":14.25, "y":3, "w":1.75}, + {"x":16.3, "y":3.25}, + + {"x":0, "y":4, "w":1.5}, + {"x":3.25, "y":4, "w":1.5}, + {"x":4.75, "y":4, "w":2}, + {"x":6.75, "y":4, "w":1.25}, + {"x":8.75, "y":4, "w":2.75}, + {"x":11.5, "y":4, "w":1.5}, + {"x":15.3, "y":4.25}, + {"x":16.3, "y":4.25}, + {"x":17.3, "y":4.25} + ] + } + } +} diff --git a/keyboards/box75/info.json b/keyboards/box75/info.json new file mode 100644 index 000000000000..5eb72471ef4b --- /dev/null +++ b/keyboards/box75/info.json @@ -0,0 +1,101 @@ +{ + "keyboard_name": "BOX75", + "url": "", + "maintainer": "Gondolindrim", + "width": 16.25, + "height": 6.375, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + {"x":4, "y":1.25}, + {"x":5, "y":1.25}, + {"x":6, "y":1.25}, + {"x":7, "y":1.25}, + {"x":8, "y":1.25}, + {"x":9, "y":1.25}, + {"x":10, "y":1.25}, + {"x":11, "y":1.25}, + {"x":12, "y":1.25}, + {"x":13, "y":1.25, "w":2}, + {"x":15.25, "y":1.25}, + + {"x":0, "y":2.25, "w":1.5}, + {"x":1.5, "y":2.25}, + {"x":2.5, "y":2.25}, + {"x":3.5, "y":2.25}, + {"x":4.5, "y":2.25}, + {"x":5.5, "y":2.25}, + {"x":6.5, "y":2.25}, + {"x":7.5, "y":2.25}, + {"x":8.5, "y":2.25}, + {"x":9.5, "y":2.25}, + {"x":10.5, "y":2.25}, + {"x":11.5, "y":2.25}, + {"x":12.5, "y":2.25}, + {"x":13.5, "y":2.25, "w":1.5}, + {"x":15.25, "y":2.25}, + + {"x":0, "y":3.25, "w":1.75}, + {"x":1.75, "y":3.25}, + {"x":2.75, "y":3.25}, + {"x":3.75, "y":3.25}, + {"x":4.75, "y":3.25}, + {"x":5.75, "y":3.25}, + {"x":6.75, "y":3.25}, + {"x":7.75, "y":3.25}, + {"x":8.75, "y":3.25}, + {"x":9.75, "y":3.25}, + {"x":10.75, "y":3.25}, + {"x":11.75, "y":3.25}, + {"x":12.75, "y":3.25, "w":2.25}, + {"x":15.25, "y":3.25}, + + {"x":0, "y":4.25, "w":2.25}, + {"x":2.25, "y":4.25}, + {"x":3.25, "y":4.25}, + {"x":4.25, "y":4.25}, + {"x":5.25, "y":4.25}, + {"x":6.25, "y":4.25}, + {"x":7.25, "y":4.25}, + {"x":8.25, "y":4.25}, + {"x":9.25, "y":4.25}, + {"x":10.25, "y":4.25}, + {"x":11.25, "y":4.25}, + {"x":12.25, "y":4.25, "w":1.75}, + {"x":14.125, "y":4.375}, + {"x":15.25, "y":4.25}, + + {"x":0, "y":5.25, "w":1.25}, + {"x":1.25, "y":5.25, "w":1.25}, + {"x":2.5, "y":5.25, "w":1.25}, + {"x":3.75, "y":5.25, "w":6.25}, + {"x":10, "y":5.25}, + {"x":11, "y":5.25}, + {"x":12, "y":5.25}, + {"x":13.125, "y":5.375}, + {"x":14.125, "y":5.375}, + {"x":15.125, "y":5.375} + ] + } + } +} diff --git a/keyboards/butterstick/info.json b/keyboards/butterstick/info.json new file mode 100644 index 000000000000..6e3f16479478 --- /dev/null +++ b/keyboards/butterstick/info.json @@ -0,0 +1,34 @@ +{ + "keyboard_name": "Butter Stick", + "url": "", + "maintainer": "germ", + "width": 10, + "height": 2, + "layouts": { + "LAYOUT_butter": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1} + ] + } + } +} diff --git a/keyboards/four_banger/info.json b/keyboards/four_banger/info.json new file mode 100644 index 000000000000..bb34a47872af --- /dev/null +++ b/keyboards/four_banger/info.json @@ -0,0 +1,18 @@ +{ + "keyboard_name": "Four Banger", + "url": "", + "maintainer": "qmk", + "width": 2, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1} + ] + } + } +} diff --git a/keyboards/geekboards/tester/info.json b/keyboards/geekboards/tester/info.json new file mode 100644 index 000000000000..874ce7d887d6 --- /dev/null +++ b/keyboards/geekboards/tester/info.json @@ -0,0 +1,22 @@ +{ + "keyboard_name": "Geekboards 8-keys macropad", + "url": "", + "maintainer": "moyi4681", + "width": 4, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1} + ] + } + } +} diff --git a/keyboards/handwired/2x5keypad/info.json b/keyboards/handwired/2x5keypad/info.json new file mode 100644 index 000000000000..2cc66f366bf7 --- /dev/null +++ b/keyboards/handwired/2x5keypad/info.json @@ -0,0 +1,24 @@ +{ + "keyboard_name": "2x5keypad", + "url": "", + "maintainer": "jmcameron", + "width": 5, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1} + ] + } + } +} diff --git a/keyboards/handwired/412_64/info.json b/keyboards/handwired/412_64/info.json new file mode 100644 index 000000000000..8d0d14ef90b6 --- /dev/null +++ b/keyboards/handwired/412_64/info.json @@ -0,0 +1,80 @@ +{ + "keyboard_name": "412-64", + "url": "", + "maintainer": "fateeverywhere", + "width": 16, + "height": 4, + "layouts": { + "LAYOUT_ortho_4x16": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + {"x":15, "y":3} + ] + } + } +} diff --git a/keyboards/handwired/42/info.json b/keyboards/handwired/42/info.json new file mode 100644 index 000000000000..0d5b56561a78 --- /dev/null +++ b/keyboards/handwired/42/info.json @@ -0,0 +1,58 @@ +{ + "keyboard_name": "42", + "url": "", + "maintainer": "nglgzz", + "width": 14.5, + "height": 5.417, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.625}, + {"x":1, "y":0.417}, + {"x":2, "y":0.208}, + {"x":3, "y":0}, + {"x":4, "y":0.208}, + {"x":5, "y":0.417}, + {"x":8.5, "y":0.417}, + {"x":9.5, "y":0.208}, + {"x":10.5, "y":0}, + {"x":11.5, "y":0.208}, + {"x":12.5, "y":0.417}, + {"x":13.5, "y":0.625}, + + {"x":0, "y":1.625}, + {"x":1, "y":1.417}, + {"x":2, "y":1.208}, + {"x":3, "y":1}, + {"x":4, "y":1.208}, + {"x":5, "y":1.417}, + {"x":8.5, "y":1.417}, + {"x":9.5, "y":1.208}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1.208}, + {"x":12.5, "y":1.417}, + {"x":13.5, "y":1.625}, + + {"x":0, "y":2.625}, + {"x":1, "y":2.417}, + {"x":2, "y":2.208}, + {"x":3, "y":2}, + {"x":4, "y":2.208}, + {"x":5, "y":2.417}, + {"x":8.5, "y":2.417}, + {"x":9.5, "y":2.208}, + {"x":10.5, "y":2}, + {"x":11.5, "y":2.208}, + {"x":12.5, "y":2.417}, + {"x":13.5, "y":2.625}, + + {"x":4, "y":3.208}, + {"x":5, "y":3.417}, + {"x":5.75, "y":4.417}, + {"x":7.75, "y":4.417}, + {"x":8.5, "y":3.417}, + {"x":9.5, "y":3.208} + ] + } + } +} diff --git a/keyboards/handwired/aplx2/info.json b/keyboards/handwired/aplx2/info.json new file mode 100644 index 000000000000..6ca10a44f8c2 --- /dev/null +++ b/keyboards/handwired/aplx2/info.json @@ -0,0 +1,15 @@ +{ + "keyboard_name": "Aplx2", + "url": "", + "maintainer": "Aplyard", + "width": 2, + "height": 1, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0} + ] + } + } +} diff --git a/keyboards/handwired/brain/info.json b/keyboards/handwired/brain/info.json new file mode 100644 index 000000000000..37454b5bc0da --- /dev/null +++ b/keyboards/handwired/brain/info.json @@ -0,0 +1,73 @@ +{ + "keyboard_name": "Brain", + "url": "", + "maintainer": "Klackygears", + "width": 15, + "height": 6.25, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":1, "y":1}, + {"x":2, "y":0.5}, + {"x":3, "y":0}, + {"x":4, "y":0.5}, + {"x":5, "y":0.75}, + {"x":6, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":0.75}, + {"x":10, "y":0.5}, + {"x":11, "y":0}, + {"x":12, "y":0.5}, + {"x":13, "y":1}, + + {"x":0, "y":2.25}, + {"x":1, "y":2}, + {"x":2, "y":1.5}, + {"x":3, "y":1}, + {"x":4, "y":1.5}, + {"x":5, "y":1.75}, + {"x":6, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":1.75}, + {"x":10, "y":1.5}, + {"x":11, "y":1}, + {"x":12, "y":1.5}, + {"x":13, "y":2}, + {"x":14, "y":2.25}, + + {"x":0, "y":3.25}, + {"x":1, "y":3}, + {"x":2, "y":2.5}, + {"x":3, "y":2}, + {"x":4, "y":2.5}, + {"x":5, "y":2.75}, + {"x":6, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":2.75}, + {"x":10, "y":2.5}, + {"x":11, "y":2}, + {"x":12, "y":2.5}, + {"x":13, "y":3}, + {"x":14, "y":3.25}, + + {"x":1, "y":4}, + {"x":2, "y":3.5}, + {"x":3.5, "y":4.25}, + {"x":4.5, "y":4.25}, + {"x":5.5, "y":4.25}, + {"x":8.5, "y":4.25}, + {"x":9.5, "y":4.25}, + {"x":10.5, "y":4.25}, + {"x":12, "y":3.5}, + {"x":13, "y":4}, + + {"x":3.5, "y":5.25}, + {"x":4.5, "y":5.25}, + {"x":5.5, "y":5.25}, + {"x":8.5, "y":5.25}, + {"x":9.5, "y":5.25}, + {"x":10.5, "y":5.25} + ] + } + } +} diff --git a/keyboards/handwired/cans12er/info.json b/keyboards/handwired/cans12er/info.json new file mode 100644 index 000000000000..640e6a447570 --- /dev/null +++ b/keyboards/handwired/cans12er/info.json @@ -0,0 +1,27 @@ +{ + "keyboard_name": "Cans12er", + "url": "", + "maintainer": "canbaytok", + "width": 4, + "height": 3, + "layouts": { + "LAYOUT_ortho_3x4": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2} + ] + } + } +} diff --git a/keyboards/handwired/ck4x4/info.json b/keyboards/handwired/ck4x4/info.json new file mode 100644 index 000000000000..e1f31582df44 --- /dev/null +++ b/keyboards/handwired/ck4x4/info.json @@ -0,0 +1,32 @@ +{ + "keyboard_name": "CK4x4", + "url": "", + "maintainer": "awkannan", + "width": 4, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3} + ] + } + } +} diff --git a/keyboards/handwired/d48/info.json b/keyboards/handwired/d48/info.json new file mode 100644 index 000000000000..540a9e322852 --- /dev/null +++ b/keyboards/handwired/d48/info.json @@ -0,0 +1,67 @@ +{ + "keyboard_name": "D48", + "url": "", + "maintainer": "and3rson", + "width": 12, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":8, "y":0}, + {"x":11, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"x":7, "y":4}, + {"x":8, "y":4}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json new file mode 100644 index 000000000000..8e54b8db4d24 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json @@ -0,0 +1,90 @@ +{ + "keyboard_name": "DMOTE 62-key", + "url": "", + "maintainer": "veikman", + "width": 15, + "height": 7.5, + "layouts": { + "LAYOUT_62key": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + + {"x":3, "y":4}, + {"x":4.5, "y":4.5}, + {"x":5.5, "y":4.5}, + + {"x":4, "y":5.5}, + {"x":5, "y":5.5}, + {"x":6, "y":5.5}, + + {"x":4.5, "y":6.5}, + {"x":5.5, "y":6.5}, + + + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + + {"x":8.5, "y":4.5}, + {"x":9.5, "y":4.5}, + {"x":11, "y":4}, + + {"x":8, "y":5.5}, + {"x":9, "y":5.5}, + {"x":10, "y":5.5}, + + {"x":8.5, "y":6.5}, + {"x":9.5, "y":6.5} + ] + } + } +} + diff --git a/keyboards/handwired/daishi/info.json b/keyboards/handwired/daishi/info.json new file mode 100644 index 000000000000..52a67b3de989 --- /dev/null +++ b/keyboards/handwired/daishi/info.json @@ -0,0 +1,136 @@ +{ + "keyboard_name": "Daishi", + "url": "", + "maintainer": "Croktopus", + "width": 19.5, + "height": 7.75, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.5, "y":0}, + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.75, "y":0}, + {"x":8.75, "y":0}, + {"x":9.75, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14.25, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.25, "y":0}, + {"x":18.5, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + {"x":4.33, "y":1.25}, + {"x":5.33, "y":1.25}, + {"x":6.33, "y":1.25}, + {"x":7.33, "y":1.25}, + {"x":8.67, "y":1.25}, + {"x":9.67, "y":1.25}, + {"x":10.67, "y":1.25}, + {"x":11.67, "y":1.25}, + {"x":13, "y":1.25}, + {"x":14.25, "y":1.25}, + {"x":15.25, "y":1.25}, + {"x":16.25, "y":1.25}, + {"x":17.5, "y":1.25}, + {"x":18.5, "y":1.25}, + + {"x":0, "y":2.5}, + {"x":1, "y":2.5}, + {"x":2, "y":2.5}, + {"x":3, "y":2.5}, + {"x":4, "y":2.5}, + {"x":5, "y":2.5}, + {"x":6, "y":2.5}, + {"x":7, "y":2.5}, + {"x":8, "y":2.5}, + {"x":9, "y":2.5}, + {"x":10, "y":2.5}, + {"x":11, "y":2.5}, + {"x":12, "y":2.5}, + {"x":13, "y":2.5, "w":2}, + {"x":15.25, "y":2.25}, + {"x":16.5, "y":2.5}, + {"x":17.5, "y":2.5}, + {"x":18.5, "y":2.5}, + + {"x":0, "y":3.5, "w":1.5}, + {"x":1.5, "y":3.5}, + {"x":2.5, "y":3.5}, + {"x":3.5, "y":3.5}, + {"x":4.5, "y":3.5}, + {"x":5.5, "y":3.5}, + {"x":6.5, "y":3.5}, + {"x":7.5, "y":3.5}, + {"x":8.5, "y":3.5}, + {"x":9.5, "y":3.5}, + {"x":10.5, "y":3.5}, + {"x":11.5, "y":3.5}, + {"x":12.5, "y":3.5}, + {"x":13.5, "y":3.5, "w":1.5}, + {"x":15.5, "y":3.5}, + {"x":16.5, "y":3.5}, + {"x":17.5, "y":3.5}, + {"x":18.5, "y":3.5}, + + {"x":0, "y":4.5, "w":1.75}, + {"x":1.75, "y":4.5}, + {"x":2.75, "y":4.5}, + {"x":3.75, "y":4.5}, + {"x":4.75, "y":4.5}, + {"x":5.75, "y":4.5}, + {"x":6.75, "y":4.5}, + {"x":7.75, "y":4.5}, + {"x":8.75, "y":4.5}, + {"x":9.75, "y":4.5}, + {"x":10.75, "y":4.5}, + {"x":11.75, "y":4.5}, + {"x":12.75, "y":4.5, "w":2.25}, + {"x":15.5, "y":4.5}, + {"x":16.5, "y":4.5}, + {"x":17.5, "y":4.5}, + {"x":18.5, "y":4.5}, + + {"x":0, "y":5.5, "w":2.25}, + {"x":2.25, "y":5.5}, + {"x":3.25, "y":5.5}, + {"x":4.25, "y":5.5}, + {"x":5.25, "y":5.5}, + {"x":6.25, "y":5.5}, + {"x":7.25, "y":5.5}, + {"x":8.25, "y":5.5}, + {"x":9.25, "y":5.5}, + {"x":10.25, "y":5.5}, + {"x":11.25, "y":5.5}, + {"x":12.25, "y":5.5, "w":1.75}, + {"x":14.25, "y":5.75}, + {"x":15.5, "y":5.5}, + {"x":16.5, "y":5.5}, + {"x":17.5, "y":5.5}, + {"x":18.5, "y":5.5, "h":2}, + + {"x":0, "y":6.5, "w":1.25}, + {"x":1.25, "y":6.5, "w":1.25}, + {"x":2.5, "y":6.5, "w":1.25}, + {"x":3.75, "y":6.5, "w":6.25}, + {"x":10, "y":6.5, "w":1.5}, + {"x":11.5, "y":6.5, "w":1.5}, + {"x":13.25, "y":6.75}, + {"x":14.25, "y":6.75}, + {"x":15.25, "y":6.75}, + {"x":16.5, "y":6.5}, + {"x":17.5, "y":6.5} + ] + } + } +} diff --git a/keyboards/handwired/hexon38/info.json b/keyboards/handwired/hexon38/info.json new file mode 100644 index 000000000000..5c141ac656ca --- /dev/null +++ b/keyboards/handwired/hexon38/info.json @@ -0,0 +1,54 @@ +{ + "keyboard_name": "hexon38", + "url": "", + "maintainer": "cellularmitosis", + "width": 18, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + {"x":15, "y":1}, + {"x":16, "y":1}, + {"x":17, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2}, + {"x":16, "y":2}, + {"x":17, "y":2}, + + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.5, "y":3}, + {"x":9.5, "y":3}, + {"x":10.5, "y":3}, + {"x":11.5, "y":3}, + {"x":12.5, "y":3} + ] + } + } +} diff --git a/keyboards/handwired/jot50/info.json b/keyboards/handwired/jot50/info.json new file mode 100644 index 000000000000..c144d684cb7b --- /dev/null +++ b/keyboards/handwired/jot50/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "Jot50", + "url": "", + "maintainer": "jotix", + "width": 12, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x12": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"x":7, "y":4}, + {"x":8, "y":4}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4} + ] + } + } +} diff --git a/keyboards/handwired/jotanck/info.json b/keyboards/handwired/jotanck/info.json new file mode 100644 index 000000000000..a5d13876ea1c --- /dev/null +++ b/keyboards/handwired/jotanck/info.json @@ -0,0 +1,64 @@ +{ + "keyboard_name": "Jotanck", + "url": "", + "maintainer": "jotix", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT_ortho_4x12": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":10, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":10, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":10, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":10, "y":3} + ] + } + } +} diff --git a/keyboards/handwired/jotpad16/info.json b/keyboards/handwired/jotpad16/info.json new file mode 100644 index 000000000000..feea7575cf71 --- /dev/null +++ b/keyboards/handwired/jotpad16/info.json @@ -0,0 +1,32 @@ +{ + "keyboard_name": "JotPad16", + "url": "", + "maintainer": "jotix", + "width": 4, + "height": 4, + "layouts": { + "LAYOUT_ortho_4x4": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3} + ] + } + } +} diff --git a/keyboards/handwired/k8split/info.json b/keyboards/handwired/k8split/info.json new file mode 100644 index 000000000000..026edfe7102d --- /dev/null +++ b/keyboards/handwired/k8split/info.json @@ -0,0 +1,66 @@ +{ + "keyboard_name": "k8split", + "url": "", + "maintainer": "Ckath", + "width": 10, + "height": 6, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + + {"x":0, "y":2, "w":1.5}, + {"x":1.5, "y":2}, + {"x":2.5, "y":2}, + {"x":3.5, "y":2}, + {"x":4.5, "y":2}, + {"x":5.5, "y":2}, + {"x":6.5, "y":2}, + {"x":7.5, "y":2}, + + {"x":0, "y":3, "w":1.75}, + {"x":1.75, "y":3}, + {"x":2.75, "y":3}, + {"x":3.75, "y":3}, + {"x":4.75, "y":3}, + {"x":5.75, "y":3}, + {"x":6.75, "y":3}, + {"x":7.75, "y":3}, + + {"x":0, "y":4, "w":2.25}, + {"x":2.25, "y":4}, + {"x":3.25, "y":4}, + {"x":4.25, "y":4}, + {"x":5.25, "y":4}, + {"x":6.25, "y":4}, + {"x":7.25, "y":4}, + {"x":8.25, "y":4}, + + {"x":0, "y":5, "w":1.5}, + {"x":1.5, "y":5}, + {"x":2.5, "y":5}, + {"x":3.5, "y":5, "w":1.25}, + {"x":4.75, "y":5, "w":2.25}, + {"x":7, "y":5}, + {"x":8, "y":5}, + {"x":9, "y":5} + ] + } + } +} diff --git a/keyboards/handwired/myskeeb/info.json b/keyboards/handwired/myskeeb/info.json new file mode 100644 index 000000000000..617fbc441b21 --- /dev/null +++ b/keyboards/handwired/myskeeb/info.json @@ -0,0 +1,88 @@ +{ + "keyboard_name": "myskeeb", + "url": "", + "maintainer": "su8044", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"x":8, "y":4}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4} + ] + } + } +} + diff --git a/keyboards/handwired/nicekey/info.json b/keyboards/handwired/nicekey/info.json new file mode 100644 index 000000000000..1f099534b281 --- /dev/null +++ b/keyboards/handwired/nicekey/info.json @@ -0,0 +1,14 @@ +{ + "keyboard_name": "nicekey handwired", + "url": "", + "maintainer": "spydon", + "width": 1, + "height": 1, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0} + ] + } + } +} diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json new file mode 100644 index 000000000000..ac339ba197d9 --- /dev/null +++ b/keyboards/handwired/onekey/info.json @@ -0,0 +1,14 @@ +{ + "keyboard_name": "onekey handwired", + "url": "", + "maintainer": "qmk", + "width": 1, + "height": 1, + "layouts": { + "LAYOUT_ortho_1x1": { + "layout": [ + {"x":0, "y":0} + ] + } + } +} diff --git a/keyboards/handwired/postageboard/info.json b/keyboards/handwired/postageboard/info.json new file mode 100644 index 000000000000..6389470867c1 --- /dev/null +++ b/keyboards/handwired/postageboard/info.json @@ -0,0 +1,16 @@ +{ + "keyboard_name": "Postage Board", + "url": "", + "maintainer": "LifeIsOnTheWire", + "width": 1, + "height": 1, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0} + ] + } + } +} diff --git a/keyboards/handwired/riblee_f401/info.json b/keyboards/handwired/riblee_f401/info.json new file mode 100644 index 000000000000..ddf13abc939c --- /dev/null +++ b/keyboards/handwired/riblee_f401/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "Handwired Preonic (Blackpill F401)", + "url": "", + "maintainer": "riblee", + "width": 12, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x12": { + "layout": [ + {"x": 0,"y": 0}, + {"x": 1,"y": 0}, + {"x": 2,"y": 0}, + {"x": 3,"y": 0}, + {"x": 4,"y": 0}, + {"x": 5,"y": 0}, + {"x": 6,"y": 0}, + {"x": 7,"y": 0}, + {"x": 8,"y": 0}, + {"x": 9,"y": 0}, + {"x": 10,"y": 0}, + {"x": 11,"y": 0}, + + {"x": 0,"y": 1}, + {"x": 1,"y": 1}, + {"x": 2,"y": 1}, + {"x": 3,"y": 1}, + {"x": 4,"y": 1}, + {"x": 5,"y": 1}, + {"x": 6,"y": 1}, + {"x": 7,"y": 1}, + {"x": 8,"y": 1}, + {"x": 9,"y": 1}, + {"x": 10,"y": 1}, + {"x": 11,"y": 1}, + + {"x": 0,"y": 2}, + {"x": 1,"y": 2}, + {"x": 2,"y": 2}, + {"x": 3,"y": 2}, + {"x": 4,"y": 2}, + {"x": 5,"y": 2}, + {"x": 6,"y": 2}, + {"x": 7,"y": 2}, + {"x": 8,"y": 2}, + {"x": 9,"y": 2}, + {"x": 10,"y": 2}, + {"x": 11,"y": 2}, + + {"x": 0,"y": 3}, + {"x": 1,"y": 3}, + {"x": 2,"y": 3}, + {"x": 3,"y": 3}, + {"x": 4,"y": 3}, + {"x": 5,"y": 3}, + {"x": 6,"y": 3}, + {"x": 7,"y": 3}, + {"x": 8,"y": 3}, + {"x": 9,"y": 3}, + {"x": 10,"y": 3}, + {"x": 11,"y": 3}, + + {"x": 0,"y": 4}, + {"x": 1,"y": 4}, + {"x": 2,"y": 4}, + {"x": 3,"y": 4}, + {"x": 4,"y": 4}, + {"x": 5,"y": 4}, + {"x": 6,"y": 4}, + {"x": 7,"y": 4}, + {"x": 8,"y": 4}, + {"x": 9,"y": 4}, + {"x": 10,"y": 4}, + {"x": 11,"y": 4} + ] + } + } +} diff --git a/keyboards/handwired/riblee_f411/info.json b/keyboards/handwired/riblee_f411/info.json new file mode 100644 index 000000000000..e318e8bd6a7e --- /dev/null +++ b/keyboards/handwired/riblee_f411/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "Handwired Preonic (Blackpill F411)", + "url": "", + "maintainer": "riblee", + "width": 12, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x12": { + "layout": [ + {"x": 0,"y": 0}, + {"x": 1,"y": 0}, + {"x": 2,"y": 0}, + {"x": 3,"y": 0}, + {"x": 4,"y": 0}, + {"x": 5,"y": 0}, + {"x": 6,"y": 0}, + {"x": 7,"y": 0}, + {"x": 8,"y": 0}, + {"x": 9,"y": 0}, + {"x": 10,"y": 0}, + {"x": 11,"y": 0}, + + {"x": 0,"y": 1}, + {"x": 1,"y": 1}, + {"x": 2,"y": 1}, + {"x": 3,"y": 1}, + {"x": 4,"y": 1}, + {"x": 5,"y": 1}, + {"x": 6,"y": 1}, + {"x": 7,"y": 1}, + {"x": 8,"y": 1}, + {"x": 9,"y": 1}, + {"x": 10,"y": 1}, + {"x": 11,"y": 1}, + + {"x": 0,"y": 2}, + {"x": 1,"y": 2}, + {"x": 2,"y": 2}, + {"x": 3,"y": 2}, + {"x": 4,"y": 2}, + {"x": 5,"y": 2}, + {"x": 6,"y": 2}, + {"x": 7,"y": 2}, + {"x": 8,"y": 2}, + {"x": 9,"y": 2}, + {"x": 10,"y": 2}, + {"x": 11,"y": 2}, + + {"x": 0,"y": 3}, + {"x": 1,"y": 3}, + {"x": 2,"y": 3}, + {"x": 3,"y": 3}, + {"x": 4,"y": 3}, + {"x": 5,"y": 3}, + {"x": 6,"y": 3}, + {"x": 7,"y": 3}, + {"x": 8,"y": 3}, + {"x": 9,"y": 3}, + {"x": 10,"y": 3}, + {"x": 11,"y": 3}, + + {"x": 0,"y": 4}, + {"x": 1,"y": 4}, + {"x": 2,"y": 4}, + {"x": 3,"y": 4}, + {"x": 4,"y": 4}, + {"x": 5,"y": 4}, + {"x": 6,"y": 4}, + {"x": 7,"y": 4}, + {"x": 8,"y": 4}, + {"x": 9,"y": 4}, + {"x": 10,"y": 4}, + {"x": 11,"y": 4} + ] + } + } +} diff --git a/keyboards/handwired/rs60/info.json b/keyboards/handwired/rs60/info.json new file mode 100644 index 000000000000..a3b32aec1891 --- /dev/null +++ b/keyboards/handwired/rs60/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "rs60", + "url": "", + "maintainer": "rs", + "width": 12, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x12": { + "layout": [ + {"x": 0,"y": 0}, + {"x": 1,"y": 0}, + {"x": 2,"y": 0}, + {"x": 3,"y": 0}, + {"x": 4,"y": 0}, + {"x": 5,"y": 0}, + {"x": 6,"y": 0}, + {"x": 7,"y": 0}, + {"x": 8,"y": 0}, + {"x": 9,"y": 0}, + {"x": 10,"y": 0}, + {"x": 11,"y": 0}, + + {"x": 0,"y": 1}, + {"x": 1,"y": 1}, + {"x": 2,"y": 1}, + {"x": 3,"y": 1}, + {"x": 4,"y": 1}, + {"x": 5,"y": 1}, + {"x": 6,"y": 1}, + {"x": 7,"y": 1}, + {"x": 8,"y": 1}, + {"x": 9,"y": 1}, + {"x": 10,"y": 1}, + {"x": 11,"y": 1}, + + {"x": 0,"y": 2}, + {"x": 1,"y": 2}, + {"x": 2,"y": 2}, + {"x": 3,"y": 2}, + {"x": 4,"y": 2}, + {"x": 5,"y": 2}, + {"x": 6,"y": 2}, + {"x": 7,"y": 2}, + {"x": 8,"y": 2}, + {"x": 9,"y": 2}, + {"x": 10,"y": 2}, + {"x": 11,"y": 2}, + + {"x": 0,"y": 3}, + {"x": 1,"y": 3}, + {"x": 2,"y": 3}, + {"x": 3,"y": 3}, + {"x": 4,"y": 3}, + {"x": 5,"y": 3}, + {"x": 6,"y": 3}, + {"x": 7,"y": 3}, + {"x": 8,"y": 3}, + {"x": 9,"y": 3}, + {"x": 10,"y": 3}, + {"x": 11,"y": 3}, + + {"x": 0,"y": 4}, + {"x": 1,"y": 4}, + {"x": 2,"y": 4}, + {"x": 3,"y": 4}, + {"x": 4,"y": 4}, + {"x": 5,"y": 4}, + {"x": 6,"y": 4}, + {"x": 7,"y": 4}, + {"x": 8,"y": 4}, + {"x": 9,"y": 4}, + {"x": 10,"y": 4}, + {"x": 11,"y": 4} + ] + } + } +} diff --git a/keyboards/handwired/splittest/info.json b/keyboards/handwired/splittest/info.json new file mode 100644 index 000000000000..fb7dce7b1c4b --- /dev/null +++ b/keyboards/handwired/splittest/info.json @@ -0,0 +1,15 @@ +{ + "keyboard_name": "Split Tester", + "url": "", + "maintainer": "nooges", + "width": 2, + "height": 1, + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0,"y": 0}, + {"x": 1,"y": 0} + ] + } + } +} diff --git a/keyboards/handwired/trackpoint/info.json b/keyboards/handwired/trackpoint/info.json new file mode 100644 index 000000000000..d1dcb39d6268 --- /dev/null +++ b/keyboards/handwired/trackpoint/info.json @@ -0,0 +1,16 @@ +{ + "keyboard_name": "Trackpoint", + "url": "", + "maintainer": "qmk", + "width": 3, + "height": 1, + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0,"y": 0}, + {"x": 1,"y": 0}, + {"x": 2,"y": 0} + ] + } + } +} diff --git a/keyboards/handwired/traveller/info.json b/keyboards/handwired/traveller/info.json new file mode 100644 index 000000000000..0a13fab77a7d --- /dev/null +++ b/keyboards/handwired/traveller/info.json @@ -0,0 +1,66 @@ +{ + "keyboard_name": "traveller", + "url": "", + "maintainer": "qmk", + "width": 1, + "height": 1, + "layouts": { + "KEYMAP": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3} + ] + } + } +} diff --git a/keyboards/hhkb_lite_2/info.json b/keyboards/hhkb_lite_2/info.json new file mode 100644 index 000000000000..4319320b10a7 --- /dev/null +++ b/keyboards/hhkb_lite_2/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "HHKB Lite 2", + "url": "", + "maintainer": "qmk", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":6}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4} + ] + } + } +} diff --git a/keyboards/honeycomb/info.json b/keyboards/honeycomb/info.json new file mode 100644 index 000000000000..1124a8b13365 --- /dev/null +++ b/keyboards/honeycomb/info.json @@ -0,0 +1,32 @@ +{ + "keyboard_name": "Honeycomb", + "url": "", + "maintainer": "filoxo", + "width": 4, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3} + ] + } + } +} diff --git a/keyboards/ivy/rev1/info.json b/keyboards/ivy/rev1/info.json new file mode 100644 index 000000000000..4e9db790312d --- /dev/null +++ b/keyboards/ivy/rev1/info.json @@ -0,0 +1,16 @@ +{ + "keyboard_name": "IVY", + "url": "", + "maintainer": "That-Canadian", + "width": 3, + "height": 1, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0} + ] + } + } +} diff --git a/keyboards/keebio/viterbi/info.json b/keyboards/keebio/viterbi/info.json new file mode 100644 index 000000000000..c37d941f40ca --- /dev/null +++ b/keyboards/keebio/viterbi/info.json @@ -0,0 +1,87 @@ +{ + "keyboard_name": "Viterbi", + "url": "https://keeb.io", + "maintainer": "nooges", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"x":8, "y":4}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4} + ] + } + } +} diff --git a/keyboards/laptreus/info.json b/keyboards/laptreus/info.json new file mode 100644 index 000000000000..adcfdf60406e --- /dev/null +++ b/keyboards/laptreus/info.json @@ -0,0 +1,64 @@ +{ + "keyboard_name": "Laptreus", + "url": "", + "maintainer": "vosechu", + "width": 14, + "height": 4.67, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.67}, + {"x":1, "y":0.67}, + {"x":2, "y":0.33}, + {"x":3, "y":0}, + {"x":4, "y":0.33}, + {"x":5, "y":0.33}, + {"x":8, "y":0.33}, + {"x":9, "y":0.33}, + {"x":10, "y":0}, + {"x":11, "y":0.33}, + {"x":12, "y":0.67}, + {"x":13, "y":0.67}, + + {"x":0, "y":1.67}, + {"x":1, "y":1.67}, + {"x":2, "y":1.33}, + {"x":3, "y":1}, + {"x":4, "y":1.33}, + {"x":5, "y":1.33}, + {"x":8, "y":1.33}, + {"x":9, "y":1.33}, + {"x":10, "y":1}, + {"x":11, "y":1.33}, + {"x":12, "y":1.67}, + {"x":13, "y":1.67}, + + {"x":0, "y":2.67}, + {"x":1, "y":2.67}, + {"x":2, "y":2.33}, + {"x":3, "y":2}, + {"x":4, "y":2.33}, + {"x":5, "y":2.33}, + {"x":8, "y":2.33}, + {"x":9, "y":2.33}, + {"x":10, "y":2}, + {"x":11, "y":2.33}, + {"x":12, "y":2.67}, + {"x":13, "y":2.67}, + + {"x":0, "y":3.67}, + {"x":1, "y":3.67}, + {"x":2, "y":3.67}, + {"x":3, "y":3.67}, + {"x":4.5, "y":3.42}, + {"x":5.5, "y":3.67}, + {"x":7.5, "y":3.67}, + {"x":8.5, "y":3.42}, + {"x":10, "y":3.67}, + {"x":11, "y":3.67}, + {"x":12, "y":3.67}, + {"x":13, "y":3.67} + ] + } + } +} diff --git a/keyboards/latin47ble/info.json b/keyboards/latin47ble/info.json new file mode 100644 index 000000000000..8755e97f74ec --- /dev/null +++ b/keyboards/latin47ble/info.json @@ -0,0 +1,63 @@ +{ + "keyboard_name": "Latin47ble", + "url": "", + "maintainer": "latincompass", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT_planck_mit": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3, "w":2}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3} + ] + } + } +} diff --git a/keyboards/latin64ble/info.json b/keyboards/latin64ble/info.json new file mode 100644 index 000000000000..de34b2bd17b8 --- /dev/null +++ b/keyboards/latin64ble/info.json @@ -0,0 +1,81 @@ +{ + "keyboard_name": "Latin64ble", + "url": "", + "maintainer": "latincompass", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4} + ] + } + } +} diff --git a/keyboards/launchpad/rev1/info.json b/keyboards/launchpad/rev1/info.json new file mode 100644 index 000000000000..f12eaba42d46 --- /dev/null +++ b/keyboards/launchpad/rev1/info.json @@ -0,0 +1,24 @@ +{ + "keyboard_name": "Launch Pad rev1", + "url": "", + "maintainer": "qmk", + "width": 2, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3} + ] + } + } +} diff --git a/keyboards/lets_split_eh/eh/info.json b/keyboards/lets_split_eh/eh/info.json new file mode 100644 index 000000000000..f96477e6ee45 --- /dev/null +++ b/keyboards/lets_split_eh/eh/info.json @@ -0,0 +1,64 @@ +{ + "keyboard_name": "Let's Split", + "url": "", + "maintainer": "qmk", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3} + ] + } + } +} diff --git a/keyboards/mechmini/v1/info.json b/keyboards/mechmini/v1/info.json new file mode 100644 index 000000000000..d99f3609420d --- /dev/null +++ b/keyboards/mechmini/v1/info.json @@ -0,0 +1,58 @@ +{ + "keyboard_name": "MechMini", + "url": "", + "maintainer": "qmk", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT_split_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2, "w":1.25}, + {"x":11, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3, "w":1.25}, + {"x":3.5, "y":3, "w":2.75}, + {"x":6.25, "y":3, "w":2.25}, + {"x":8.5, "y":3, "w":1.25}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3, "w":1.25} + ] + } + } +} diff --git a/keyboards/meira/info.json b/keyboards/meira/info.json new file mode 100644 index 000000000000..ea48f0df1929 --- /dev/null +++ b/keyboards/meira/info.json @@ -0,0 +1,64 @@ +{ + "keyboard_name": "Meira", + "url": "", + "maintainer": "colemarkham", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT_ortho_4x12": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3} + ] + } + } +} diff --git a/keyboards/meishi/info.json b/keyboards/meishi/info.json new file mode 100644 index 000000000000..ec2a9cb63112 --- /dev/null +++ b/keyboards/meishi/info.json @@ -0,0 +1,17 @@ +{ + "keyboard_name": "Meishi", + "url": "", + "maintainer": "Biacco42", + "width": 4, + "height": 1, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0} + ] + } + } +} diff --git a/keyboards/merge/iso_macro/info.json b/keyboards/merge/iso_macro/info.json new file mode 100644 index 000000000000..6ec535ac2db0 --- /dev/null +++ b/keyboards/merge/iso_macro/info.json @@ -0,0 +1,23 @@ +{ + "keyboard_name": "ISO Macro", + "url": "", + "maintainer": "duoshock", + "width": 5.75, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.5, "y":0, "w":1.25, "h":2}, + + {"x":0, "y":1}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1} + ] + } + } +} diff --git a/keyboards/mschwingen/modelm/info.json b/keyboards/mschwingen/modelm/info.json new file mode 100644 index 000000000000..f4e6ed1c1409 --- /dev/null +++ b/keyboards/mschwingen/modelm/info.json @@ -0,0 +1,121 @@ +{ + "keyboard_name": "atmega32U4 board for IBM Model M", + "url": "", + "maintainer": "mschwingen", + "width": 23, + "height": 7, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.5, "y":0}, + {"x":16.5, "y":0}, + {"x":17.5, "y":0}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2, "w":2}, + {"x":15.5, "y":2}, + {"x":16.5, "y":2}, + {"x":17.5, "y":2}, + {"x":19, "y":2}, + {"x":20, "y":2}, + {"x":21, "y":2}, + {"x":22, "y":2}, + + {"x":0, "y":3, "w":1.5}, + {"x":1.5, "y":3}, + {"x":2.5, "y":3}, + {"x":3.5, "y":3}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.5, "y":3}, + {"x":8.5, "y":3}, + {"x":9.5, "y":3}, + {"x":10.5, "y":3}, + {"x":11.5, "y":3}, + {"x":12.5, "y":3}, + {"x":13.5, "y":3, "w":1.5}, + {"x":15.5, "y":3}, + {"x":16.5, "y":3}, + {"x":17.5, "y":3}, + {"x":19, "y":3}, + {"x":20, "y":3}, + {"x":21, "y":3}, + {"x":22, "y":3, "h":2}, + + {"x":0, "y":4, "w":1.75}, + {"x":1.75, "y":4}, + {"x":2.75, "y":4}, + {"x":3.75, "y":4}, + {"x":4.75, "y":4}, + {"x":5.75, "y":4}, + {"x":6.75, "y":4}, + {"x":7.75, "y":4}, + {"x":8.75, "y":4}, + {"x":9.75, "y":4}, + {"x":10.75, "y":4}, + {"x":11.75, "y":4}, + {"x":12.75, "y":4}, + {"x":13.75, "y":4, "w":1.25}, + {"x":19, "y":4}, + {"x":20, "y":4}, + {"x":21, "y":4}, + + {"x":0, "y":5, "w":1.25}, + {"x":1.25, "y":5}, + {"x":2.25, "y":5}, + {"x":3.25, "y":5}, + {"x":4.25, "y":5}, + {"x":5.25, "y":5}, + {"x":6.25, "y":5}, + {"x":7.25, "y":5}, + {"x":8.25, "y":5}, + {"x":9.25, "y":5}, + {"x":10.25, "y":5}, + {"x":11.25, "y":5}, + {"x":12.25, "y":5, "w":2.75}, + {"x":16.5, "y":5}, + {"x":19, "y":5}, + {"x":20, "y":5}, + {"x":21, "y":5}, + {"x":22, "y":5, "h":2}, + + {"x":0, "y":6, "w":1.5}, + {"x":2.5, "y":6, "w":1.5}, + {"x":4, "y":6, "w":7}, + {"x":11, "y":6, "w":1.5}, + {"x":13.5, "y":6, "w":1.5}, + {"x":15.5, "y":6}, + {"x":16.5, "y":6}, + {"x":17.5, "y":6}, + {"x":19, "y":6, "w":2}, + {"x":21, "y":6} + ] + } + } +} diff --git a/keyboards/pabile/p20/info.json b/keyboards/pabile/p20/info.json new file mode 100644 index 000000000000..d1a63a9439b8 --- /dev/null +++ b/keyboards/pabile/p20/info.json @@ -0,0 +1,62 @@ +{ + "keyboard_name": "P20", + "url": "", + "maintainer": "pabile", + "width": 4, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x4": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4} + ] + }, + "LAYOUT_numpad_5x4": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":1, "h":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + + {"x":0, "y":4, "w":2}, + {"x":2, "y":4}, + {"x":3, "y":3, "h":2} + ] + } + } +} diff --git a/keyboards/pimentoso/paddino02/rev1/info.json b/keyboards/pimentoso/paddino02/rev1/info.json new file mode 100644 index 000000000000..cac61f71c1d6 --- /dev/null +++ b/keyboards/pimentoso/paddino02/rev1/info.json @@ -0,0 +1,25 @@ +{ + "keyboard_name": "Paddino02 rev1", + "url": "", + "maintainer": "Pimentoso", + "width": 4, + "height": 3.75, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.5}, + {"x":1, "y":0.25}, + {"x":2, "y":0}, + {"x":3, "y":0.25}, + + {"x":0, "y":1.5}, + {"x":1, "y":1.25}, + {"x":2, "y":1}, + {"x":3, "y":1.25}, + + {"x":2, "y":2.75}, + {"x":3, "y":2.75} + ] + } + } +} diff --git a/keyboards/pimentoso/paddino02/rev2/left/info.json b/keyboards/pimentoso/paddino02/rev2/left/info.json new file mode 100644 index 000000000000..ab5e30619393 --- /dev/null +++ b/keyboards/pimentoso/paddino02/rev2/left/info.json @@ -0,0 +1,25 @@ +{ + "keyboard_name": "Paddino02 rev2 (left)", + "url": "", + "maintainer": "Pimentoso", + "width": 4, + "height": 3.75, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.5}, + {"x":1, "y":0.25}, + {"x":2, "y":0}, + {"x":3, "y":0.25}, + + {"x":0, "y":1.5}, + {"x":1, "y":1.25}, + {"x":2, "y":1}, + {"x":3, "y":1.25}, + + {"x":2, "y":2.75}, + {"x":3, "y":2.75} + ] + } + } +} diff --git a/keyboards/pimentoso/paddino02/rev2/right/info.json b/keyboards/pimentoso/paddino02/rev2/right/info.json new file mode 100644 index 000000000000..1ad6d3223437 --- /dev/null +++ b/keyboards/pimentoso/paddino02/rev2/right/info.json @@ -0,0 +1,25 @@ +{ + "keyboard_name": "Paddino02 rev2 (right)", + "url": "", + "maintainer": "Pimentoso", + "width": 4, + "height": 3.75, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.25}, + {"x":1, "y":0}, + {"x":2, "y":0.25}, + {"x":3, "y":0.5}, + + {"x":0, "y":1.25}, + {"x":1, "y":1}, + {"x":2, "y":1.25}, + {"x":3, "y":1.5}, + + {"x":0, "y":2.75}, + {"x":1, "y":2.75} + ] + } + } +} diff --git a/keyboards/runner3680/3x6/info.json b/keyboards/runner3680/3x6/info.json new file mode 100644 index 000000000000..b9a802349f98 --- /dev/null +++ b/keyboards/runner3680/3x6/info.json @@ -0,0 +1,51 @@ +{ + "keyboard_name": "runner3680 3x6", + "url": "", + "maintainer": "omkbd", + "width": 13, + "height": 3, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2} + ] + } + } +} diff --git a/keyboards/runner3680/3x7/info.json b/keyboards/runner3680/3x7/info.json new file mode 100644 index 000000000000..55b9e6dd027c --- /dev/null +++ b/keyboards/runner3680/3x7/info.json @@ -0,0 +1,57 @@ +{ + "keyboard_name": "runner3680 3x7", + "url": "", + "maintainer": "omkbd", + "width": 15, + "height": 3, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2} + ] + } + } +} diff --git a/keyboards/runner3680/3x8/info.json b/keyboards/runner3680/3x8/info.json new file mode 100644 index 000000000000..55a4da4bcf91 --- /dev/null +++ b/keyboards/runner3680/3x8/info.json @@ -0,0 +1,63 @@ +{ + "keyboard_name": "runner3680 3x8", + "url": "", + "maintainer": "omkbd", + "width": 17, + "height": 3, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":16, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + {"x":15, "y":1}, + {"x":16, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2}, + {"x":16, "y":2} + ] + } + } +} diff --git a/keyboards/runner3680/4x6/info.json b/keyboards/runner3680/4x6/info.json new file mode 100644 index 000000000000..2109d01aee60 --- /dev/null +++ b/keyboards/runner3680/4x6/info.json @@ -0,0 +1,64 @@ +{ + "keyboard_name": "runner3680 4x6", + "url": "", + "maintainer": "omkbd", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3} + ] + } + } +} diff --git a/keyboards/runner3680/4x7/info.json b/keyboards/runner3680/4x7/info.json new file mode 100644 index 000000000000..f066d85534a4 --- /dev/null +++ b/keyboards/runner3680/4x7/info.json @@ -0,0 +1,72 @@ +{ + "keyboard_name": "runner3680 4x7", + "url": "", + "maintainer": "omkbd", + "width": 15, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3} + ] + } + } +} diff --git a/keyboards/runner3680/4x8/info.json b/keyboards/runner3680/4x8/info.json new file mode 100644 index 000000000000..644049308240 --- /dev/null +++ b/keyboards/runner3680/4x8/info.json @@ -0,0 +1,80 @@ +{ + "keyboard_name": "runner3680 4x8", + "url": "", + "maintainer": "omkbd", + "width": 17, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":16, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + {"x":15, "y":1}, + {"x":16, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2}, + {"x":16, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":16, "y":3} + ] + } + } +} diff --git a/keyboards/runner3680/5x6/info.json b/keyboards/runner3680/5x6/info.json new file mode 100644 index 000000000000..5840556ffd3f --- /dev/null +++ b/keyboards/runner3680/5x6/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "runner3680 5x6", + "url": "", + "maintainer": "omkbd", + "width": 13, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":7, "y":4}, + {"x":8, "y":4}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4} + ] + } + } +} diff --git a/keyboards/runner3680/5x7/info.json b/keyboards/runner3680/5x7/info.json new file mode 100644 index 000000000000..6ccb24612066 --- /dev/null +++ b/keyboards/runner3680/5x7/info.json @@ -0,0 +1,87 @@ +{ + "keyboard_name": "runner3680 5x7", + "url": "", + "maintainer": "omkbd", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"x":8, "y":4}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4} + ] + } + } +} diff --git a/keyboards/runner3680/5x8/info.json b/keyboards/runner3680/5x8/info.json new file mode 100644 index 000000000000..6c2f386febe9 --- /dev/null +++ b/keyboards/runner3680/5x8/info.json @@ -0,0 +1,97 @@ +{ + "keyboard_name": "runner3680 5x8", + "url": "", + "maintainer": "omkbd", + "width": 17, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":16, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + {"x":15, "y":1}, + {"x":16, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2}, + {"x":16, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":16, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"x":7, "y":4}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4}, + {"x":16, "y":4} + ] + } + } +} diff --git a/keyboards/sck/gtm/info.json b/keyboards/sck/gtm/info.json new file mode 100644 index 000000000000..7b6a6375cb7f --- /dev/null +++ b/keyboards/sck/gtm/info.json @@ -0,0 +1,25 @@ +{ + "keyboard_name": "Grand Theft Macro Pad", + "url": "", + "maintainer": "jrfhoutx", + "width": 6.5, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K15", "x":4, "y":0}, + + {"label":"K10", "x":0, "y":1}, + {"label":"K11", "x":1, "y":1}, + {"label":"K12", "x":2, "y":1}, + {"label":"K13", "x":3, "y":1}, + {"label":"K14", "x":4, "y":1}, + {"label":"K16", "x":5.5, "y":0.5} + ] + } + } +} diff --git a/keyboards/splitish/info.json b/keyboards/splitish/info.json new file mode 100644 index 000000000000..430095044141 --- /dev/null +++ b/keyboards/splitish/info.json @@ -0,0 +1,64 @@ +{ + "keyboard_name": "splitish", + "url": "", + "maintainer": "RSchneyer", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3} + ] + } + } +} diff --git a/keyboards/standaside/info.json b/keyboards/standaside/info.json new file mode 100644 index 000000000000..b3be6c39eeaf --- /dev/null +++ b/keyboards/standaside/info.json @@ -0,0 +1,80 @@ +{ + "keyboard_name": "Stand Aside", + "url": "", + "maintainer": "fateeverywhere", + "width": 16, + "height": 4, + "layouts": { + "LAYOUT_ortho_4x16": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + {"x":15, "y":3} + ] + } + } +} diff --git a/keyboards/ungodly/launch_pad/info.json b/keyboards/ungodly/launch_pad/info.json new file mode 100644 index 000000000000..b766c0721172 --- /dev/null +++ b/keyboards/ungodly/launch_pad/info.json @@ -0,0 +1,37 @@ +{ + "keyboard_name": "Launch Pad", + "url": "", + "maintainer": "luis-godinez", + "width": 4, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x4": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4} + ] + } + } +} diff --git a/keyboards/xelus/trinityxttkl/info.json b/keyboards/xelus/trinityxttkl/info.json new file mode 100644 index 000000000000..de10202e7f5a --- /dev/null +++ b/keyboards/xelus/trinityxttkl/info.json @@ -0,0 +1,118 @@ +{ + "keyboard_name": "Trinity XT TKL", + "url": "", + "maintainer": "Xelus22", + "width": 20.5, + "height": 6.25, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.25, "y":0}, + {"x":8.75, "y":0}, + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":13.25, "y":0}, + {"x":14.25, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.5, "y":0}, + {"x":18.5, "y":0}, + {"x":19.5, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2.25, "y":1.25}, + {"x":3.25, "y":1.25}, + {"x":4.25, "y":1.25}, + {"x":5.25, "y":1.25}, + {"x":6.25, "y":1.25}, + {"x":7.25, "y":1.25}, + {"x":8.25, "y":1.25}, + {"x":9.25, "y":1.25}, + {"x":10.25, "y":1.25}, + {"x":11.25, "y":1.25}, + {"x":12.25, "y":1.25}, + {"x":13.25, "y":1.25}, + {"x":14.25, "y":1.25}, + {"x":15.25, "y":1.25}, + {"x":16.25, "y":1.25}, + {"x":17.5, "y":1.25}, + {"x":18.5, "y":1.25}, + {"x":19.5, "y":1.25}, + + {"x":0, "y":2.25}, + {"x":1, "y":2.25}, + {"x":2.25, "y":2.25, "w":1.5}, + {"x":3.75, "y":2.25}, + {"x":4.75, "y":2.25}, + {"x":5.75, "y":2.25}, + {"x":6.75, "y":2.25}, + {"x":7.75, "y":2.25}, + {"x":8.75, "y":2.25}, + {"x":9.75, "y":2.25}, + {"x":10.75, "y":2.25}, + {"x":11.75, "y":2.25}, + {"x":12.75, "y":2.25}, + {"x":13.75, "y":2.25}, + {"x":14.75, "y":2.25}, + {"x":15.75, "y":2.25, "w":1.5}, + {"x":17.5, "y":2.25}, + {"x":18.5, "y":2.25}, + {"x":19.5, "y":2.25}, + + {"x":0, "y":3.25}, + {"x":1, "y":3.25}, + {"x":2.25, "y":3.25, "w":1.75}, + {"x":4, "y":3.25}, + {"x":5, "y":3.25}, + {"x":6, "y":3.25}, + {"x":7, "y":3.25}, + {"x":8, "y":3.25}, + {"x":9, "y":3.25}, + {"x":10, "y":3.25}, + {"x":11, "y":3.25}, + {"x":12, "y":3.25}, + {"x":13, "y":3.25}, + {"x":14, "y":3.25}, + {"x":15, "y":3.25, "w":2.25}, + + {"x":0, "y":4.25}, + {"x":1, "y":4.25}, + {"x":2.25, "y":4.25, "w":2.25}, + {"x":4.5, "y":4.25}, + {"x":5.5, "y":4.25}, + {"x":6.5, "y":4.25}, + {"x":7.5, "y":4.25}, + {"x":8.5, "y":4.25}, + {"x":9.5, "y":4.25}, + {"x":10.5, "y":4.25}, + {"x":11.5, "y":4.25}, + {"x":12.5, "y":4.25}, + {"x":13.5, "y":4.25}, + {"x":14.5, "y":4.25, "w":1.75}, + {"x":16.25, "y":4.25}, + {"x":18.5, "y":4.25}, + + {"x":0, "y":5.25}, + {"x":1, "y":5.25}, + {"x":2.25, "y":5.25, "w":1.5}, + {"x":4.75, "y":5.25, "w":1.5}, + {"x":6.25, "y":5.25, "w":3}, + {"x":9.25, "y":5.25}, + {"x":10.25, "y":5.25, "w":3}, + {"x":13.25, "y":5.25, "w":1.5}, + {"x":15.75, "y":5.25, "w":1.5}, + {"x":17.5, "y":5.25}, + {"x":18.5, "y":5.25}, + {"x":19.5, "y":5.25} + ] + } + } +} From 52b7ebd6be2532fc41ef1593be8e22c5f39d9a1e Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 15 Mar 2021 01:25:00 -0700 Subject: [PATCH 009/250] M10-A refactor (#12242) --- keyboards/m10a/config.h | 38 ++++---- keyboards/m10a/info.json | 26 +++++ keyboards/m10a/keymaps/default/keymap.c | 120 ++++++++++++++++++------ keyboards/m10a/keymaps/via/config.h | 20 +++- keyboards/m10a/keymaps/via/keymap.c | 120 ++++++++++++++++++------ keyboards/m10a/m10a.c | 22 ++++- keyboards/m10a/m10a.h | 29 ++++-- keyboards/m10a/readme.md | 18 +++- keyboards/m10a/rules.mk | 30 +++--- 9 files changed, 310 insertions(+), 113 deletions(-) create mode 100644 keyboards/m10a/info.json diff --git a/keyboards/m10a/config.h b/keyboards/m10a/config.h index 6ece2131b997..01f9d0d0a3a9 100644 --- a/keyboards/m10a/config.h +++ b/keyboards/m10a/config.h @@ -1,22 +1,22 @@ -/* -Copyright 2012 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ +/* Copyright + * 2017 Josh Black (@consolenaut) + * 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ -#ifndef CONFIG_H -#define CONFIG_H +#pragma once #include "config_common.h" @@ -72,5 +72,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/m10a/info.json b/keyboards/m10a/info.json new file mode 100644 index 000000000000..7692259297ea --- /dev/null +++ b/keyboards/m10a/info.json @@ -0,0 +1,26 @@ +{ + "keyboard_name": "Rama Works X Machine Industries M10-A Macropad", + "url": "", + "maintainer": "qmk", + "width": 3, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + + {"x":1, "y":3, "w":2} + ] + } + } +} diff --git a/keyboards/m10a/keymaps/default/keymap.c b/keyboards/m10a/keymaps/default/keymap.c index 9c9f4c6884ed..4fb8eb584b72 100644 --- a/keyboards/m10a/keymaps/default/keymap.c +++ b/keyboards/m10a/keymaps/default/keymap.c @@ -1,39 +1,101 @@ -#include QMK_KEYBOARD_H - +/* Copyright + * 2017 Josh Black (@consolenaut) + * 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. +#include QMK_KEYBOARD_H -enum layers { - _LAYER0, - _LAYER1, - _LAYER2, - _LAYER3, - _LAYER4, - _LAYER5, - _LAYER6, - _LAYER7, - _LAYER8, - _LAYER9 +enum layer_names { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, + _LAYER4, + _LAYER5, + _LAYER6, + _LAYER7, + _LAYER8, + _LAYER9 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER1] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER2] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER3] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER4] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER5] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER6] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER7] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER8] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER9] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J) + [_LAYER0] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER1] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER2] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER3] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER4] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER5] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER6] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER7] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER8] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER9] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ) }; void matrix_init_user(void) { - #ifdef BACKLIGHT_ENABLE +#ifdef BACKLIGHT_ENABLE backlight_level(0); - #endif +#endif } diff --git a/keyboards/m10a/keymaps/via/config.h b/keyboards/m10a/keymaps/via/config.h index 79248f04f7fe..cd097f8daf67 100644 --- a/keyboards/m10a/keymaps/via/config.h +++ b/keyboards/m10a/keymaps/via/config.h @@ -1,4 +1,22 @@ +/* Copyright + * 2020 Jason Williams (Wilba) + * 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #pragma once // Keep default crazy number of layers -#define DYNAMIC_KEYMAP_LAYER_COUNT 10 \ No newline at end of file +#define DYNAMIC_KEYMAP_LAYER_COUNT 10 diff --git a/keyboards/m10a/keymaps/via/keymap.c b/keyboards/m10a/keymaps/via/keymap.c index 9c9f4c6884ed..59cc38ee886c 100644 --- a/keyboards/m10a/keymaps/via/keymap.c +++ b/keyboards/m10a/keymaps/via/keymap.c @@ -1,39 +1,101 @@ -#include QMK_KEYBOARD_H - +/* Copyright + * 2020 Jason Williams (Wilba) + * 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. +#include QMK_KEYBOARD_H -enum layers { - _LAYER0, - _LAYER1, - _LAYER2, - _LAYER3, - _LAYER4, - _LAYER5, - _LAYER6, - _LAYER7, - _LAYER8, - _LAYER9 +enum layer_names { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, + _LAYER4, + _LAYER5, + _LAYER6, + _LAYER7, + _LAYER8, + _LAYER9 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER1] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER2] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER3] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER4] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER5] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER6] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER7] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER8] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER9] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J) + [_LAYER0] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER1] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER2] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER3] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER4] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER5] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER6] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER7] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER8] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER9] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ) }; void matrix_init_user(void) { - #ifdef BACKLIGHT_ENABLE +#ifdef BACKLIGHT_ENABLE backlight_level(0); - #endif +#endif } diff --git a/keyboards/m10a/m10a.c b/keyboards/m10a/m10a.c index 9cc7f069ae9f..d9e7503a48d1 100644 --- a/keyboards/m10a/m10a.c +++ b/keyboards/m10a/m10a.c @@ -1,5 +1,19 @@ -#include "m10a.h" +/* Copyright + * 2017 Josh Black (@consolenaut) + * 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ -void matrix_init_kb(void) { - matrix_init_user(); -} \ No newline at end of file +#include "m10a.h" diff --git a/keyboards/m10a/m10a.h b/keyboards/m10a/m10a.h index a62913aa2c3d..2eb14b7a7f7d 100644 --- a/keyboards/m10a/m10a.h +++ b/keyboards/m10a/m10a.h @@ -1,19 +1,36 @@ -#ifndef M10A_H -#define M10A_H +/* Copyright + * 2017 Josh Black (@consolenaut) + * 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once #include "quantum.h" +#define ___ KC_NO + #define LAYOUT( \ k00, k01, k02, \ k10, k11, k12, \ k20, k21, k22, \ - k30, k31, k32 \ + k32 \ ) \ { \ { k00, k01, k02 }, \ { k10, k11, k12 }, \ { k20, k21, k22 }, \ - { k30, k31, k32 } \ + { ___, ___, k32 } \ } - -#endif diff --git a/keyboards/m10a/readme.md b/keyboards/m10a/readme.md index 7123e6462e76..3918ad21bb96 100644 --- a/keyboards/m10a/readme.md +++ b/keyboards/m10a/readme.md @@ -1,13 +1,21 @@ # Rama Works X Machine Industries M10-A Macropad -Firmware for custom macropad PCB +![Rama Works X Machine Industries M10-A Macropad](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/m10a/image-asset9_640.jpg) -Keyboard Maintainer: QMK Community -Hardware Supported: Rama Works M10-A -Hardware Availability: [Rama Works](https://rama.works/m10-a) +A 10-key macro pad with support for single-color LED backlighting in a milled aluminum case. + +* Keyboard Maintainer: QMK Community +* Hardware Supported: Rama Works M10-A +* Hardware Availability: [Rama Works](https://rama.works/m10-a) Make example for this keyboard (after setting up your build environment): make m10a:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +Flashing example for this keyboard: + + make m10a:default:flash + +To reset the board into bootloader mode, tap the Reset switch mounted on the top side of the PCB, beneath the 2u keycap. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/m10a/rules.mk b/keyboards/m10a/rules.mk index 71ef0ed649c7..0f8368e63759 100644 --- a/keyboards/m10a/rules.mk +++ b/keyboards/m10a/rules.mk @@ -2,32 +2,24 @@ 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 = atmel-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 +# change yes to no to disable # BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = yes # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = yes +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +UNICODE_ENABLE = yes # Unicode +API_SYSEX_ENABLE = yes From 926389f3a700ac2cde66b1b982525cd1e7b1a200 Mon Sep 17 00:00:00 2001 From: vattern Date: Mon, 15 Mar 2021 17:42:09 +0000 Subject: [PATCH 010/250] Keyboard/grandiceps (#11933) * Add Grandiceps keyboard * Fix info.json * Fix typo * Fix typo * cleanup format * move mcu files to root * Updated with PR changes * Apply suggestions from code review Co-authored-by: Ryan * Apply suggestions from code review Co-authored-by: Ryan * PR issues for chibios confmigrate * PR Changes Co-authored-by: Thys de Wet Co-authored-by: Ryan --- keyboards/tkw/grandiceps/config.h | 68 +++ keyboards/tkw/grandiceps/grandiceps.c | 16 + keyboards/tkw/grandiceps/grandiceps.h | 38 ++ keyboards/tkw/grandiceps/halconf.h | 31 ++ keyboards/tkw/grandiceps/info.json | 19 + .../tkw/grandiceps/keymaps/default/keymap.c | 466 ++++++++++++++++++ .../tkw/grandiceps/keymaps/default/readme.md | 13 + keyboards/tkw/grandiceps/mcuconf.h | 34 ++ keyboards/tkw/grandiceps/readme.md | 19 + keyboards/tkw/grandiceps/rules.mk | 30 ++ 10 files changed, 734 insertions(+) create mode 100644 keyboards/tkw/grandiceps/config.h create mode 100644 keyboards/tkw/grandiceps/grandiceps.c create mode 100644 keyboards/tkw/grandiceps/grandiceps.h create mode 100644 keyboards/tkw/grandiceps/halconf.h create mode 100644 keyboards/tkw/grandiceps/info.json create mode 100644 keyboards/tkw/grandiceps/keymaps/default/keymap.c create mode 100644 keyboards/tkw/grandiceps/keymaps/default/readme.md create mode 100644 keyboards/tkw/grandiceps/mcuconf.h create mode 100644 keyboards/tkw/grandiceps/readme.md create mode 100644 keyboards/tkw/grandiceps/rules.mk diff --git a/keyboards/tkw/grandiceps/config.h b/keyboards/tkw/grandiceps/config.h new file mode 100644 index 000000000000..44ea8d699481 --- /dev/null +++ b/keyboards/tkw/grandiceps/config.h @@ -0,0 +1,68 @@ +/* Copyright 2020 Thys de Wet + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x7812 +#define DEVICE_VER 0x0001 +#define MANUFACTURER TKW +#define PRODUCT Grandiceps Split + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 6 + + + +#define MATRIX_COL_PINS { B0, A7, A3, A5, A4, A2 } +#define MATRIX_ROW_PINS { B12, A6, B13, B9, B8 } +#define MATRIX_COL_PINS_RIGHT { B0, A7, A3, A5, A4, A2 } +#define MATRIX_ROW_PINS_RIGHT { B12, A6, B13, B9, B8 } + +#define DIODE_DIRECTION COL2ROW + +#define SOFT_SERIAL_PIN A15 +#define SELECT_SOFT_SERIAL_SPEED 1 + +#define MATRIX_IO_DELAY 5 +#define TAP_CODE_DELAY 10 + +#define ENCODERS_PAD_A { B14 } +#define ENCODERS_PAD_B { B15 } + +#define RGB_DI_PIN B1 +#define RGBLED_NUM 16 +#define RGBLED_SPLIT { 8,8 } +#define RGBLIGHT_LIMIT_VAL 120 +#define RGBLIGHT_ANIMATIONS + +#define WS2812_PWM_DRIVER PWMD3 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +#define WS2812_DMA_CHANNEL 5 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/tkw/grandiceps/grandiceps.c b/keyboards/tkw/grandiceps/grandiceps.c new file mode 100644 index 000000000000..bfb67dfc2ceb --- /dev/null +++ b/keyboards/tkw/grandiceps/grandiceps.c @@ -0,0 +1,16 @@ +/* Copyright 2020 Thys de Wet + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "grandiceps.h" diff --git a/keyboards/tkw/grandiceps/grandiceps.h b/keyboards/tkw/grandiceps/grandiceps.h new file mode 100644 index 000000000000..ecb92fd39a7d --- /dev/null +++ b/keyboards/tkw/grandiceps/grandiceps.h @@ -0,0 +1,38 @@ +/* Copyright 2020 Thys de Wet + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, L45, R40, R30, R31, R32, R33, R34, R35, \ + L40, L41, L42, L43, L44, R41, R42, R43, R44, R45 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L40, L41, L42, L43, L44, L45 }, \ + { R05, R04, R03, R02, R01, R00 }, \ + { R15, R14, R13, R12, R11, R10 }, \ + { R25, R24, R23, R22, R21, R20 }, \ + { R35, R34, R33, R32, R31, R30 }, \ + { R45, R44, R43, R42, R41, R40 } \ + } diff --git a/keyboards/tkw/grandiceps/halconf.h b/keyboards/tkw/grandiceps/halconf.h new file mode 100644 index 000000000000..481e7f75abb7 --- /dev/null +++ b/keyboards/tkw/grandiceps/halconf.h @@ -0,0 +1,31 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confupdate -i keyboards/tkw/grandiceps/halconf.h -r platforms/chibios/BLACKPILL_STM32_F411/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#define HAL_USE_PWM TRUE + +#define HAL_USE_SERIAL TRUE + +#include_next + diff --git a/keyboards/tkw/grandiceps/info.json b/keyboards/tkw/grandiceps/info.json new file mode 100644 index 000000000000..4f63ae1eb155 --- /dev/null +++ b/keyboards/tkw/grandiceps/info.json @@ -0,0 +1,19 @@ +{ + "keyboard_name": "grandiceps", + "url": "https://github.com/vattern/grandiceps", + "maintainer": "vattern", + "manufacturer": "tkw", + "width": 16.5, + "height": 5.25, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.5}, {"x":1, "y":0.375}, {"x":2, "y":0.125}, {"x":3, "y":0}, {"x":4, "y":0.125}, {"x":5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.5}, + {"x":0, "y":1.5}, {"x":1, "y":1.375}, {"x":2, "y":1.125}, {"x":3, "y":1}, {"x":4, "y":1.125}, {"x":5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.5}, + {"x":0, "y":2.5}, {"x":1, "y":2.375}, {"x":2, "y":2.125}, {"x":3, "y":2}, {"x":4, "y":2.125}, {"x":5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.5}, + {"x":0, "y":3.5}, {"x":1, "y":3.375}, {"x":2, "y":3.125}, {"x":3, "y":3}, {"x":4, "y":3.125}, {"x":5, "y":3.25}, {"x":6, "y":2.75}, {"x":9.5, "y":2.75}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.5}, + {"x":1, "y":4.375}, {"x":2, "y":4.125}, {"x":3, "y":4.15}, {"x":4.5, "y":4.25}, {"x":6, "y":4.25, "h":1.5}, {"x":9.5, "y":4.25, "h":1.5}, {"x":11, "y":4.25}, {"x":12.5, "y":4.15}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375} + ] + } + } +} diff --git a/keyboards/tkw/grandiceps/keymaps/default/keymap.c b/keyboards/tkw/grandiceps/keymaps/default/keymap.c new file mode 100644 index 000000000000..b4cf6ed0250e --- /dev/null +++ b/keyboards/tkw/grandiceps/keymaps/default/keymap.c @@ -0,0 +1,466 @@ +/* Copyright 2020 Thys de Wet + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +//This keymap is HEAVILY inspired by sofle + +enum grandiceps_layers { + _QWERTY, + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST, +}; + +enum custom_keycodes { + KC_QWERTY = SAFE_RANGE, + KC_COLEMAK, + KC_LOWER, + KC_RAISE, + KC_ADJUST, + KC_PRVWD, + KC_NXTWD, + KC_LSTRT, + KC_LEND, + KC_DLINE +}; + + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * QWERTY + * ,-----------------------------------------. ,-----------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | DEL | Q | W | E | R | T | | Y | U | I | O | P | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + +[_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LGUI,KC_LALT,KC_LCTRL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI +), +/* + * COLEMAK + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + +[_COLEMAK] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LGUI,KC_LALT,KC_LCTRL,KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI +), +/* LOWER + * ,-----------------------------------------. ,-----------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_LOWER] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, + _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +/* RAISE + * ,----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Esc | Ins | Pscr | Menu | | | | | PWrd | Up | NWrd | DLine| Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | LStr | | LEnd | | Shift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_RAISE] = LAYOUT( + _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______, + _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD, KC_DLINE, KC_BSPC, + _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC, + _______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +/* ADJUST + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | RESET| |QWERTY|COLEMAK| | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | PREV | PLAY | NEXT | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + [_ADJUST] = LAYOUT( + XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, XXXXXXX, RGB_TOG, + RESET , XXXXXXX, KC_QWERTY,KC_COLEMAK,CG_TOGG, XXXXXXX, RGB_RMOD, RGB_VAD, RGB_SAD, RGB_HUD, XXXXXXX, XXXXXXX, + XXXXXXX , XXXXXXX, CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, + XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + + switch (keycode) { + case KC_QWERTY: + if (record->event.pressed) { + set_single_persistent_default_layer(_QWERTY); + } + return false; + case KC_COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + case KC_LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case KC_RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case KC_ADJUST: + if (record->event.pressed) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + return false; + case KC_PRVWD: + if (record->event.pressed) { + if (keymap_config.swap_lctl_lgui) { + register_mods(mod_config(MOD_LALT)); + register_code(KC_LEFT); + } else { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_LEFT); + } + } else { + if (keymap_config.swap_lctl_lgui) { + unregister_mods(mod_config(MOD_LALT)); + unregister_code(KC_LEFT); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_LEFT); + } + } + break; + case KC_NXTWD: + if (record->event.pressed) { + if (keymap_config.swap_lctl_lgui) { + register_mods(mod_config(MOD_LALT)); + register_code(KC_RIGHT); + } else { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_RIGHT); + } + } else { + if (keymap_config.swap_lctl_lgui) { + unregister_mods(mod_config(MOD_LALT)); + unregister_code(KC_RIGHT); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_RIGHT); + } + } + break; + case KC_LSTRT: + if (record->event.pressed) { + if (keymap_config.swap_lctl_lgui) { + //CMD-arrow on Mac, but we have CTL and GUI swapped + register_mods(mod_config(MOD_LCTL)); + register_code(KC_LEFT); + } else { + register_code(KC_HOME); + } + } else { + if (keymap_config.swap_lctl_lgui) { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_LEFT); + } else { + unregister_code(KC_HOME); + } + } + break; + case KC_LEND: + if (record->event.pressed) { + if (keymap_config.swap_lctl_lgui) { + //CMD-arrow on Mac, but we have CTL and GUI swapped + register_mods(mod_config(MOD_LCTL)); + register_code(KC_RIGHT); + } else { + register_code(KC_END); + } + } else { + if (keymap_config.swap_lctl_lgui) { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_RIGHT); + } else { + unregister_code(KC_END); + } + } + break; + case KC_DLINE: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_BSPC); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_BSPC); + } + break; + case KC_COPY: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_C); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_C); + } + return false; + case KC_PASTE: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_V); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_V); + } + return false; + case KC_CUT: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_X); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_X); + } + return false; + break; + case KC_UNDO: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_Z); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_Z); + } + return false; + } + return true; +} + +#ifdef OLED_DRIVER_ENABLE +static void render_logo(void) { + static const char PROGMEM my_logo[] = { + // 'protea', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x38, 0x1c, 0x0c, 0x06, 0x82, 0x80, 0xc0, 0xc0, + 0x40, 0x00, 0x80, 0x90, 0xd0, 0xd8, 0xc8, 0xc8, 0x44, 0x44, 0x00, 0x88, 0xb8, 0xb8, 0xd8, 0xd8, + 0xc0, 0xc0, 0x80, 0x20, 0x60, 0x60, 0x50, 0xd0, 0xb0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x30, + 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x08, 0x07, 0x01, 0x90, 0x90, 0x90, 0x99, 0x99, 0x90, 0x84, 0x22, + 0x6b, 0xe9, 0xf5, 0xf5, 0xf5, 0xe5, 0xc5, 0x10, 0x1e, 0x1e, 0x4e, 0x60, 0xf1, 0xf9, 0xf9, 0xf9, + 0xf8, 0x78, 0x7a, 0x7b, 0x33, 0x37, 0xc6, 0xee, 0xcc, 0x19, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x0c, 0x30, 0xc0, 0x80, 0x00, 0x06, 0x0c, 0x18, 0x31, 0x71, 0x61, 0x69, 0x40, + 0x42, 0x86, 0x0d, 0x1d, 0x19, 0x39, 0x31, 0x76, 0x67, 0x6f, 0x4f, 0x0f, 0x0e, 0xce, 0xc0, 0xc0, + 0xd2, 0xd6, 0xd7, 0xb7, 0x37, 0x3b, 0xda, 0xc0, 0xcb, 0x08, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x06, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0e, 0x1c, 0x38, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x06, 0x04, 0x05, 0x01, + 0x01, 0x01, 0x01, 0x05, 0x04, 0x06, 0x06, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + oled_write_raw_P(my_logo, sizeof(my_logo)); +} + +static void print_status_narrow(void) { + // Print current mode + oled_write_P(PSTR("\n\n"), false); + oled_write_ln_P(PSTR("MODE"), false); + oled_write_ln_P(PSTR("\n"), false); + if (keymap_config.swap_lctl_lgui) { + oled_write_ln_P(PSTR("MAC\n"), false); + } else { + oled_write_ln_P(PSTR("WIN\n"), false); + } + + switch (get_highest_layer(default_layer_state)) { + case _QWERTY: + oled_write_ln_P(PSTR("Qwrt"), false); + break; + case _COLEMAK: + oled_write_ln_P(PSTR("Clmk"), false); + break; + default: + oled_write_P(PSTR("Undef"), false); + } + oled_write_P(PSTR("\n\n"), false); + // Print current layer + oled_write_ln_P(PSTR("LAYER"), false); + switch (get_highest_layer(layer_state)) { + case _COLEMAK: + case _QWERTY: + oled_write_P(PSTR("Base\n"), false); + break; + case _RAISE: + oled_write_P(PSTR("Raise"), false); + break; + case _LOWER: + oled_write_P(PSTR("Lower"), false); + break; + case _ADJUST: + oled_write_P(PSTR("Adj\n"), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + } + oled_write_P(PSTR("\n\n"), false); + led_t led_usb_state = host_keyboard_led_state(); + oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock); + oled_write_P(PSTR("\n\n"), false); +} + +void oled_task_user(void) { + if (is_keyboard_master()) { + print_status_narrow(); + } else { + render_logo(); + } +} + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } else { + return rotation; + } +} +#endif + +#ifdef ENCODER_ENABLE +void encoder_update_user(uint8_t index, bool clockwise){ + + if (index == 0) { + switch (get_highest_layer(layer_state)) { + case _QWERTY: + // Move whole words. Hold shift to select while moving. + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + default: + // History scrubbing. For Adobe products, hold shift while moving + // backward to go forward instead. + if (clockwise) { + tap_code16(C(KC_Z)); + } else { + tap_code16(C(KC_Y)); + } + break; + } + } else if (index == 1) { + switch (get_highest_layer(layer_state)) { + case _QWERTY: + // Scrolling with PageUp and PgDn. + if (clockwise) { + tap_code16(KC_PGDN); + } else { + tap_code16(KC_PGUP); + } + break; + default: + if (clockwise) { + tap_code16(A(KC_TAB)); + } else { + tap_code16(A(S(KC_TAB))); + } + break; + } + } +} +#endif diff --git a/keyboards/tkw/grandiceps/keymaps/default/readme.md b/keyboards/tkw/grandiceps/keymaps/default/readme.md new file mode 100644 index 000000000000..b7ea011a9c99 --- /dev/null +++ b/keyboards/tkw/grandiceps/keymaps/default/readme.md @@ -0,0 +1,13 @@ +![grandiceps default keymap](https://raw.githubusercontent.com/vattern/grandiceps/master/images/layer0.png) +![grandiceps adjust layer](https://raw.githubusercontent.com/vattern/grandiceps/master/images/layer4.png) + + +# Default keymap for grandiceps Keyboard + +Features: + +- Symmetric modifiers (CMD/Super, Alt/Opt, Ctrl, Shift) +- Various modes, can be switched (using Adjust layer) +- Modes for Qwerty and Colemak support +- Modes for Mac vs Linux/Win support -> different order of modifiers and different action shortcuts on the "UPPER" layer . +- The OLED on master half shows selected mode and caps lock state and is rotated. diff --git a/keyboards/tkw/grandiceps/mcuconf.h b/keyboards/tkw/grandiceps/mcuconf.h new file mode 100644 index 000000000000..bf59ea62a408 --- /dev/null +++ b/keyboards/tkw/grandiceps/mcuconf.h @@ -0,0 +1,34 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confupdate -i keyboards/tkw/grandiceps/mcuconf.h -r platforms/chibios/BLACKPILL_STM32_F411/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE + diff --git a/keyboards/tkw/grandiceps/readme.md b/keyboards/tkw/grandiceps/readme.md new file mode 100644 index 000000000000..894f1c8d7aad --- /dev/null +++ b/keyboards/tkw/grandiceps/readme.md @@ -0,0 +1,19 @@ +# grandiceps + +![grandiceps](https://i.imgur.com/FMtsboVl.jpg) + +ARM split keyboard with RGB underglow and encoders. + +* Keyboard Maintainer: [vattern](https://github.com/vattern) +* Hardware Supported: f411 blackpill +* Hardware Availability: [grandiceps](https://github.com/vattern/grandiceps) + +Make example for this keyboard (after setting up your build environment): + + make tkw/grandiceps:default + +Flashing example for this keyboard: + + make tkw/grandiceps: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). diff --git a/keyboards/tkw/grandiceps/rules.mk b/keyboards/tkw/grandiceps/rules.mk new file mode 100644 index 000000000000..432bf8647bc8 --- /dev/null +++ b/keyboards/tkw/grandiceps/rules.mk @@ -0,0 +1,30 @@ +# MCU name +MCU = STM32F411 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +ENCODER_ENABLE = yes # Enable rotary encoder support +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra + +SPLIT_KEYBOARD = yes +SERIAL_DRIVER = usart +OLED_DRIVER_ENABLE = yes +WS2812_DRIVER = pwm +OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE + +# Address of the bootloader in system memory +STM32_BOOTLOADER_ADDRESS = 0x1FFF0000 From 469b4b21d241a592bedfe1ea217bad74b5195c50 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 15 Mar 2021 13:45:39 -0700 Subject: [PATCH 011/250] Fixes for recent info.json files (#12248) --- keyboards/4pplet/aekiso60/rev_a/info.json | 2 +- keyboards/6ball/info.json | 12 ++++++------ keyboards/box75/info.json | 3 ++- keyboards/four_banger/info.json | 2 +- keyboards/hhkb_lite_2/info.json | 15 ++++++++++----- 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/keyboards/4pplet/aekiso60/rev_a/info.json b/keyboards/4pplet/aekiso60/rev_a/info.json index 7f5b09cdc14a..892931423206 100644 --- a/keyboards/4pplet/aekiso60/rev_a/info.json +++ b/keyboards/4pplet/aekiso60/rev_a/info.json @@ -5,7 +5,7 @@ "width": 15, "height": 5, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"x":0, "y":0, "w":1.25}, {"x":1.25, "y":0}, diff --git a/keyboards/6ball/info.json b/keyboards/6ball/info.json index d06f3448cc06..ec95560c6a24 100644 --- a/keyboards/6ball/info.json +++ b/keyboards/6ball/info.json @@ -3,17 +3,17 @@ "url": "", "maintainer": "qmk", "width": 3, - "height": 2, + "height": 3, "layouts": { "LAYOUT": { "layout": [ - {"x":0, "y":0}, + {"x":0, "y":0.5}, {"x":1, "y":0}, - {"x":2, "y":0}, + {"x":2, "y":0.5}, - {"x":0, "y":1}, - {"x":1, "y":1}, - {"x":2, "y":1} + {"x":0, "y":1.5}, + {"x":1, "y":2}, + {"x":2, "y":1.5} ] } } diff --git a/keyboards/box75/info.json b/keyboards/box75/info.json index 5eb72471ef4b..7f854b0a5d3e 100644 --- a/keyboards/box75/info.json +++ b/keyboards/box75/info.json @@ -36,7 +36,8 @@ {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, - {"x":13, "y":1.25, "w":2}, + {"x":13, "y":1.25}, + {"x":14, "y":1.25}, {"x":15.25, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, diff --git a/keyboards/four_banger/info.json b/keyboards/four_banger/info.json index bb34a47872af..f5ec65cf65ba 100644 --- a/keyboards/four_banger/info.json +++ b/keyboards/four_banger/info.json @@ -5,7 +5,7 @@ "width": 2, "height": 2, "layouts": { - "LAYOUT": { + "LAYOUT_ortho_2x2": { "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, diff --git a/keyboards/hhkb_lite_2/info.json b/keyboards/hhkb_lite_2/info.json index 4319320b10a7..c1c50583c5d8 100644 --- a/keyboards/hhkb_lite_2/info.json +++ b/keyboards/hhkb_lite_2/info.json @@ -3,7 +3,7 @@ "url": "", "maintainer": "qmk", "width": 15, - "height": 5, + "height": 5.75, "layouts": { "LAYOUT": { "layout": [ @@ -66,11 +66,16 @@ {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, - {"x":1.5, "y":4}, - {"x":2.5, "y":4, "w":1.5}, + {"x":2, "y":4}, + {"x":3, "y":4}, {"x":4, "y":4, "w":6}, - {"x":10, "y":4, "w":1.5}, - {"x":11.5, "y":4} + {"x":10, "y":4}, + {"x":11, "y":4}, + + {"x":13.167, "y":4, "w":0.916, "h":0.75}, + {"x":12.25, "y":4.75, "w":0.917, "h":0.75}, + {"x":13.167, "y":4.75, "w":0.916, "h":0.75}, + {"x":14.08, "y":4.75, "w":0.917, "h":0.75} ] } } From cd8497b9fb3b00020a28d582cdc772f3c0fa35b1 Mon Sep 17 00:00:00 2001 From: kb-elmo Date: Tue, 16 Mar 2021 00:03:16 +0100 Subject: [PATCH 012/250] add support for Noah AVR PCB (#11563) * add support for Noah AVR PCB * Update info.json * Update readme.md * Update keyboards/kb_elmo/noah_avr/rules.mk Co-authored-by: Ryan * Update keymap.c * Apply suggestions from code review Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Drashna Jaelre --- keyboards/kb_elmo/noah_avr/config.h | 54 ++++ keyboards/kb_elmo/noah_avr/info.json | 297 ++++++++++++++++++ .../kb_elmo/noah_avr/keymaps/default/keymap.c | 33 ++ .../kb_elmo/noah_avr/keymaps/via/keymap.c | 47 +++ .../kb_elmo/noah_avr/keymaps/via/rules.mk | 1 + keyboards/kb_elmo/noah_avr/noah_avr.c | 17 + keyboards/kb_elmo/noah_avr/noah_avr.h | 85 +++++ keyboards/kb_elmo/noah_avr/readme.md | 19 ++ keyboards/kb_elmo/noah_avr/rules.mk | 24 ++ 9 files changed, 577 insertions(+) create mode 100644 keyboards/kb_elmo/noah_avr/config.h create mode 100644 keyboards/kb_elmo/noah_avr/info.json create mode 100644 keyboards/kb_elmo/noah_avr/keymaps/default/keymap.c create mode 100644 keyboards/kb_elmo/noah_avr/keymaps/via/keymap.c create mode 100644 keyboards/kb_elmo/noah_avr/keymaps/via/rules.mk create mode 100644 keyboards/kb_elmo/noah_avr/noah_avr.c create mode 100644 keyboards/kb_elmo/noah_avr/noah_avr.h create mode 100644 keyboards/kb_elmo/noah_avr/readme.md create mode 100644 keyboards/kb_elmo/noah_avr/rules.mk diff --git a/keyboards/kb_elmo/noah_avr/config.h b/keyboards/kb_elmo/noah_avr/config.h new file mode 100644 index 000000000000..5c6dfe8b5e34 --- /dev/null +++ b/keyboards/kb_elmo/noah_avr/config.h @@ -0,0 +1,54 @@ +/* +Copyright 2021 kb-elmo + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xA68C +#define PRODUCT_ID 0x1DB0 +#define DEVICE_VER 0x0001 +#define MANUFACTURER kb-elmo +#define PRODUCT Noah AVR + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* Keyboard Matrix Assignments */ +#define MATRIX_ROW_PINS { B4, B6, D7, D5, D0 } +#define MATRIX_COL_PINS { D1, D2, D3, D4, C6, C7, F7, F6, F5, F4, F0, F1, B3, B2, B1, B0 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Caps LED */ +#define LED_CAPS_LOCK_PIN D6 + +/* RGB */ +#define RGB_DI_PIN B5 +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 7 +#define RGBLIGHT_SLEEP // RGB will turn off when PC is put to sleep +#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_BGR // RGB on the Noah is different order + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + diff --git a/keyboards/kb_elmo/noah_avr/info.json b/keyboards/kb_elmo/noah_avr/info.json new file mode 100644 index 000000000000..c90b32b0dbfe --- /dev/null +++ b/keyboards/kb_elmo/noah_avr/info.json @@ -0,0 +1,297 @@ +{ + "keyboard_name": "Noah AVR", + "url": "https://github.com/kb-elmo/noah_avr", + "maintainer": "kb-elmo", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_ansi": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_splitbs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + } + } +} diff --git a/keyboards/kb_elmo/noah_avr/keymaps/default/keymap.c b/keyboards/kb_elmo/noah_avr/keymaps/default/keymap.c new file mode 100644 index 000000000000..aa7f99a5c5d4 --- /dev/null +++ b/keyboards/kb_elmo/noah_avr/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2021 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi( + KC_ESC, 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, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi( + 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, 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 + ) +}; diff --git a/keyboards/kb_elmo/noah_avr/keymaps/via/keymap.c b/keyboards/kb_elmo/noah_avr/keymaps/via/keymap.c new file mode 100644 index 000000000000..91d4a7f91732 --- /dev/null +++ b/keyboards/kb_elmo/noah_avr/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2021 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC, 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_GRV, 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, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + 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, 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 + ), + [2] = LAYOUT_all( + 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, 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] = LAYOUT_all( + 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, 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 + ) +}; diff --git a/keyboards/kb_elmo/noah_avr/keymaps/via/rules.mk b/keyboards/kb_elmo/noah_avr/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/kb_elmo/noah_avr/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/kb_elmo/noah_avr/noah_avr.c b/keyboards/kb_elmo/noah_avr/noah_avr.c new file mode 100644 index 000000000000..6245bb6358c6 --- /dev/null +++ b/keyboards/kb_elmo/noah_avr/noah_avr.c @@ -0,0 +1,17 @@ +/* Copyright 2021 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "noah_avr.h" diff --git a/keyboards/kb_elmo/noah_avr/noah_avr.h b/keyboards/kb_elmo/noah_avr/noah_avr.h new file mode 100644 index 000000000000..eb16cf4f42ca --- /dev/null +++ b/keyboards/kb_elmo/noah_avr/noah_avr.h @@ -0,0 +1,85 @@ +/* Copyright 2021 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define ____ KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k115, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k213, k215, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, k315, \ + k400, k401, k402, k406, k411, k412, k413, k414, k415 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, ____, k115 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, ____, k213, ____, k215 }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, ____, k315 }, \ + { k400, k401, k402, ____, ____, ____, k406, ____, ____, ____, ____, k411, k412, k413, k414, k415 } \ +} + +#define LAYOUT_64_ansi( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k015, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k115, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k213, k215, \ + k300, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, k315, \ + k400, k401, k402, k406, k411, k412, k413, k414, k415 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, ____, k015 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, ____, k115 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, ____, k213, ____, k215 }, \ + { k300, ____, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, ____, k315 }, \ + { k400, k401, k402, ____, ____, ____, k406, ____, ____, ____, ____, k411, k412, k413, k414, k415 } \ +} + +#define LAYOUT_64_ansi_splitbs( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k115, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k213, k215, \ + k300, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, k315, \ + k400, k401, k402, k406, k411, k412, k413, k414, k415 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, ____, k115 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, ____, k213, ____, k215 }, \ + { k300, ____, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, ____, k315 }, \ + { k400, k401, k402, ____, ____, ____, k406, ____, ____, ____, ____, k411, k412, k413, k414, k415 } \ +} + +#define LAYOUT_64_iso( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k015, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k115, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k113, k213, k215, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, k315, \ + k400, k401, k402, k406, k411, k412, k413, k414, k415 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, ____, k015 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, ____, k115 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, ____, k213, ____, k215 }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, ____, k315 }, \ + { k400, k401, k402, ____, ____, ____, k406, ____, ____, ____, ____, k411, k412, k413, k414, k415 } \ +} diff --git a/keyboards/kb_elmo/noah_avr/readme.md b/keyboards/kb_elmo/noah_avr/readme.md new file mode 100644 index 000000000000..48dbe497292a --- /dev/null +++ b/keyboards/kb_elmo/noah_avr/readme.md @@ -0,0 +1,19 @@ +# Noah AVR + +![noah_avr](https://i.imgur.com/wg2tP47l.png) + +AVR based drop-in replacement PCB for the Matrix Noah keyboard + +* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) +* Hardware Supported: Noah AVR PCB +* Hardware Availability: https://github.com/kb-elmo/noah_avr + +Make example for this keyboard (after setting up your build environment): + + make kb_elmo/noah_avr:default + +Flashing example for this keyboard: + + make kb_elmo/noah_avr: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). diff --git a/keyboards/kb_elmo/noah_avr/rules.mk b/keyboards/kb_elmo/noah_avr/rules.mk new file mode 100644 index 000000000000..a547ba86b015 --- /dev/null +++ b/keyboards/kb_elmo/noah_avr/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi 65_iso From d99806cc27f32b1a856ec99731456c79a5358a27 Mon Sep 17 00:00:00 2001 From: Matteo Montemarani <71832926+mm0nte@users.noreply.github.com> Date: Tue, 16 Mar 2021 00:09:29 +0100 Subject: [PATCH 013/250] Pizza Keyboards Pizza65 addition (#11604) * Added Pizza65 from Pizza Keyboards Addition of Pizza65 * Update pizza65.h * Update info.json * Update mcuconf.h * Update rules.mk * Updated makefile * Update keyboards/pizzakeyboards/pizza65/config.h Co-authored-by: Drashna Jaelre * Update keyboards/pizzakeyboards/pizza65/config.h Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/config.h Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/info.json Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/rules.mk Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/readme.md Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/readme.md Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/info.json Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/info.json Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/info.json Co-authored-by: Ryan * Chibios Config migration * Update keyboards/pizzakeyboards/pizza65/readme.md Co-authored-by: Jonas Gessner * Update keyboards/pizzakeyboards/pizza65/readme.md Co-authored-by: Jonas Gessner * Update keyboards/pizzakeyboards/pizza65/pizza65.h Co-authored-by: Jonas Gessner * Update rules.mk nk rollover activation * conf updates * Update keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c Co-authored-by: Davide Riccardo Caliendo * Update keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c Co-authored-by: Davide Riccardo Caliendo * Update keymap.c thanks to Acaban * Update pizza65.h update to the iso_blocker_doublebs layout macro * Delete chconf.h Deleting after the ChibiOS-conf migration. * Delete config.h Deleting after the ChibiOS-conf migration. * Revert "Delete config.h" This reverts commit 16d64619e68578382aca3b1475968563b662d07f. * Delete mcuconf.h Deleting after ChibiOS-conf migration. * Delete halconf.h Deleting after ChibiOS-conf migrations. Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Jonas Gessner Co-authored-by: Davide Riccardo Caliendo --- keyboards/pizzakeyboards/pizza65/config.h | 58 ++++ keyboards/pizzakeyboards/pizza65/info.json | 317 ++++++++++++++++++ .../keymaps/ansi_blocker_doublebs/keymap.c | 34 ++ .../pizza65/keymaps/default/keymap.c | 34 ++ .../pizza65/keymaps/default/readme.md | 1 + .../pizza65/keymaps/iso_blocker/keymap.c | 34 ++ .../keymaps/iso_blocker_doublebs/keymap.c | 34 ++ .../pizza65/keymaps/via/keymap.c | 48 +++ .../pizza65/keymaps/via/readme.md | 1 + .../pizza65/keymaps/via/rules.mk | 2 + keyboards/pizzakeyboards/pizza65/pizza65.c | 17 + keyboards/pizzakeyboards/pizza65/pizza65.h | 86 +++++ keyboards/pizzakeyboards/pizza65/readme.md | 19 ++ keyboards/pizzakeyboards/pizza65/rules.mk | 19 ++ 14 files changed, 704 insertions(+) create mode 100644 keyboards/pizzakeyboards/pizza65/config.h create mode 100644 keyboards/pizzakeyboards/pizza65/info.json create mode 100644 keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c create mode 100644 keyboards/pizzakeyboards/pizza65/keymaps/default/keymap.c create mode 100644 keyboards/pizzakeyboards/pizza65/keymaps/default/readme.md create mode 100644 keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c create mode 100644 keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c create mode 100644 keyboards/pizzakeyboards/pizza65/keymaps/via/keymap.c create mode 100644 keyboards/pizzakeyboards/pizza65/keymaps/via/readme.md create mode 100644 keyboards/pizzakeyboards/pizza65/keymaps/via/rules.mk create mode 100644 keyboards/pizzakeyboards/pizza65/pizza65.c create mode 100644 keyboards/pizzakeyboards/pizza65/pizza65.h create mode 100644 keyboards/pizzakeyboards/pizza65/readme.md create mode 100644 keyboards/pizzakeyboards/pizza65/rules.mk diff --git a/keyboards/pizzakeyboards/pizza65/config.h b/keyboards/pizzakeyboards/pizza65/config.h new file mode 100644 index 000000000000..039fc6826379 --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/config.h @@ -0,0 +1,58 @@ +/* +Copyright 2020 mmonte + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x504B // PK +#define PRODUCT_ID 0x707A // PZ +#define DEVICE_VER 0x0001 +#define MANUFACTURER pizzakeyboards +#define PRODUCT pizza65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +#define MATRIX_ROW_PINS { B15, A10, F1, A0, A1 } +#define MATRIX_COL_PINS { A9, A8, F0, A2, A3, A4, B9, B8, B7, B6, B5, B4, B3, A15, A14, A13} +#define UNUSED_PINS + +#define DIODE_DIRECTION COL2ROW + +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/pizzakeyboards/pizza65/info.json b/keyboards/pizzakeyboards/pizza65/info.json new file mode 100644 index 000000000000..551edc70e3a5 --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/info.json @@ -0,0 +1,317 @@ +{ + "keyboard_name": "pizza65", + "url": "www.keyboards.pizza", + "maintainer": "mm0nte", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label": "r1_01", "x": 0, "y": 0}, + {"label": "r1_02", "x": 1, "y": 0}, + {"label": "r1_03", "x": 2, "y": 0}, + {"label": "r1_04", "x": 3, "y": 0}, + {"label": "r1_05", "x": 4, "y": 0}, + {"label": "r1_06", "x": 5, "y": 0}, + {"label": "r1_07", "x": 6, "y": 0}, + {"label": "r1_08", "x": 7, "y": 0}, + {"label": "r1_09", "x": 8, "y": 0}, + {"label": "r1_10", "x": 9, "y": 0}, + {"label": "r1_11", "x": 10, "y": 0}, + {"label": "r1_12", "x": 11, "y": 0}, + {"label": "r1_13", "x": 12, "y": 0}, + {"label": "r1_14", "x": 13, "y": 0, "w":2}, + {"label": "r1_15", "x": 15, "y": 0}, + + {"label": "r2_01", "x": 0, "y": 1, "w": 1.5}, + {"label": "r2_02", "x": 1.5, "y": 1}, + {"label": "r2_03", "x": 2.5, "y": 1}, + {"label": "r2_04", "x": 3.5, "y": 1}, + {"label": "r2_05", "x": 4.5, "y": 1}, + {"label": "r2_06", "x": 5.5, "y": 1}, + {"label": "r2_07", "x": 6.5, "y": 1}, + {"label": "r2_08", "x": 7.5, "y": 1}, + {"label": "r2_09", "x": 8.5, "y": 1}, + {"label": "r2_10", "x": 9.5, "y": 1}, + {"label": "r2_11", "x": 10.5, "y": 1}, + {"label": "r2_12", "x": 11.5, "y": 1}, + {"label": "r2_13", "x": 12.5, "y": 1}, + {"label": "r2_14", "x": 13.5, "y": 1, "w": 1.5}, + {"label": "r2_15", "x": 15, "y": 1}, + + {"label": "r3_01", "x": 0, "y": 2, "w": 1.75}, + {"label": "r3_02", "x": 1.75, "y": 2}, + {"label": "r3_03", "x": 2.75, "y": 2}, + {"label": "r3_04", "x": 3.75, "y": 2}, + {"label": "r3_05", "x": 4.75, "y": 2}, + {"label": "r3_06", "x": 5.75, "y": 2}, + {"label": "r3_07", "x": 6.75, "y": 2}, + {"label": "r3_08", "x": 7.75, "y": 2}, + {"label": "r3_09", "x": 8.75, "y": 2}, + {"label": "r3_10", "x": 9.75, "y": 2}, + {"label": "r3_11", "x": 10.75, "y": 2}, + {"label": "r3_12", "x": 11.75, "y": 2}, + {"label": "r3_13", "x": 12.75, "y": 2, "w": 2.25}, + {"label": "r3_14", "x": 15, "y": 2}, + + {"label": "r4_01", "x": 0, "y": 3, "w": 2.25}, + {"label": "r4_02", "x": 2.25, "y": 3}, + {"label": "r4_03", "x": 3.25, "y": 3}, + {"label": "r4_04", "x": 4.25, "y": 3}, + {"label": "r4_05", "x": 5.25, "y": 3}, + {"label": "r4_06", "x": 6.25, "y": 3}, + {"label": "r4_07", "x": 7.25, "y": 3}, + {"label": "r4_08", "x": 8.25, "y": 3}, + {"label": "r4_09", "x": 9.25, "y": 3}, + {"label": "r4_10", "x": 10.25, "y": 3}, + {"label": "r4_11", "x": 11.25, "y": 3}, + {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75}, + {"label": "r4_13", "x": 14, "y": 3}, + {"label": "r4_14", "x": 15, "y": 3}, + + {"label": "r5_01", "x": 0, "y": 4, "w": 1.25}, + {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25}, + {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "r5_05", "x": 10, "y": 4, "w": 1.25}, + {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "r4_07", "x": 13, "y": 4}, + {"label": "r4_08", "x": 14, "y": 4}, + {"label": "r4_09", "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label": "r1_01", "x": 0, "y": 0}, + {"label": "r1_02", "x": 1, "y": 0}, + {"label": "r1_03", "x": 2, "y": 0}, + {"label": "r1_04", "x": 3, "y": 0}, + {"label": "r1_05", "x": 4, "y": 0}, + {"label": "r1_06", "x": 5, "y": 0}, + {"label": "r1_07", "x": 6, "y": 0}, + {"label": "r1_08", "x": 7, "y": 0}, + {"label": "r1_09", "x": 8, "y": 0}, + {"label": "r1_10", "x": 9, "y": 0}, + {"label": "r1_11", "x": 10, "y": 0}, + {"label": "r1_12", "x": 11, "y": 0}, + {"label": "r1_13", "x": 12, "y": 0}, + {"label": "r1_14", "x": 13, "y": 0, "w":2}, + {"label": "r1_15", "x": 15, "y": 0}, + + {"label": "r2_01", "x": 0, "y": 1, "w": 1.5}, + {"label": "r2_02", "x": 1.5, "y": 1}, + {"label": "r2_03", "x": 2.5, "y": 1}, + {"label": "r2_04", "x": 3.5, "y": 1}, + {"label": "r2_05", "x": 4.5, "y": 1}, + {"label": "r2_06", "x": 5.5, "y": 1}, + {"label": "r2_07", "x": 6.5, "y": 1}, + {"label": "r2_08", "x": 7.5, "y": 1}, + {"label": "r2_09", "x": 8.5, "y": 1}, + {"label": "r2_10", "x": 9.5, "y": 1}, + {"label": "r2_11", "x": 10.5, "y": 1}, + {"label": "r2_12", "x": 11.5, "y": 1}, + {"label": "r2_13", "x": 12.5, "y": 1}, + {"label": "r2_14", "x": 13.5, "y": 1}, + {"label": "r2_15", "x": 15, "y": 1}, + + {"label": "r3_01", "x": 0, "y": 2, "w": 1.75}, + {"label": "r3_02", "x": 1.75, "y": 2}, + {"label": "r3_03", "x": 2.75, "y": 2}, + {"label": "r3_04", "x": 3.75, "y": 2}, + {"label": "r3_05", "x": 4.75, "y": 2}, + {"label": "r3_06", "x": 5.75, "y": 2}, + {"label": "r3_07", "x": 6.75, "y": 2}, + {"label": "r3_08", "x": 7.75, "y": 2}, + {"label": "r3_09", "x": 8.75, "y": 2}, + {"label": "r3_10", "x": 9.75, "y": 2}, + {"label": "r3_11", "x": 10.75, "y": 2}, + {"label": "r3_12", "x": 11.75, "y": 2}, + {"label": "r3_13", "x": 12.75, "y": 2}, + {"label": "r3_14", "x": 13.75, "y": 1, "w":1.25, "h":2}, + {"label": "r3_15", "x": 15, "y": 2}, + + + {"label": "r4_01", "x": 0, "y": 3, "w": 1.25}, + {"label": "r4_02", "x": 1.25, "y": 3}, + {"label": "r4_03", "x": 2.25, "y": 3}, + {"label": "r4_04", "x": 3.25, "y": 3}, + {"label": "r4_05", "x": 4.25, "y": 3}, + {"label": "r4_06", "x": 5.25, "y": 3}, + {"label": "r4_07", "x": 6.25, "y": 3}, + {"label": "r4_08", "x": 7.25, "y": 3}, + {"label": "r4_09", "x": 8.25, "y": 3}, + {"label": "r4_10", "x": 9.25, "y": 3}, + {"label": "r4_11", "x": 10.25, "y": 3}, + {"label": "r4_11", "x": 11.25, "y": 3}, + {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75}, + {"label": "r4_13", "x": 14, "y": 3}, + {"label": "r4_14", "x": 15, "y": 3}, + + {"label": "r5_01", "x": 0, "y": 4, "w": 1.25}, + {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25}, + {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "r5_05", "x": 10, "y": 4, "w": 1.25}, + {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "r4_07", "x": 13, "y": 4}, + {"label": "r4_08", "x": 14, "y": 4}, + {"label": "r4_09", "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_doublebs": { + "layout": [ + {"label": "r1_01", "x": 0, "y": 0}, + {"label": "r1_02", "x": 1, "y": 0}, + {"label": "r1_03", "x": 2, "y": 0}, + {"label": "r1_04", "x": 3, "y": 0}, + {"label": "r1_05", "x": 4, "y": 0}, + {"label": "r1_06", "x": 5, "y": 0}, + {"label": "r1_07", "x": 6, "y": 0}, + {"label": "r1_08", "x": 7, "y": 0}, + {"label": "r1_09", "x": 8, "y": 0}, + {"label": "r1_10", "x": 9, "y": 0}, + {"label": "r1_11", "x": 10, "y": 0}, + {"label": "r1_12", "x": 11, "y": 0}, + {"label": "r1_13", "x": 12, "y": 0}, + {"label": "r1_14", "x": 13, "y": 0}, + {"label": "r1_15", "x": 14, "y": 0}, + {"label": "r1_16", "x": 15, "y": 0}, + + {"label": "r2_01", "x": 0, "y": 1, "w": 1.5}, + {"label": "r2_02", "x": 1.5, "y": 1}, + {"label": "r2_03", "x": 2.5, "y": 1}, + {"label": "r2_04", "x": 3.5, "y": 1}, + {"label": "r2_05", "x": 4.5, "y": 1}, + {"label": "r2_06", "x": 5.5, "y": 1}, + {"label": "r2_07", "x": 6.5, "y": 1}, + {"label": "r2_08", "x": 7.5, "y": 1}, + {"label": "r2_09", "x": 8.5, "y": 1}, + {"label": "r2_10", "x": 9.5, "y": 1}, + {"label": "r2_11", "x": 10.5, "y": 1}, + {"label": "r2_12", "x": 11.5, "y": 1}, + {"label": "r2_13", "x": 12.5, "y": 1}, + {"label": "r2_14", "x": 13.5, "y": 1, "w": 1.5}, + {"label": "r2_15", "x": 15, "y": 1}, + + {"label": "r3_01", "x": 0, "y": 2, "w": 1.75}, + {"label": "r3_02", "x": 1.75, "y": 2}, + {"label": "r3_03", "x": 2.75, "y": 2}, + {"label": "r3_04", "x": 3.75, "y": 2}, + {"label": "r3_05", "x": 4.75, "y": 2}, + {"label": "r3_06", "x": 5.75, "y": 2}, + {"label": "r3_07", "x": 6.75, "y": 2}, + {"label": "r3_08", "x": 7.75, "y": 2}, + {"label": "r3_09", "x": 8.75, "y": 2}, + {"label": "r3_10", "x": 9.75, "y": 2}, + {"label": "r3_11", "x": 10.75, "y": 2}, + {"label": "r3_12", "x": 11.75, "y": 2}, + {"label": "r3_13", "x": 12.75, "y": 2, "w": 2.25}, + {"label": "r3_14", "x": 15, "y": 2}, + + {"label": "r4_01", "x": 0, "y": 3, "w": 2.25}, + {"label": "r4_02", "x": 2.25, "y": 3}, + {"label": "r4_03", "x": 3.25, "y": 3}, + {"label": "r4_04", "x": 4.25, "y": 3}, + {"label": "r4_05", "x": 5.25, "y": 3}, + {"label": "r4_06", "x": 6.25, "y": 3}, + {"label": "r4_07", "x": 7.25, "y": 3}, + {"label": "r4_08", "x": 8.25, "y": 3}, + {"label": "r4_09", "x": 9.25, "y": 3}, + {"label": "r4_10", "x": 10.25, "y": 3}, + {"label": "r4_11", "x": 11.25, "y": 3}, + {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75}, + {"label": "r4_13", "x": 14, "y": 3}, + {"label": "r4_14", "x": 15, "y": 3}, + + {"label": "r5_01", "x": 0, "y": 4, "w": 1.25}, + {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25}, + {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "r5_05", "x": 10, "y": 4, "w": 1.25}, + {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "r4_07", "x": 13, "y": 4}, + {"label": "r4_08", "x": 14, "y": 4}, + {"label": "r4_09", "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_doublebs": { + "layout": [ + {"label": "r1_01", "x": 0, "y": 0}, + {"label": "r1_02", "x": 1, "y": 0}, + {"label": "r1_03", "x": 2, "y": 0}, + {"label": "r1_04", "x": 3, "y": 0}, + {"label": "r1_05", "x": 4, "y": 0}, + {"label": "r1_06", "x": 5, "y": 0}, + {"label": "r1_07", "x": 6, "y": 0}, + {"label": "r1_08", "x": 7, "y": 0}, + {"label": "r1_09", "x": 8, "y": 0}, + {"label": "r1_10", "x": 9, "y": 0}, + {"label": "r1_11", "x": 10, "y": 0}, + {"label": "r1_12", "x": 11, "y": 0}, + {"label": "r1_13", "x": 12, "y": 0}, + {"label": "r1_14", "x": 13, "y": 0}, + {"label": "r1_15", "x": 14, "y": 0}, + {"label": "r1_16", "x": 15, "y": 0}, + + {"label": "r2_01", "x": 0, "y": 1, "w": 1.5}, + {"label": "r2_02", "x": 1.5, "y": 1}, + {"label": "r2_03", "x": 2.5, "y": 1}, + {"label": "r2_04", "x": 3.5, "y": 1}, + {"label": "r2_05", "x": 4.5, "y": 1}, + {"label": "r2_06", "x": 5.5, "y": 1}, + {"label": "r2_07", "x": 6.5, "y": 1}, + {"label": "r2_08", "x": 7.5, "y": 1}, + {"label": "r2_09", "x": 8.5, "y": 1}, + {"label": "r2_10", "x": 9.5, "y": 1}, + {"label": "r2_11", "x": 10.5, "y": 1}, + {"label": "r2_12", "x": 11.5, "y": 1}, + {"label": "r2_13", "x": 12.5, "y": 1}, + {"label": "r2_14", "x": 13.5, "y": 1}, + {"label": "r2_15", "x": 15, "y": 1}, + + {"label": "r3_01", "x": 0, "y": 2, "w": 1.75}, + {"label": "r3_02", "x": 1.75, "y": 2}, + {"label": "r3_03", "x": 2.75, "y": 2}, + {"label": "r3_04", "x": 3.75, "y": 2}, + {"label": "r3_05", "x": 4.75, "y": 2}, + {"label": "r3_06", "x": 5.75, "y": 2}, + {"label": "r3_07", "x": 6.75, "y": 2}, + {"label": "r3_08", "x": 7.75, "y": 2}, + {"label": "r3_09", "x": 8.75, "y": 2}, + {"label": "r3_10", "x": 9.75, "y": 2}, + {"label": "r3_11", "x": 10.75, "y": 2}, + {"label": "r3_12", "x": 11.75, "y": 2}, + {"label": "r3_13", "x": 12.75, "y": 2}, + {"label": "r3_14", "x": 13.75, "y": 1, "w":1.25, "h":2}, + {"label": "r3_15", "x": 15, "y": 2}, + + + {"label": "r4_01", "x": 0, "y": 3, "w": 1.25}, + {"label": "r4_02", "x": 1.25, "y": 3}, + {"label": "r4_03", "x": 2.25, "y": 3}, + {"label": "r4_04", "x": 3.25, "y": 3}, + {"label": "r4_05", "x": 4.25, "y": 3}, + {"label": "r4_06", "x": 5.25, "y": 3}, + {"label": "r4_07", "x": 6.25, "y": 3}, + {"label": "r4_08", "x": 7.25, "y": 3}, + {"label": "r4_09", "x": 8.25, "y": 3}, + {"label": "r4_10", "x": 9.25, "y": 3}, + {"label": "r4_11", "x": 10.25, "y": 3}, + {"label": "r4_11", "x": 11.25, "y": 3}, + {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75}, + {"label": "r4_13", "x": 14, "y": 3}, + {"label": "r4_14", "x": 15, "y": 3}, + + {"label": "r5_01", "x": 0, "y": 4, "w": 1.25}, + {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25}, + {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "r5_05", "x": 10, "y": 4, "w": 1.25}, + {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "r4_07", "x": 13, "y": 4}, + {"label": "r4_08", "x": 14, "y": 4}, + {"label": "r4_09", "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c b/keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c new file mode 100644 index 000000000000..6111144b1d48 --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2020 'mm0nte' + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker_doublebs( + KC_ESC, 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_BSPC, KC_HOME, + 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_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi_blocker_doublebs( + KC_GRV, 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_DEL, KC_DEL, KC_INS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_PGUP, KC_TRNS, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), +}; diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/default/keymap.c b/keyboards/pizzakeyboards/pizza65/keymaps/default/keymap.c new file mode 100644 index 000000000000..faf803461d7e --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2020 'mm0nte' + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + KC_ESC, 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_HOME, + 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_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi_blocker( + KC_GRV, 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_DEL, KC_INS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_PGUP, KC_TRNS, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), +}; diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/default/readme.md b/keyboards/pizzakeyboards/pizza65/keymaps/default/readme.md new file mode 100644 index 000000000000..bf78ffe048df --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/keymaps/default/readme.md @@ -0,0 +1 @@ +#Default keymap. Pretty Standard ANSI with blocker layout. diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c b/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c new file mode 100644 index 000000000000..d05902ac6a57 --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2020 'mm0nte' + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_iso_blocker( + KC_ESC, 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_HOME, + 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_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_iso_blocker( + KC_GRV, 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_DEL, KC_INS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_PGUP, KC_TRNS, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), +}; diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c b/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c new file mode 100644 index 000000000000..17008937c211 --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2020 'mm0nte' + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_iso_blocker_doublebs( + KC_ESC, 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_BSPC, KC_HOME, + 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_NUHS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_iso_blocker_doublebs( + KC_GRV, 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_DEL, KC_DEL, KC_INS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_PGUP, KC_TRNS, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), +}; diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/via/keymap.c b/keyboards/pizzakeyboards/pizza65/keymaps/via/keymap.c new file mode 100644 index 000000000000..068f2d1d4195 --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2020 'mm0nte' + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + KC_ESC, 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_HOME, + 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_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi_blocker( + KC_GRV, 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_DEL, KC_INS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_PGUP, KC_TRNS, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), + [2] = LAYOUT_65_ansi_blocker( + 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, 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_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_65_ansi_blocker( + 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, 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_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/via/readme.md b/keyboards/pizzakeyboards/pizza65/keymaps/via/readme.md new file mode 100644 index 000000000000..72be963a9c75 --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/keymaps/via/readme.md @@ -0,0 +1 @@ +#Keymap for enabling VIA compatibility. Same ANSI with blocker as default. diff --git a/keyboards/pizzakeyboards/pizza65/keymaps/via/rules.mk b/keyboards/pizzakeyboards/pizza65/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/pizzakeyboards/pizza65/pizza65.c b/keyboards/pizzakeyboards/pizza65/pizza65.c new file mode 100644 index 000000000000..93d832af2b28 --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/pizza65.c @@ -0,0 +1,17 @@ +/* Copyright 2020 mmonte + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "pizza65.h" diff --git a/keyboards/pizzakeyboards/pizza65/pizza65.h b/keyboards/pizzakeyboards/pizza65/pizza65.h new file mode 100644 index 000000000000..7331f4c4a0ed --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/pizza65.h @@ -0,0 +1,86 @@ +/* Copyright 2020 mmonte + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + + #define LAYOUT_65_ansi_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \ + K40, K41, K42, K46, K4A, K4B, K4D, K4E, K4F \ + ) \ + { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \ + { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ + } + + #define LAYOUT_65_iso_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \ + K40, K41, K42, K46, K4A, K4B, K4D, K4E, K4F \ + ) \ + { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \ + { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1F }, \ + { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ + } + #define LAYOUT_65_ansi_blocker_doublebs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \ + K40, K41, K42, K46, K4A, K4B, K4D, K4E, K4F \ + ) \ + { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ + } +#define LAYOUT_65_iso_blocker_doublebs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \ + K40, K41, K42, K46, K4A, K4B, K4D, K4E, K4F \ + ) \ + { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ + } diff --git a/keyboards/pizzakeyboards/pizza65/readme.md b/keyboards/pizzakeyboards/pizza65/readme.md new file mode 100644 index 000000000000..8db9931e23bd --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/readme.md @@ -0,0 +1,19 @@ +# Pizza Keyboards Pizza65 + +Pizza65 is the first project from Pizza Keyboards: a seamless design 65% top-mount board, designed in Italy and made in Germany. + +![pizza65](https://i.imgur.com/VxRVrK9l.jpg) + +* Keyboard Maintainer: [mm0nte](https://github.com/mm0nte) +* Hardware Supported: PizzaPCB for Pizza65 +* Hardware Availability: www.keyboards.pizza + +Make example for this keyboard (after setting up your build environment): + + make pizzakeyboards/pizza65:default + +Flashing example for this keyboard: + + make pizzakeyboards/pizza65: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). diff --git a/keyboards/pizzakeyboards/pizza65/rules.mk b/keyboards/pizzakeyboards/pizza65/rules.mk new file mode 100644 index 000000000000..2889fe9f34d3 --- /dev/null +++ b/keyboards/pizzakeyboards/pizza65/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = STM32F072 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output From f75420c209cf5535ed1599504d1a52059f21bc22 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 16 Mar 2021 00:00:59 -0700 Subject: [PATCH 014/250] box75: fix key positioning in info.json (#12256) * fix key positioning for box75 --- keyboards/box75/info.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/box75/info.json b/keyboards/box75/info.json index 7f854b0a5d3e..1fe97f296aa7 100644 --- a/keyboards/box75/info.json +++ b/keyboards/box75/info.json @@ -71,7 +71,8 @@ {"x":12.75, "y":3.25, "w":2.25}, {"x":15.25, "y":3.25}, - {"x":0, "y":4.25, "w":2.25}, + {"x":0, "y":4.25, "w":1.25}, + {"x":1.25, "y":4.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, @@ -90,9 +91,8 @@ {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, - {"x":10, "y":5.25}, - {"x":11, "y":5.25}, - {"x":12, "y":5.25}, + {"x":10, "y":5.25, "w":1.5}, + {"x":11.5, "y":5.25, "w":1.5}, {"x":13.125, "y":5.375}, {"x":14.125, "y":5.375}, {"x":15.125, "y":5.375} From e941ae38110c616884acbb7447350b150cdb9d4d Mon Sep 17 00:00:00 2001 From: Simon Arlott <70171+nomis@users.noreply.github.com> Date: Wed, 17 Mar 2021 01:39:09 +0000 Subject: [PATCH 015/250] [Keyboard] Add YMDK NP24 (ATmega32U4 with 6 RGB LEDs) (#12120) --- keyboards/ymdk/np24/u4rgb6/config.h | 55 ++++++++++ keyboards/ymdk/np24/u4rgb6/info.json | 102 ++++++++++++++++++ .../ymdk/np24/u4rgb6/keymaps/default/keymap.c | 49 +++++++++ .../np24/u4rgb6/keymaps/default/readme.md | 29 +++++ keyboards/ymdk/np24/u4rgb6/readme.md | 18 ++++ keyboards/ymdk/np24/u4rgb6/rules.mk | 24 +++++ keyboards/ymdk/np24/u4rgb6/u4rgb6.c | 16 +++ keyboards/ymdk/np24/u4rgb6/u4rgb6.h | 67 ++++++++++++ 8 files changed, 360 insertions(+) create mode 100644 keyboards/ymdk/np24/u4rgb6/config.h create mode 100644 keyboards/ymdk/np24/u4rgb6/info.json create mode 100644 keyboards/ymdk/np24/u4rgb6/keymaps/default/keymap.c create mode 100644 keyboards/ymdk/np24/u4rgb6/keymaps/default/readme.md create mode 100644 keyboards/ymdk/np24/u4rgb6/readme.md create mode 100644 keyboards/ymdk/np24/u4rgb6/rules.mk create mode 100644 keyboards/ymdk/np24/u4rgb6/u4rgb6.c create mode 100644 keyboards/ymdk/np24/u4rgb6/u4rgb6.h diff --git a/keyboards/ymdk/np24/u4rgb6/config.h b/keyboards/ymdk/np24/u4rgb6/config.h new file mode 100644 index 000000000000..dc86ae344bc7 --- /dev/null +++ b/keyboards/ymdk/np24/u4rgb6/config.h @@ -0,0 +1,55 @@ +/* Copyright 2021 Simon Arlott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x594D +#define PRODUCT_ID 0x5024 +#define DEVICE_VER 0x0406 +#define MANUFACTURER YMDK +#define PRODUCT NP24 U4 RGB6 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 4 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B3, B6, B2, B1, D7, B4 } +#define MATRIX_COL_PINS { F5, F4, D3, D2 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* LED indicator pins */ +#define LED_NUM_LOCK_PIN C6 +#define LED_PIN_ON_STATE 0 + +/* number of backlight levels */ +#define BACKLIGHT_PIN B7 +#ifdef BACKLIGHT_PIN +# define BACKLIGHT_LEVELS 31 +#endif + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define RGB_DI_PIN E2 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 6 +# define RGBLIGHT_ANIMATIONS +#endif diff --git a/keyboards/ymdk/np24/u4rgb6/info.json b/keyboards/ymdk/np24/u4rgb6/info.json new file mode 100644 index 000000000000..313eeabff73d --- /dev/null +++ b/keyboards/ymdk/np24/u4rgb6/info.json @@ -0,0 +1,102 @@ +{ + "keyboard_name": "YMDK NP24 U4 RGB6", + "maintainer": "qmk", + "width": 4, + "height": 6.25, + "layouts": { + "LAYOUT_ortho_6x4": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + + {"x": 0, "y": 1.25}, + {"x": 1, "y": 1.25}, + {"x": 2, "y": 1.25}, + {"x": 3, "y": 1.25}, + + {"x": 0, "y": 2.25}, + {"x": 1, "y": 2.25}, + {"x": 2, "y": 2.25}, + {"x": 3, "y": 2.25}, + + {"x": 0, "y": 3.25}, + {"x": 1, "y": 3.25}, + {"x": 2, "y": 3.25}, + {"x": 3, "y": 3.25}, + + {"x": 0, "y": 4.25}, + {"x": 1, "y": 4.25}, + {"x": 2, "y": 4.25}, + {"x": 3, "y": 4.25}, + + {"x": 0, "y": 5.25}, + {"x": 1, "y": 5.25}, + {"x": 2, "y": 5.25}, + {"x": 3, "y": 5.25} + ] + }, + "LAYOUT_ortho_4x6": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5.25, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5.25, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5.25, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5.25, "y": 3} + ] + }, + "LAYOUT_numpad_6x4": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + + {"x": 0, "y": 1.25}, + {"x": 1, "y": 1.25}, + {"x": 2, "y": 1.25}, + {"x": 3, "y": 1.25}, + + {"x": 0, "y": 2.25}, + {"x": 1, "y": 2.25}, + {"x": 2, "y": 2.25}, + + {"x": 0, "y": 3.25}, + {"x": 1, "y": 3.25}, + {"x": 2, "y": 3.25}, + {"x": 3, "y": 2.25, "h": 2}, + + {"x": 0, "y": 4.25}, + {"x": 1, "y": 4.25}, + {"x": 2, "y": 4.25}, + + {"x": 0, "y": 5.25, "w": 2}, + {"x": 2, "y": 5.25}, + {"x": 3, "y": 4.25, "h": 2} + ] + } + } +} diff --git a/keyboards/ymdk/np24/u4rgb6/keymaps/default/keymap.c b/keyboards/ymdk/np24/u4rgb6/keymaps/default/keymap.c new file mode 100644 index 000000000000..48ec3599d760 --- /dev/null +++ b/keyboards/ymdk/np24/u4rgb6/keymaps/default/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2021 Simon Arlott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layer_names { + L_NUM, + L_BL, + L_RGB +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [L_NUM] = LAYOUT_ortho_6x4( + KC_ESC, KC_CALC, MO(L_BL),MO(L_RGB), + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_P0, KC_PDOT, KC_PENT + ), + [L_BL] = LAYOUT_ortho_6x4( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, BL_ON, _______, BL_INC, + _______, BL_TOGG, _______, BL_INC, + _______, BL_OFF, _______, BL_DEC, + BL_BRTG, _______, _______, BL_DEC + ), + [L_RGB] = LAYOUT_ortho_6x4( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, RGB_MOD, _______, RGB_VAI, + _______, RGB_TOG, _______, RGB_VAI, + _______, RGB_RMOD,_______, RGB_VAD, + RGB_M_R, _______, _______, RGB_VAD + ) +}; diff --git a/keyboards/ymdk/np24/u4rgb6/keymaps/default/readme.md b/keyboards/ymdk/np24/u4rgb6/keymaps/default/readme.md new file mode 100644 index 000000000000..7bcf47f3a981 --- /dev/null +++ b/keyboards/ymdk/np24/u4rgb6/keymaps/default/readme.md @@ -0,0 +1,29 @@ +# The default keymap for the YMDK NP24 keypad + +Not the manufacturer default, which has F1, F2, F3, Fn on the top row. +The function layer for the top row was: RGB_MOD, BL_STEP, ______, ______. + +``` +Base Layer Function Layer 1 Function Layer 2 + .-----. .-----. .-----. + | USB | | USB | | USB | +,-------------------------------. ,-------------------------------. ,-------------------------------. +| Esc | Calc | Fn 1 | Fn 2 | | | |▒▒▒▒▒▒▒| | | | | |▒▒▒▒▒▒▒| +| | | | | | | |▒▒▒▒▒▒▒| | | | | |▒▒▒▒▒▒▒| +|-------+-------+-------+-------| |-------+-------+-------+-------| |-------+-------+-------+-------| +| Num | / | * | - | | | | | | | | | | | +| Lock | | | | | | | | | | | | | | +|-------+-------+-------+-------| |-------+-------+-------+-------| |-------+-------+-------+-------| +| 7 | 8 | 9 | + | | | BL | | BL | | |Mode | |Bright | +| Home | Up | PgUp | | | | On | | Inc | | |Forward| |Inc | +|-------+-------+-------+-------| |-------+-------+-------+-------| |-------+-------+-------+-------| +| 4 | 5 | 6 | + | | | BL | | BL | | |Toggle | |Bright | +| Left | | Right | | | | Togg | | Inc | | |On/Off | |Inc | +|-------+-------+-------+-------| |-------+-------+-------+-------| |-------+-------+-------+-------| +| 1 | 2 | 3 | Ent | | | BL | | BL | | |Mode | |Bright | +| End | Down | PgDn | | | | Off | | Dec | | |Back | |Dec | +|-------+-------+-------+-------| |-------+-------+-------+-------| |-------+-------+-------+-------| +| 0 | 0 | . | Ent | | BL | | | BL | |Mode | | |Bright | +| Ins | Ins | Del | | | Breath| | | Dec | |Rainbow| | |Dec | +`-------------------------------' `-------------------------------' `-------------------------------' +``` diff --git a/keyboards/ymdk/np24/u4rgb6/readme.md b/keyboards/ymdk/np24/u4rgb6/readme.md new file mode 100644 index 000000000000..53e74f2de69d --- /dev/null +++ b/keyboards/ymdk/np24/u4rgb6/readme.md @@ -0,0 +1,18 @@ +# YMDK NP24 U4 RGB6 + +24 key number-pad with 6 RGB LEDs on the bottom (black PCB) sold by YMDK on Aliexpress (https://ymdk.aliexpress.com/store/429151). + +Not to be confused with the 8 RGB LED version (white PCB) that has an ATmega32A ("ymdk_np21"). + +* Keyboard Maintainer: [QMK Community](https://github.com/qmk) +* Hardware Supported: ATmega32U4 + +Make example for this keyboard (after setting up your build environment): + + make ymdk/np24/u4rgb6:default + +Flashing example for this keyboard: + + make ymdk/np24/u4rgb6: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). diff --git a/keyboards/ymdk/np24/u4rgb6/rules.mk b/keyboards/ymdk/np24/u4rgb6/rules.mk new file mode 100644 index 000000000000..625a433f928b --- /dev/null +++ b/keyboards/ymdk/np24/u4rgb6/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # 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 +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = ortho_6x4 numpad_6x4 ortho_4x6 diff --git a/keyboards/ymdk/np24/u4rgb6/u4rgb6.c b/keyboards/ymdk/np24/u4rgb6/u4rgb6.c new file mode 100644 index 000000000000..edd0c0552de6 --- /dev/null +++ b/keyboards/ymdk/np24/u4rgb6/u4rgb6.c @@ -0,0 +1,16 @@ +/* Copyright 2021 Simon Arlott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "u4rgb6.h" diff --git a/keyboards/ymdk/np24/u4rgb6/u4rgb6.h b/keyboards/ymdk/np24/u4rgb6/u4rgb6.h new file mode 100644 index 000000000000..83ec486887f0 --- /dev/null +++ b/keyboards/ymdk/np24/u4rgb6/u4rgb6.h @@ -0,0 +1,67 @@ +/* Copyright 2017 Luiz Ribeiro + * Copyright 2021 Simon Arlott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_ortho_6x4( \ + k00, k10, k20, k30, \ + k01, k11, k21, k31, \ + k02, k12, k22, k32, \ + k03, k13, k23, k33, \ + k04, k14, k24, k34, \ + k05, k15, k25, k35 \ +) { \ + { k00, k10, k20, k30 }, \ + { k01, k11, k21, k31 }, \ + { k02, k12, k22, k32 }, \ + { k03, k13, k23, k33 }, \ + { k04, k14, k24, k34 }, \ + { k05, k15, k25, k35 } \ +} + +#define LAYOUT_ortho_4x6( \ + k00, k01, k02, k03, k04, k05, \ + k10, k11, k12, k13, k14, k15, \ + k20, k21, k22, k23, k24, k25, \ + k30, k31, k32, k33, k34, k35 \ +) { \ + { k00, k10, k20, k30 }, \ + { k01, k11, k21, k31 }, \ + { k02, k12, k22, k32 }, \ + { k03, k13, k23, k33 }, \ + { k04, k14, k24, k34 }, \ + { k05, k15, k25, k35 } \ +} + +#define LAYOUT_numpad_6x4( \ + k00, k10, k20, k30, \ + k01, k11, k21, k31, \ + k02, k12, k22, \ + k03, k13, k23, k33, \ + k04, k14, k24, \ + k15, k25, k35 \ +) { \ + { k00, k10, k20, k30 }, \ + { k01, k11, k21, k31 }, \ + { k02, k12, k22, XXX }, \ + { k03, k13, k23, k33 }, \ + { k04, k14, k24, XXX }, \ + { XXX, k15, k25, k35 } \ +} From 554b73643dc1bf8cd9b0a0fc6ad137753b2e4ffa Mon Sep 17 00:00:00 2001 From: Gavin Austin <37852683+vk2fgav@users.noreply.github.com> Date: Wed, 17 Mar 2021 13:23:35 +1100 Subject: [PATCH 016/250] [Keyboard] Added Roses Lite Support (#12173) Co-authored-by: Ryan --- keyboards/roseslite/config.h | 131 ++++++++++++++++++ keyboards/roseslite/info.json | 100 +++++++++++++ keyboards/roseslite/keymaps/default/keymap.c | 34 +++++ keyboards/roseslite/keymaps/default/readme.md | 1 + keyboards/roseslite/keymaps/via/keymap.c | 49 +++++++ keyboards/roseslite/keymaps/via/rules.mk | 1 + keyboards/roseslite/readme.md | 16 +++ keyboards/roseslite/roseslite.c | 16 +++ keyboards/roseslite/roseslite.h | 42 ++++++ keyboards/roseslite/rules.mk | 22 +++ 10 files changed, 412 insertions(+) create mode 100644 keyboards/roseslite/config.h create mode 100644 keyboards/roseslite/info.json create mode 100644 keyboards/roseslite/keymaps/default/keymap.c create mode 100644 keyboards/roseslite/keymaps/default/readme.md create mode 100644 keyboards/roseslite/keymaps/via/keymap.c create mode 100644 keyboards/roseslite/keymaps/via/rules.mk create mode 100644 keyboards/roseslite/readme.md create mode 100644 keyboards/roseslite/roseslite.c create mode 100644 keyboards/roseslite/roseslite.h create mode 100644 keyboards/roseslite/rules.mk diff --git a/keyboards/roseslite/config.h b/keyboards/roseslite/config.h new file mode 100644 index 000000000000..48e251e96d4a --- /dev/null +++ b/keyboards/roseslite/config.h @@ -0,0 +1,131 @@ +/* +Copyright 2019 Fate + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xDE17 +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER DeltaDesigns +#define PRODUCT roseslite + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 } +#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B0, B7, B5, B4, D7, D6, B3 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + +// #define RGB_DI_PIN E2 +// #ifdef RGB_DI_PIN +// #define RGBLED_NUM 16 +// #define RGBLIGHT_HUE_STEP 8 +// #define RGBLIGHT_SAT_STEP 8 +// #define RGBLIGHT_VAL_STEP 8 +// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +// /*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +// #endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * 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 NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/roseslite/info.json b/keyboards/roseslite/info.json new file mode 100644 index 000000000000..88a7ac25f387 --- /dev/null +++ b/keyboards/roseslite/info.json @@ -0,0 +1,100 @@ +{ + "keyboard_name": "roses lite", + "url": "delta-design.xyz", + "maintainer": "Reason6/Vk2fgav", + "width": 18, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0}, + + {"x": 1.5, "y": 0}, + {"x": 2.5, "y": 0}, + {"x": 3.5, "y": 0}, + {"x": 4.5, "y": 0}, + {"x": 5.5, "y": 0}, + {"x": 6.5, "y": 0}, + {"x": 7.5, "y": 0}, + + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + {"x": 17, "y": 0}, + + {"x": 18.5, "y": 0}, + + {"x": 0, "y": 1}, + + {"x": 1.5, "y": 1, "w": 1.5}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + {"x": 7, "y": 1}, + + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1}, + {"x": 14.5, "y": 1}, + {"x": 15.5, "y": 1}, + {"x": 16.5, "y": 1, "w": 1.5}, + + {"x": 18.5, "y": 1}, + + {"x": 0, "y": 2}, + + {"x": 1.5, "y": 2, "w": 1.75}, + {"x": 3.25, "y": 2}, + {"x": 4.25, "y": 2}, + {"x": 5.25, "y": 2}, + {"x": 6.25, "y": 2}, + {"x": 7.25, "y": 2}, + + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2}, + {"x": 13.75, "y": 2}, + {"x": 14.75, "y": 2}, + {"x": 15.75, "y": 2, "w": 2.25}, + + {"x": 18.5, "y": 2}, + + {"x": 1.5, "y": 3, "w": 2}, + {"x": 3.5, "y": 3}, + {"x": 4.5, "y": 3}, + {"x": 5.5, "y": 3}, + {"x": 6.5, "y": 3}, + {"x": 7.5, "y": 3}, + + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3}, + {"x": 13.25, "y": 3}, + {"x": 14.25, "y": 3}, + {"x": 15.25, "y": 3, "w": 1.75}, + + {"x": 17.5, "y": 3}, + + {"x": 1.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 1.25}, + {"x": 5, "y": 4, "w": 2.75}, + {"x": 7.75, "y": 4}, + + {"x": 10.25, "y": 4, "w": 2.75}, + {"x": 13, "y": 4, "w": 1.25}, + + {"x": 16.5, "y": 4}, + {"x": 17.5, "y": 4}, + {"x": 18.5, "y": 4} + ] + } + } +} diff --git a/keyboards/roseslite/keymaps/default/keymap.c b/keyboards/roseslite/keymaps/default/keymap.c new file mode 100644 index 000000000000..0c224a7385f8 --- /dev/null +++ b/keyboards/roseslite/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2021 vk2fgav + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_GESC, 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_BSLS, KC_GRV, KC_PGUP, + 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_BSPC, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(1), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_HOME, KC_END, KC_INS, KC_RCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/roseslite/keymaps/default/readme.md b/keyboards/roseslite/keymaps/default/readme.md new file mode 100644 index 000000000000..6598b04bdc01 --- /dev/null +++ b/keyboards/roseslite/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for roses_lite \ No newline at end of file diff --git a/keyboards/roseslite/keymaps/via/keymap.c b/keyboards/roseslite/keymaps/via/keymap.c new file mode 100644 index 000000000000..a7a513e9b23a --- /dev/null +++ b/keyboards/roseslite/keymaps/via/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2021 vk2fgav + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_GESC, 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_BSLS, KC_GRV, KC_PGUP, + 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_BSPC, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(1), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_HOME, KC_END, KC_INS, KC_RCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/roseslite/keymaps/via/rules.mk b/keyboards/roseslite/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/roseslite/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/roseslite/readme.md b/keyboards/roseslite/readme.md new file mode 100644 index 000000000000..02eb139678a6 --- /dev/null +++ b/keyboards/roseslite/readme.md @@ -0,0 +1,16 @@ +# Roses Lite + + +* Keyboard Maintainer: [Reason6/Vk2fgav](https://github.com/vk2fgav) +* Hardware Supported: Roses Series +* Hardware Availability: [Shop](http://delta-design.xyz) + +Make example for this keyboard (after setting up your build environment): + + make roseslite:default + +Flashing example for this keyboard: + + make roseslite: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). diff --git a/keyboards/roseslite/roseslite.c b/keyboards/roseslite/roseslite.c new file mode 100644 index 000000000000..fa3a93fed732 --- /dev/null +++ b/keyboards/roseslite/roseslite.c @@ -0,0 +1,16 @@ +/* Copyright 2019 Fate + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "roseslite.h" diff --git a/keyboards/roseslite/roseslite.h b/keyboards/roseslite/roseslite.h new file mode 100644 index 000000000000..78340d9aa28e --- /dev/null +++ b/keyboards/roseslite/roseslite.h @@ -0,0 +1,42 @@ +/* Copyright 2021 vk2fgav + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define XXX KC_NO +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k1E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k3E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, \ + k40, k41, k42, k45, k47, k48, k49, k4A, k4B, k4C, k4D, k4E \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, k47, k48, k49, k4A, k4B, k4C, k4D, k4E} \ +} diff --git a/keyboards/roseslite/rules.mk b/keyboards/roseslite/rules.mk new file mode 100644 index 000000000000..32981133b2eb --- /dev/null +++ b/keyboards/roseslite/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output From 6af387ec6f5228e9d268dc925cef5bddbd02a3ee Mon Sep 17 00:00:00 2001 From: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Tue, 16 Mar 2021 22:44:13 -0400 Subject: [PATCH 017/250] [Keymap] stanrc85 keymap updates (#12184) --- layouts/community/alice/stanrc85-alice/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/layouts/community/alice/stanrc85-alice/keymap.c b/layouts/community/alice/stanrc85-alice/keymap.c index 743f8f7df566..d1ace8b8e514 100644 --- a/layouts/community/alice/stanrc85-alice/keymap.c +++ b/layouts/community/alice/stanrc85-alice/keymap.c @@ -36,8 +36,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1_60] = LAYOUT_alice( _______, KC_TILD, 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_DEL, - _______, _______, _______, CA_QUOT, KC_VOLU, CA_SCLN, _______, _______, KC_HOME, KC_UP, KC_END, KC_PSCR, _______, _______, KC_INS, - _______, KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_MPLY, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, + _______, _______, _______, CA_QUOT, _______, CA_SCLN, KC_VOLU, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PSCR, _______, _______, KC_INS, + _______, KC_CAPS, _______, _______, KC_LCTL, KC_LSFT, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_RDP, _______, _______, _______, _______, _______, _______, KC_WBAK, KC_WFWD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), From 3c4972a53f9c68b0838ffb1cdd5bb31d06a1b4a2 Mon Sep 17 00:00:00 2001 From: Kyle McAlpine Date: Wed, 17 Mar 2021 02:49:48 +0000 Subject: [PATCH 018/250] [Keyboard] Fix issue with process_record_kb in Torn (#12189) --- keyboards/torn/bongocat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/torn/bongocat.c b/keyboards/torn/bongocat.c index 2280143a7df1..593cd5d4ae6a 100644 --- a/keyboards/torn/bongocat.c +++ b/keyboards/torn/bongocat.c @@ -373,7 +373,7 @@ void oled_task_user(void) { bool process_record_kb(uint16_t keycode, keyrecord_t *record) { sleep_timer = timer_read32(); - return true; + return process_record_user(keycode, record); } #endif From 57de02c9f290d26927778b1bf7b1cfa41090a436 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 16 Mar 2021 22:05:20 -0500 Subject: [PATCH 019/250] [Keyboard] fix bm68rgb default keymap (#12199) --- keyboards/bm68rgb/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/bm68rgb/keymaps/default/keymap.c b/keyboards/bm68rgb/keymaps/default/keymap.c index 4bd7d5974e01..eec3b3c264e7 100644 --- a/keyboards/bm68rgb/keymaps/default/keymap.c +++ b/keyboards/bm68rgb/keymaps/default/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, 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, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1),KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi( From 4e8a218d175476664258333d89582c243969825f Mon Sep 17 00:00:00 2001 From: Mojitas <47667093+Mojitas@users.noreply.github.com> Date: Wed, 17 Mar 2021 04:09:45 +0100 Subject: [PATCH 020/250] [Keymap] Mojito - removed layer macros (#12201) Co-authored-by: Ryan --- .../keebio/iris/keymaps/mojitas/config.h | 12 +- .../keebio/iris/keymaps/mojitas/keymap.c | 150 +++++++++--------- 2 files changed, 89 insertions(+), 73 deletions(-) diff --git a/keyboards/keebio/iris/keymaps/mojitas/config.h b/keyboards/keebio/iris/keymaps/mojitas/config.h index 149a54be7fa3..24aecb9f843e 100644 --- a/keyboards/keebio/iris/keymaps/mojitas/config.h +++ b/keyboards/keebio/iris/keymaps/mojitas/config.h @@ -1,5 +1,5 @@ /* -Copyright 2017 Danny Nguyen +Copyright 2021 Mathias Strand This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,5 +17,13 @@ along with this program. If not, see . #pragma once +/* Use I2C or Serial, not both */ + +#define USE_SERIAL // #define USE_I2C -#define EE_HANDS + +/* Select hand configuration */ + +#define MASTER_LEFT +//#define MASTER_RIGHT +// #define EE_HANDS diff --git a/keyboards/keebio/iris/keymaps/mojitas/keymap.c b/keyboards/keebio/iris/keymaps/mojitas/keymap.c index 548bffc65098..2ecfc0f6a1f9 100644 --- a/keyboards/keebio/iris/keymaps/mojitas/keymap.c +++ b/keyboards/keebio/iris/keymaps/mojitas/keymap.c @@ -1,18 +1,29 @@ +/* +Copyright 2021 Mathias Strand + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include QMK_KEYBOARD_H #include "keymap_swedish.h" -//Heavily modified keymap. Some features: -//Multiple layouts, I use dvorak as main. //Nordic(swedish) signs -//Symbols, numpad, arrows/navigation reachable under the alpas via the layers -//Mirrored ctl, alt and shift to be able to use both hands when doing commands -//Gaming layer, qwerty with space on left half. enum layer_names { _DVORAK, _COLEMAK, _QWERTY, - _WORKMAN, _GAMING, _NUMPAD, _LOWER, @@ -20,13 +31,16 @@ enum layer_names { _ADJUST }; + enum custom_keycodes { QWERTY = SAFE_RANGE, DVORAK, COLEMAK, - WORKMAN, GAMING, NUMPAD, + LOWER, + RAISE, + ADJUST }; #define KC_ KC_TRNS @@ -34,16 +48,13 @@ enum custom_keycodes { #define SE_YEN ALGR(SE_6) //isn't in the swedish_keymap.h #define KC_CATDEL LCTL(LALT(KC_DEL)) // Ctrl alt del #define KC_TSKMGR LCTL(S(KC_ESC)) // Ctrl shift esc -#define KC_NUMP TG(_NUMPAD) // Toggle layer NUMPAD for use in LAYOUT_kc #define KC_Close RALT(KC_F4) // Alt F4 -#define KC_MEH1 MEH(KC_1) -#define KC_MEH2 MEH(KC_2) -#define KC_MEH3 MEH(KC_3) -#define KC_MEH4 MEH(KC_4) -#define KC_MEH5 MEH(KC_5) +#define KC_MEH1 MEH(KC_1) // crtl shift alt 1 +#define KC_MEH2 MEH(KC_2) // +#define KC_MEH3 MEH(KC_3) // +#define KC_MEH4 MEH(KC_4) // +#define KC_MEH5 MEH(KC_5) // -#define KC_LOWR MO(_LOWER) -#define KC_RASE MO(_RAISE) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -51,13 +62,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. KC_DEL , KC_APP , KC_VOLD, KC_MUTE, KC_VOLU, KC_LGUI, KC_GRV , KC_MPRV, KC_MPLY, KC_MNXT, KC_DOWN, KC_ESC , //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TAB , KC_Q , KC_W , KC_E , KC_ R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , SE_ARNG, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , SE_ARNG, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , SE_ODIA, SE_ADIA, //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_NUMP, KC_ENT , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , NUMPAD, KC_ENT , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' - KC_LALT, KC_LOWR, KC_BSPC, KC_SPC , KC_RASE, KC_LALT + KC_LALT, LOWER, KC_BSPC, KC_SPC , RAISE , KC_LALT // `--------+--------+--------' `--------+--------+--------' ), @@ -65,13 +76,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC , //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TAB , KC_Q , KC_W , KC_E , KC_ R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , 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_DEL , //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , SE_ODIA, KC_RCTL, //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_NUMP, KC_ENT , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , NUMPAD, KC_ENT , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' - KC_LALT, KC_LOWR, KC_BSPC, KC_SPC , KC_RASE, KC_LALT + KC_LALT, LOWER , KC_BSPC, KC_SPC , RAISE, KC_LALT // `--------+--------+--------' `--------+--------+--------' ), @@ -83,9 +94,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_LCTL, KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S ,KC_RCTL , //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_DOT , KC_Q , KC_J , KC_K , KC_X , KC_NUMP, KC_ENT , KC_B , KC_M , KC_W , KC_V , KC_Z ,KC_RSFT , + KC_LSFT, KC_DOT , KC_Q , KC_J , KC_K , KC_X , NUMPAD, KC_ENT , KC_B , KC_M , KC_W , KC_V , KC_Z ,KC_RSFT , //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' - KC_LALT, KC_LOWR, KC_BSPC, KC_SPC , KC_RASE, KC_LALT + KC_LALT, LOWER, KC_BSPC, KC_SPC , RAISE, KC_LALT // `--------+--------+--------' `--------+--------+--------' ), @@ -97,37 +108,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| KC_LCTL, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , SE_ODIA, //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_NUMP, KC_ENT , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , NUMPAD, KC_ENT , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' - KC_LALT, KC_LOWR, KC_BSPC, KC_SPC , KC_RASE, KC_LALT + KC_LALT, LOWER, KC_BSPC, KC_SPC , RAISE, KC_LALT // `--------+--------+--------' `--------+--------+--------' ), -[_WORKMAN] = LAYOUT( - //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. - KC_DEL , KC_APP , KC_VOLD, KC_MUTE, KC_VOLU, KC_LGUI, KC_GRV , KC_MPRV, KC_MPLY, KC_MNXT, KC_DOWN, KC_ESC , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TAB , KC_Q , KC_W , KC_R , KC_W KC_B , KC_J , KC_F , KC_U , KC_P , SE_ARNG, SE_ODIA, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , KC_RCTL, - //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_NUMP, KC_ENT , KC_K , KC_L , SE_ADIA, KC_DOT , KC_SLSH, KC_RSFT, - //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' - KC_LALT, KC_LOWR, KC_BSPC, KC_SPC , KC_RASE, KC_LALT - // `--------+--------+--------' `--------+--------+--------' - ), [_NUMPAD] = LAYOUT( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , KC_MEH1, KC_BTN2, KC_MS_U, KC_BTN1, KC_CATDEL, KC_PIPE, KC_P7 , KC_P8 , KC_P9 , KC_SLSH, , + _______, KC_MEH1, KC_BTN2, KC_MS_U, KC_BTN1, KC_CATDEL, KC_PIPE, KC_P7 , KC_P8 , KC_P9 , KC_SLSH, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , KC_MEH4, KC_MS_L, KC_MS_D, KC_MS_R, KC_TSKMGR, KC_COMM, KC_P4 , KC_P5 , KC_P6 , KC_MINS, , + _______, KC_MEH4, KC_MS_L, KC_MS_D, KC_MS_R, KC_TSKMGR, KC_COMM, KC_P4 , KC_P5 , KC_P6 , KC_MINS, _______, //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| - , KC_MEH5, KC_ACL0, KC_ACL1, KC_ACL2, KC_MEH3, , KC_PENT , KC_DOT , KC_P1 , KC_P2 , KC_P3 , KC_P0 , , + _______, KC_MEH5, KC_ACL0, KC_ACL1, KC_ACL2, KC_MEH3, _______, KC_PENT , KC_DOT , KC_P1 , KC_P2 , KC_P3 , KC_P0 , _______, //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' - KC_LALT , KC_LOWR, KC_BSPC, , KC_P0 , KC_NLCK + KC_LALT , LOWER, KC_BSPC, _______, RAISE, KC_NLCK // `--------+--------+--------' `--------+--------+--------' ), @@ -136,33 +134,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. 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_CAPS, KC_PGUP, KC_UP , KC_PGDN, KC_ESC, KC_RCBR, KC_EXLM, KC_ASTR, KC_LPRN, KC_UNDS, , + _______, KC_CAPS, KC_PGUP, KC_UP , KC_PGDN, KC_ESC, KC_RCBR, KC_EXLM, KC_ASTR, KC_LPRN, KC_UNDS, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_RPRN, KC_QUES, SE_LBRC, SE_RBRC, KC_LABK, , + _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_RPRN, KC_QUES, SE_LBRC, SE_RBRC, KC_LABK, _______, //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| - , KC_ENT , , , , KC_DEL , , , KC_RABK, SE_LABK, SE_LCBR, SE_RCBR, SE_RABK, , + _______, KC_ENT , _______, _______, _______, KC_DEL , _______, _______, KC_RABK, SE_LABK, SE_LCBR, SE_RCBR, SE_RABK, _______, //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' - , , , , , + _______, _______, _______, _______, _______, _______ // `--------+--------+--------' `--------+--------+--------' ), [_RAISE] = LAYOUT( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. - SE_TILD, KC_EXLM, KC_GRV , KC_EQL , KC_DLR , KC_PERC, SE_PND , SE_EURO , SE_YEN, SE_RCBR, KC_RPRN, , + SE_TILD, KC_EXLM, KC_GRV , KC_EQL , KC_DLR , KC_PERC, SE_PND , SE_EURO , SE_YEN, SE_RCBR, KC_RPRN, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , SE_PIPE , SE_AT , KC_HASH, KC_DQT , KC_PERC, KC_PIPE, KC_7 , KC_8 , KC_9 , KC_PMNS, KC_PSLS, + _______ , SE_PIPE , SE_AT , KC_HASH, KC_DQT , KC_PERC, KC_PIPE, KC_7 , KC_8 , KC_9 , KC_PMNS, KC_PSLS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , SE_BSLS, SE_TILD, SE_SLSH, KC_AMPR, KC_BSLS, KC_COMM, KC_4 , KC_5 , KC_6 , KC_PPLS, KC_PAST, + _______ , SE_BSLS, SE_TILD, SE_SLSH, KC_AMPR, KC_BSLS, KC_COMM, KC_4 , KC_5 , KC_6 , KC_PPLS, KC_PAST, //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| - , KC_PIPE, SE_CURR, KC_PLUS, KC_CIRC, KC_TILD, , KC_PENT , KC_DOT , KC_1 , KC_2 , KC_3 , KC_0 , KC_PEQL, + _______ , KC_PIPE, SE_CURR, KC_PLUS, KC_CIRC, KC_TILD, _______ , KC_PENT , KC_DOT , KC_1 , KC_2 , KC_3 , KC_0 , KC_PEQL, //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' - , , KC_DEL , , , + _______ , _______ , KC_DEL , _______, _______, _______ // `--------+--------+--------' `--------+--------+--------' ), [_ADJUST] = LAYOUT( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. - GAMING , DVORAK, WORKMAN, COLEMAK, QWERTY , RESET, _______, _______, _______, _______, KC_PWR, RESET, + _______, GAMING , DVORAK , COLEMAK , QWERTY , RESET, _______, _______, _______, _______, KC_PWR, RESET, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, _______, _______,LGUI(KC_UP),_______,LALT(KC_F4), _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -176,42 +174,52 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} + bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } + if (record->event.pressed) {set_single_persistent_default_layer(_QWERTY);} return false; + case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DVORAK); - } + if (record->event.pressed) {set_single_persistent_default_layer(_DVORAK);} return false; + case NUMPAD: - if (record->event.pressed) { - set_single_persistent_default_layer(_NUMPAD); - } + if (record->event.pressed) {layer_invert(_NUMPAD);} return false; + case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } + if (record->event.pressed) {set_single_persistent_default_layer(_COLEMAK);} return false; - case WORKMAN: + + case GAMING: + if (record->event.pressed) {set_single_persistent_default_layer(_GAMING);} + return false; + + case LOWER: if (record->event.pressed) { - set_single_persistent_default_layer(_WORKMAN); + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; - case GAMING: + + case RAISE: if (record->event.pressed) { - set_single_persistent_default_layer(_GAMING); + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); } return false; + } return true; } From e527b375e849556da6592ca204ef35674e0d3de0 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 17 Mar 2021 15:56:45 +1100 Subject: [PATCH 021/250] TKC M0lly refactor (#12227) --- keyboards/tkc/m0lly/config.h | 140 ++++++-------- keyboards/tkc/m0lly/info.json | 190 ++++++++++--------- keyboards/tkc/m0lly/keymaps/default/keymap.c | 105 +++++----- keyboards/tkc/m0lly/keymaps/via/keymap.c | 149 ++++++++------- keyboards/tkc/m0lly/m0lly.c | 1 + keyboards/tkc/m0lly/m0lly.h | 23 ++- keyboards/tkc/m0lly/readme.md | 10 +- keyboards/tkc/m0lly/rules.mk | 21 +- 8 files changed, 307 insertions(+), 332 deletions(-) diff --git a/keyboards/tkc/m0lly/config.h b/keyboards/tkc/m0lly/config.h index bb222580669f..ebcda755c250 100644 --- a/keyboards/tkc/m0lly/config.h +++ b/keyboards/tkc/m0lly/config.h @@ -30,16 +30,21 @@ along with this program. If not, see . #define MATRIX_ROWS 5 #define MATRIX_COLS 19 -// ROWS: Top to bottom, COLS: Left to right -/* Row pin configuration -*/ -#define MATRIX_ROW_PINS { F2, F1, F0, E1, E0 } -/* Column pin configuration +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * */ +#define MATRIX_ROW_PINS { F2, F1, F0, E1, E0 } #define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, C1, C0, F5, F6, F7 } #define UNUSED_PINS -/* COL2ROW or ROW2COL */ +/* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW #define LED_NUM_LOCK_PIN D2 @@ -47,24 +52,44 @@ along with this program. If not, see . #define LED_SCROLL_LOCK_PIN D4 #define BACKLIGHT_PIN B6 -#define BACKLIGHT_BREATHING #define BACKLIGHT_LEVELS 3 +#define BACKLIGHT_BREATHING + -/* Underlight configuration - */ #define RGB_DI_PIN D7 -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 30 // Number of LEDs -#define RGBLIGHT_HUE_STEP 5 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 30 +# define RGBLIGHT_HUE_STEP 5 +# define RGBLIGHT_SAT_STEP 10 +# define RGBLIGHT_VAL_STEP 10 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 -/* define if matrix has ghost */ +/* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -75,6 +100,11 @@ along with this program. If not, see . #define QMK_LED D2 // NumLock on M0lly //#define QMK_SPEAKER C6 +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + /* * Force NKRO * @@ -96,54 +126,6 @@ along with this program. If not, see . */ //#define FORCE_NKRO -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP1 H -//#define MAGIC_KEY_HELP2 SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0_ALT1 ESC -//#define MAGIC_KEY_LAYER0_ALT2 GRAVE -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER PAUSE -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - /* * Feature disable options * These options are also useful to firmware size reduction. @@ -159,25 +141,11 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/tkc/m0lly/info.json b/keyboards/tkc/m0lly/info.json index f2ac456b16e0..d7a64a0e625c 100644 --- a/keyboards/tkc/m0lly/info.json +++ b/keyboards/tkc/m0lly/info.json @@ -1,97 +1,107 @@ { - "keyboard_name": "TKC M0LLY", - "url": "", - "maintainer": "qmk", - "width": 19.5, - "height": 5, + "keyboard_name": "TKC M0LLY", + "url": "", + "maintainer": "qmk", + "width": 19.5, + "height": 5, "layouts": { "LAYOUT_all": { "layout": [ - {"label":"~", "x":0, "y":0}, - {"label":"!", "x":1, "y":0}, - {"label":"@", "x":2, "y":0}, - {"label":"#", "x":3, "y":0}, - {"label":"$", "x":4, "y":0}, - {"label":"%", "x":5, "y":0}, - {"label":"^", "x":6, "y":0}, - {"label":"&", "x":7, "y":0}, - {"label":"*", "x":8, "y":0}, - {"label":"(", "x":9, "y":0}, - {"label":")", "x":10, "y":0}, - {"label":"_", "x":11, "y":0}, - {"label":"+", "x":12, "y":0}, - {"label":"Bksp", "x":13, "y":0}, - {"x":14, "y":0}, - {"label":"Num", "x":15.5, "y":0}, - {"label":"/", "x":16.5, "y":0}, - {"label":"*", "x":17.5, "y":0}, - {"label":"-", "x":18.5, "y":0}, - {"label":"Tab", "x":0, "y":1, "w":1.5}, - {"label":"Q", "x":1.5, "y":1}, - {"label":"W", "x":2.5, "y":1}, - {"label":"E", "x":3.5, "y":1}, - {"label":"R", "x":4.5, "y":1}, - {"label":"T", "x":5.5, "y":1}, - {"label":"Y", "x":6.5, "y":1}, - {"label":"U", "x":7.5, "y":1}, - {"label":"I", "x":8.5, "y":1}, - {"label":"O", "x":9.5, "y":1}, - {"label":"P", "x":10.5, "y":1}, - {"label":"{", "x":11.5, "y":1}, - {"label":"}", "x":12.5, "y":1}, - {"label":"|", "x":13.5, "y":1, "w":1.5}, - {"label":"7", "x":15.5, "y":1}, - {"label":"8", "x":16.5, "y":1}, - {"label":"9", "x":17.5, "y":1}, - {"x":18.5, "y":1}, - {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, - {"label":"A", "x":1.75, "y":2}, - {"label":"S", "x":2.75, "y":2}, - {"label":"D", "x":3.75, "y":2}, - {"label":"F", "x":4.75, "y":2}, - {"label":"G", "x":5.75, "y":2}, - {"label":"H", "x":6.75, "y":2}, - {"label":"J", "x":7.75, "y":2}, - {"label":"K", "x":8.75, "y":2}, - {"label":"L", "x":9.75, "y":2}, - {"label":":", "x":10.75, "y":2}, - {"label":"\"", "x":11.75, "y":2}, - {"label":"ISO ~", "x":12.75, "y":2}, - {"label":"Enter", "x":13.75, "y":2, "w":1.25}, - {"label":"4", "x":15.5, "y":2}, - {"label":"5", "x":16.5, "y":2}, - {"label":"6", "x":17.5, "y":2}, - {"label":"+", "x":18.5, "y":2}, - {"label":"Shift", "x":0, "y":3, "w":1.25}, - {"x":1.25, "y":3}, - {"label":"Z", "x":2.25, "y":3}, - {"label":"X", "x":3.25, "y":3}, - {"label":"C", "x":4.25, "y":3}, - {"label":"V", "x":5.25, "y":3}, - {"label":"B", "x":6.25, "y":3}, - {"label":"N", "x":7.25, "y":3}, - {"label":"M", "x":8.25, "y":3}, - {"label":"<", "x":9.25, "y":3}, - {"label":">", "x":10.25, "y":3}, - {"label":"?", "x":11.25, "y":3}, - {"label":"Shift", "x":12.25, "y":3, "w":1.75}, - {"x":14, "y":3}, - {"label":"1", "x":15.5, "y":3}, - {"label":"2", "x":16.5, "y":3}, - {"label":"3", "x":17.5, "y":3}, - {"x":18.5, "y":3}, - {"label":"Ctrl", "x":0, "y":4, "w":1.25}, - {"label":"Win", "x":1.25, "y":4, "w":1.25}, - {"label":"Alt", "x":2.5, "y":4, "w":1.25}, - {"x":3.75, "y":4, "w":6.25}, - {"label":"Alt", "x":10, "y":4, "w":1.25}, - {"label":"Win", "x":11.25, "y":4, "w":1.25}, - {"label":"FN", "x":12.5, "y":4, "w":1.25}, - {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, - {"label":"0", "x":15.5, "y":4}, - {"x":16.5, "y":4}, - {"label":".", "x":17.5, "y":4}, - {"label":"Ent", "x":18.5, "y":4}] + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 15.5, "y": 0}, + {"x": 16.5, "y": 0}, + {"x": 17.5, "y": 0}, + {"x": 18.5, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 15.5, "y": 1}, + {"x": 16.5, "y": 1}, + {"x": 17.5, "y": 1}, + {"x": 18.5, "y": 1}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2}, + {"x": 13.75, "y": 2, "w": 1.25}, + + {"x": 15.5, "y": 2}, + {"x": 16.5, "y": 2}, + {"x": 17.5, "y": 2}, + {"x": 18.5, "y": 2}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1.25, "y": 3}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 15.5, "y": 3}, + {"x": 16.5, "y": 3}, + {"x": 17.5, "y": 3}, + {"x": 18.5, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y": 4, "w": 1.25}, + {"x": 12.5, "y": 4, "w": 1.25}, + {"x": 13.75, "y": 4, "w": 1.25}, + + {"x": 15.5, "y": 4}, + {"x": 16.5, "y": 4}, + {"x": 17.5, "y": 4}, + {"x": 18.5, "y": 4} + ] } } } diff --git a/keyboards/tkc/m0lly/keymaps/default/keymap.c b/keyboards/tkc/m0lly/keymaps/default/keymap.c index 27e83cd21c68..03f07aff40b7 100644 --- a/keyboards/tkc/m0lly/keymaps/default/keymap.c +++ b/keyboards/tkc/m0lly/keymaps/default/keymap.c @@ -13,79 +13,80 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - -#include QMK_KEYBOARD_H -//Layers +#include QMK_KEYBOARD_H -enum { - BASE = 0, - FUNCTION, +enum layer_names { + _BASE, + _FUNC, }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap BASE: (Base Layer) Default Layer - * - * ,-----------------------------------------------------------. .-------------------. - * | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * | - | - * |-----------------------------------------------------------| |-------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | | 7 | 8 | 9 | | - * |-----------------------------------------------------------| |--------------| + | - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | | - * |-----------------------------------------------------------| |-------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent| - * |-----------------------------------------------------------| |--------------| | - * |Ctrl|Gui |Alt | Space | Alt | Win |FN |Ctr | | 0 | . | | - * `-----------------------------------------------------------' '-------------------' - */ - [BASE] = LAYOUT_all( - 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, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ - 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_P7, KC_P8, KC_P9, XXXXXXX, \ - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \ - KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_P1, KC_P2, KC_P3, XXXXXXX, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(FUNCTION), KC_RCTL, KC_P0, XXXXXXX, KC_PDOT, KC_PENT \ - ), - /* Keymap FUNCTION: (Function Layer) - * - * ,-----------------------------------------------------------. .-------------------. - * | | | | | | | | | | | | | | RESET | | | | | | - * |-----------------------------------------------------------| |-------------------| - * | | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |-------------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |-------------------| - * | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | | - * |-----------------------------------------------------------| |--------------| | - * | | | | | | | | | | | | | - * `-----------------------------------------------------------' '-------------------' - */ - [FUNCTION] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, \ - _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, \ - _______, _______, _______, _______, _______, _______, MO(FUNCTION), _______, _______, XXXXXXX, _______, _______ \ - ), + /* Base Layer + * + * ,-----------------------------------------------------------. .-------------------. + * | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * | - | + * |-----------------------------------------------------------| |-------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | | 7 | 8 | 9 | | + * |-----------------------------------------------------------| |--------------| + | + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | | + * |-----------------------------------------------------------| |-------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent| + * |-----------------------------------------------------------| |--------------| | + * |Ctrl|Gui |Alt | Space | Alt | Win |FN |Ctr | | 0 | . | | + * `-----------------------------------------------------------' '-------------------' + */ + [_BASE] = LAYOUT_all( + 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, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, XXXXXXX, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_P1, KC_P2, KC_P3, XXXXXXX, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(_FUNC), KC_RCTL, KC_P0, XXXXXXX, KC_PDOT, KC_PENT + ), + + /* Function Layer + * + * ,-----------------------------------------------------------. .-------------------. + * | | | | | | | | | | | | | | RESET | | | | | | + * |-----------------------------------------------------------| |-------------------| + * | | | | | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| |-------------------| + * | | | | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| |-------------------| + * | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | | + * |-----------------------------------------------------------| |--------------| | + * | | | | | | | | | | | | | + * `-----------------------------------------------------------' '-------------------' + */ + [_FUNC] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, + _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______ + ) }; #ifdef OLED_DRIVER_ENABLE void oled_task_user(void) { oled_write_P(PSTR("M0lly\n"),false); - // Host Keyboard Layer Status + + // Layer status oled_write_P(PSTR("Layer: "), false); switch (get_highest_layer(layer_state)) { - case BASE: + case _BASE: oled_write_P(PSTR("Base\n"), false); break; - case FUNCTION: + case _FUNC: oled_write_P(PSTR("Function\n"), false); break; default: // Or use the write_ln shortcut over adding '\n' to the end of your string oled_write_ln_P(PSTR("Undefined"), false); } - // Host Keyboard LED Status + + // Indicators led_t led_state = host_keyboard_led_state(); oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); diff --git a/keyboards/tkc/m0lly/keymaps/via/keymap.c b/keyboards/tkc/m0lly/keymaps/via/keymap.c index b72b8f035be0..4dd35169d4aa 100644 --- a/keyboards/tkc/m0lly/keymaps/via/keymap.c +++ b/keyboards/tkc/m0lly/keymaps/via/keymap.c @@ -13,101 +13,104 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - -#include QMK_KEYBOARD_H -//Layers +#include QMK_KEYBOARD_H -enum { - BASE = 0, - FUNCTION, - ALTERNATE, - LAST, +enum layer_names { + _BASE, + _FUNC1, + _FUNC2, + _FUNC3 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap BASE: (Base Layer) Default Layer - * - * ,-----------------------------------------------------------. .-------------------. - * | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * | - | - * |-----------------------------------------------------------| |-------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | | 7 | 8 | 9 | | - * |-----------------------------------------------------------| |--------------| + | - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | | - * |-----------------------------------------------------------| |-------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent| - * |-----------------------------------------------------------| |--------------| | - * |Ctrl|Gui |Alt | Space | Alt | Win |FN |Ctr | | 0 | . | | - * `-----------------------------------------------------------' '-------------------' - */ - [BASE] = LAYOUT_all( - 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, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - 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_P7, KC_P8, KC_P9, XXXXXXX, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_P1, KC_P2, KC_P3, XXXXXXX, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(FUNCTION), KC_RCTL, KC_P0, XXXXXXX, KC_PDOT, KC_PENT - ), - /* Keymap FUNCTION: (Function Layer) - * - * ,-----------------------------------------------------------. .-------------------. - * | | | | | | | | | | | | | | RESET | | | | | | - * |-----------------------------------------------------------| |-------------------| - * | | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |-------------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |-------------------| - * | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | | - * |-----------------------------------------------------------| |--------------| | - * | | | | | | | | | | | | | - * `-----------------------------------------------------------' '-------------------' - */ - [FUNCTION] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, - _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, - _______, _______, _______, _______, _______, _______, MO(FUNCTION), _______, _______, XXXXXXX, _______, _______ - ), - [ALTERNATE] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, - _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, - _______, _______, _______, _______, _______, _______, MO(FUNCTION), _______, _______, XXXXXXX, _______, _______ - ), - [LAST] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, - _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, - _______, _______, _______, _______, _______, _______, MO(FUNCTION), _______, _______, XXXXXXX, _______, _______ - ), + /* Base Layer + * + * ,-----------------------------------------------------------. .-------------------. + * | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * | - | + * |-----------------------------------------------------------| |-------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | | 7 | 8 | 9 | | + * |-----------------------------------------------------------| |--------------| + | + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | | + * |-----------------------------------------------------------| |-------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent| + * |-----------------------------------------------------------| |--------------| | + * |Ctrl|Gui |Alt | Space | Alt | Win |FN |Ctr | | 0 | . | | + * `-----------------------------------------------------------' '-------------------' + */ + [_BASE] = LAYOUT_all( + 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, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, XXXXXXX, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_P1, KC_P2, KC_P3, XXXXXXX, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(_FUNC1), KC_RCTL, KC_P0, XXXXXXX, KC_PDOT, KC_PENT + ), + + /* Function Layer + * + * ,-----------------------------------------------------------. .-------------------. + * | | | | | | | | | | | | | | RESET | | | | | | + * |-----------------------------------------------------------| |-------------------| + * | | | | | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| |-------------------| + * | | | | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| |-------------------| + * | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | | + * |-----------------------------------------------------------| |--------------| | + * | | | | | | | | | | | | | + * `-----------------------------------------------------------' '-------------------' + */ + [_FUNC1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, + _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______ + ), + + [_FUNC2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, + _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______ + ), + + [_FUNC3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, + _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______ + ) }; #ifdef OLED_DRIVER_ENABLE void oled_task_user(void) { oled_write_P(PSTR("M0lly\n"),false); - // Host Keyboard Layer Status + + // Layer Status oled_write_P(PSTR("Layer: "), false); switch (get_highest_layer(layer_state)) { - case BASE: + case _BASE: oled_write_P(PSTR("Base\n"), false); break; - case FUNCTION: - oled_write_P(PSTR("Function\n"), false); + case _FUNC1: + oled_write_P(PSTR("Func 1\n"), false); break; - case ALTERNATE: - oled_write_P(PSTR("Alternate\n"), false); + case _FUNC2: + oled_write_P(PSTR("Func 2\n"), false); break; - case LAST: - oled_write_P(PSTR("Last\n"), false); + case _FUNC3: + oled_write_P(PSTR("Func 3\n"), false); break; default: // Or use the write_ln shortcut over adding '\n' to the end of your string oled_write_ln_P(PSTR("Undefined"), false); } - // Host Keyboard LED Status + + // Indicators led_t led_state = host_keyboard_led_state(); oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); diff --git a/keyboards/tkc/m0lly/m0lly.c b/keyboards/tkc/m0lly/m0lly.c index e04407a35b32..137e1ce21ca4 100644 --- a/keyboards/tkc/m0lly/m0lly.c +++ b/keyboards/tkc/m0lly/m0lly.c @@ -13,6 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #include "m0lly.h" void keyboard_pre_init_kb(void) { diff --git a/keyboards/tkc/m0lly/m0lly.h b/keyboards/tkc/m0lly/m0lly.h index 0c62876efcee..ef4f0270f500 100644 --- a/keyboards/tkc/m0lly/m0lly.h +++ b/keyboards/tkc/m0lly/m0lly.h @@ -13,20 +13,23 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #pragma once #include "quantum.h" +#define XXX KC_NO + #define LAYOUT_all( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, K1G, K1H, K1I, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, K2G, K2H, K2I, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, K3G, K3H, K3I, \ - K40, K41, K42, K45, K49, K4B, K4C, K4D, K4F, K4G, K4H, K4I \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, k1G, k1H, k1I, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2F, k2G, k2H, k2I, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3F, k3G, k3H, k3I, \ + k40, k41, k42, k45, k49, k4B, k4C, k4D, k4F, k4G, k4H, k4I \ ) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO, K1F, K1G, K1H, K1I }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F, K2G, K2H, K2I }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, K3F, K3G, K3H, K3I }, \ - { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, KC_NO, K4B, K4C, K4D, KC_NO, K4F, K4G, K4H, K4I } \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F, k1G, k1H, k1I }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX, k2F, k2G, k2H, k2I }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, k3F, k3G, k3H, k3I }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, XXX, k4B, k4C, k4D, XXX, k4F, k4G, k4H, k4I } \ } diff --git a/keyboards/tkc/m0lly/readme.md b/keyboards/tkc/m0lly/readme.md index 9af80c7e9877..b175d45ee853 100644 --- a/keyboards/tkc/m0lly/readme.md +++ b/keyboards/tkc/m0lly/readme.md @@ -1,14 +1,12 @@ -The Key Company M0LLY +# The Key Company M0LLY [TKC M0LLY](https://cdn.shopify.com/s/files/1/1679/2319/files/Molly_Terminal_1024x1024.jpg?v=1529067702) - The Key Company's M0LLY keyboard is inspired by the Apple Macintosh M0110A, and utilizes the AT90USB1286 microcontroller. -Keyboard Maintainer: [Terry Mathews](https://github.com/TerryMathews/) -Hardware Supported: TKC M0LLY -Hardware Availability: [TheKey.Company](https://thekey.company) - +* Keyboard Maintainer: [Terry Mathews](https://github.com/TerryMathews/) +* Hardware Supported: TKC M0LLY +* Hardware Availability: [TheKey.Company](https://thekey.company) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/tkc/m0lly/rules.mk b/keyboards/tkc/m0lly/rules.mk index 05e629075946..01afbdd12f5a 100644 --- a/keyboards/tkc/m0lly/rules.mk +++ b/keyboards/tkc/m0lly/rules.mk @@ -2,19 +2,12 @@ MCU = at90usb1286 # 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 yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -23,10 +16,8 @@ COMMAND_ENABLE = yes # Commands for debug and configuration SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. -MIDI_ENABLE = no # MIDI controls -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 -OLED_DRIVER_ENABLE = yes \ No newline at end of file +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +OLED_DRIVER_ENABLE = yes From 563be8ca2a1445120fce79b0fc0c991af697d7bc Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue, 16 Mar 2021 23:57:51 -0500 Subject: [PATCH 022/250] Add bootmagic support for hub16 and hub20 (#12257) --- keyboards/hub16/readme.md | 9 +++++++++ keyboards/hub16/rules.mk | 2 +- keyboards/hub20/readme.md | 5 +++++ keyboards/hub20/rules.mk | 2 +- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/keyboards/hub16/readme.md b/keyboards/hub16/readme.md index db2822c8721e..f2bcf4b0a7c2 100755 --- a/keyboards/hub16/readme.md +++ b/keyboards/hub16/readme.md @@ -10,6 +10,15 @@ For more information regarding the keyboard, please visit the [Hub16 Website](ht Make example for this keyboard (after setting up your build environment): + make hub16:default + +Flashing example for this keyboard: + make hub16:default:flash +To reset the board into bootloader mode, do one of the following: + +* Press the reset switch between the center two USB-C ports while the board is plugged in +* Hold the top left key while connecting the USB cable (also erases persistent settings) + See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/hub16/rules.mk b/keyboards/hub16/rules.mk index b7f940198fcc..07d286c17f43 100755 --- a/keyboards/hub16/rules.mk +++ b/keyboards/hub16/rules.mk @@ -4,7 +4,7 @@ BOOTLOADER = caterina # Build Options CUSTOM_MATRIX = lite # Custom scanning of matrix -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/hub20/readme.md b/keyboards/hub20/readme.md index e2477b012da9..1abfa0dea84c 100755 --- a/keyboards/hub20/readme.md +++ b/keyboards/hub20/readme.md @@ -16,4 +16,9 @@ Flashing example for this keyboard: make hub20:default:flash +To reset the board into bootloader mode, do one of the following: + +* Press the reset switch between the center two USB-C ports while the board is plugged in +* Hold the top left key while connecting the USB cable (also erases persistent settings) + See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/hub20/rules.mk b/keyboards/hub20/rules.mk index b520ee35af96..9abb4f80a790 100644 --- a/keyboards/hub20/rules.mk +++ b/keyboards/hub20/rules.mk @@ -4,7 +4,7 @@ MCU = STM32F072 # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug From 314ef9df031b2c6ff84f4dd757498ff7b02dba60 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 16 Mar 2021 23:00:43 -0700 Subject: [PATCH 023/250] Pimentoso Paddino02 clean-up (#12263) * fork rules.mk to be version-specific * remove pimentoso/paddino02 as a keyboard target This commit makes it so QMK API doesn't identify pimentoso/paddino02 as a build target on its own, because there's no actionable code here. * add image to readme.md * unify rules.mk files to QMK AVR template - remove Bootloader selection comment block - sort Build Option rules - unify inline comments --- keyboards/pimentoso/paddino02/.noci | 0 keyboards/pimentoso/paddino02/readme.md | 2 ++ keyboards/pimentoso/paddino02/rev1/rules.mk | 24 +++++++++++++++++ .../pimentoso/paddino02/rev2/left/rules.mk | 24 +++++++++++++++++ .../pimentoso/paddino02/rev2/right/rules.mk | 24 +++++++++++++++++ keyboards/pimentoso/paddino02/rules.mk | 27 ------------------- 6 files changed, 74 insertions(+), 27 deletions(-) delete mode 100644 keyboards/pimentoso/paddino02/.noci delete mode 100755 keyboards/pimentoso/paddino02/rules.mk diff --git a/keyboards/pimentoso/paddino02/.noci b/keyboards/pimentoso/paddino02/.noci deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/keyboards/pimentoso/paddino02/readme.md b/keyboards/pimentoso/paddino02/readme.md index c49508c7d737..38e3d7b07967 100644 --- a/keyboards/pimentoso/paddino02/readme.md +++ b/keyboards/pimentoso/paddino02/readme.md @@ -1,5 +1,7 @@ # Paddino02 +![Paddino02](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/pimentoso/paddino02/img6_640.jpg) + 10-keys DIY mechanical macropad/gamepad. Features staggered columns, 2 thumb keys, symmetric PCB (you can build right-handed and left-handed versions with the same PCB). Project page on GitHub, with build steps and 3d-printable files: diff --git a/keyboards/pimentoso/paddino02/rev1/rules.mk b/keyboards/pimentoso/paddino02/rev1/rules.mk index e69de29bb2d1..c000c9ee1652 100644 --- a/keyboards/pimentoso/paddino02/rev1/rules.mk +++ b/keyboards/pimentoso/paddino02/rev1/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +KEY_LOCK_ENABLE = no # Allows locking any key. diff --git a/keyboards/pimentoso/paddino02/rev2/left/rules.mk b/keyboards/pimentoso/paddino02/rev2/left/rules.mk index e69de29bb2d1..c000c9ee1652 100755 --- a/keyboards/pimentoso/paddino02/rev2/left/rules.mk +++ b/keyboards/pimentoso/paddino02/rev2/left/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +KEY_LOCK_ENABLE = no # Allows locking any key. diff --git a/keyboards/pimentoso/paddino02/rev2/right/rules.mk b/keyboards/pimentoso/paddino02/rev2/right/rules.mk index e69de29bb2d1..c000c9ee1652 100755 --- a/keyboards/pimentoso/paddino02/rev2/right/rules.mk +++ b/keyboards/pimentoso/paddino02/rev2/right/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +KEY_LOCK_ENABLE = no # Allows locking any key. diff --git a/keyboards/pimentoso/paddino02/rules.mk b/keyboards/pimentoso/paddino02/rules.mk deleted file mode 100755 index 4c2dab1eef47..000000000000 --- a/keyboards/pimentoso/paddino02/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# 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 = caterina - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output on port C6 -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -KEY_LOCK_ENABLE = no # Allows locking any key. From ffc4380b307359d2b77819a59797a180d6e05c18 Mon Sep 17 00:00:00 2001 From: kaylanm <1063516+kaylanm@users.noreply.github.com> Date: Wed, 17 Mar 2021 02:17:40 -0400 Subject: [PATCH 024/250] [Keyboard] Add KMAC VIA keymap (#12224) --- keyboards/kmac/config.h | 4 +-- keyboards/kmac/keymaps/via/keymap.c | 49 +++++++++++++++++++++++++++++ keyboards/kmac/keymaps/via/rules.mk | 2 ++ 3 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 keyboards/kmac/keymaps/via/keymap.c create mode 100644 keyboards/kmac/keymaps/via/rules.mk diff --git a/keyboards/kmac/config.h b/keyboards/kmac/config.h index 7c9fcec3204b..45cbff9fa281 100644 --- a/keyboards/kmac/config.h +++ b/keyboards/kmac/config.h @@ -20,8 +20,8 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6050 +#define VENDOR_ID 0x4B4D // KM +#define PRODUCT_ID 0x4143 // AC #define DEVICE_VER 0x0104 #define MANUFACTURER KBDMania #define PRODUCT KMAC diff --git a/keyboards/kmac/keymaps/via/keymap.c b/keyboards/kmac/keymaps/via/keymap.c new file mode 100644 index 000000000000..ebae4a7eca7c --- /dev/null +++ b/keyboards/kmac/keymaps/via/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2017-2019 Mathias Andersson + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_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_PSCR, KC_SLCK, KC_BRK, + 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_INS, KC_HOME, KC_PGUP, + 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_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT_tkl_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + [2] = LAYOUT_tkl_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + [3] = LAYOUT_tkl_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; +// clang-format on diff --git a/keyboards/kmac/keymaps/via/rules.mk b/keyboards/kmac/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/kmac/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes From 90f95de5c992e695fa73ebf11116f6ea322815de Mon Sep 17 00:00:00 2001 From: devriesp Date: Tue, 16 Mar 2021 23:22:43 -0700 Subject: [PATCH 025/250] [Keyboard] add via keymap to afternoonlabs breeze keyboard (#12247) --- .../afternoonlabs/breeze/keymaps/via/keymap.c | 87 +++++++++++++++++++ .../breeze/keymaps/via/readme.md | 5 ++ .../afternoonlabs/breeze/keymaps/via/rules.mk | 10 +++ 3 files changed, 102 insertions(+) create mode 100644 keyboards/afternoonlabs/breeze/keymaps/via/keymap.c create mode 100644 keyboards/afternoonlabs/breeze/keymaps/via/readme.md create mode 100644 keyboards/afternoonlabs/breeze/keymaps/via/rules.mk diff --git a/keyboards/afternoonlabs/breeze/keymaps/via/keymap.c b/keyboards/afternoonlabs/breeze/keymaps/via/keymap.c new file mode 100644 index 000000000000..3ed084736f72 --- /dev/null +++ b/keyboards/afternoonlabs/breeze/keymaps/via/keymap.c @@ -0,0 +1,87 @@ +/* Copyright 2021 eithanshavit + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layer_names { + _MAIN, + _LOWER, + _RAISE, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DOWN, KC_RIGHT, + //└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, + //└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [3] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ) + + +}; diff --git a/keyboards/afternoonlabs/breeze/keymaps/via/readme.md b/keyboards/afternoonlabs/breeze/keymaps/via/readme.md new file mode 100644 index 000000000000..d8eb3bb5112f --- /dev/null +++ b/keyboards/afternoonlabs/breeze/keymaps/via/readme.md @@ -0,0 +1,5 @@ +# Default Breeze Layout + VIA support + +![Breeze Layout Image](https://i.imgur.com/O8FJWD6.jpeg) + +This is the default suggested layout for Breeze Split Keyboard, with VIA support. diff --git a/keyboards/afternoonlabs/breeze/keymaps/via/rules.mk b/keyboards/afternoonlabs/breeze/keymaps/via/rules.mk new file mode 100644 index 000000000000..5b5de19eedbf --- /dev/null +++ b/keyboards/afternoonlabs/breeze/keymaps/via/rules.mk @@ -0,0 +1,10 @@ +VIA_ENABLE = yes +# LTO: link time optimization makes the build take slightly longer +# but makes the resulting .hex file smaller, which allows you to +# fit more features into smaller MCUs: +LTO_ENABLE = yes +# Support for these features make the hex file larger, but we want 'em: +MOUSEKEY_ENABLE = yes # Allow mapping of mouse control keys +EXTRAKEY_ENABLE = yes # Allow audio & system control keys +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Support USB N-key roll over. From 163e9b02bfbe1618c00f4b7110d9b7f68c332b41 Mon Sep 17 00:00:00 2001 From: Matthew Dias Date: Wed, 17 Mar 2021 01:31:58 -0500 Subject: [PATCH 026/250] [Keyboard] Add barleycorn smd keyboard (#12200) --- keyboards/barleycorn_smd/barleycorn_smd.c | 16 + keyboards/barleycorn_smd/barleycorn_smd.h | 63 ++++ keyboards/barleycorn_smd/config.h | 111 +++++++ keyboards/barleycorn_smd/info.json | 283 ++++++++++++++++++ .../barleycorn_smd/keymaps/default/keymap.c | 34 +++ .../barleycorn_smd/keymaps/default/readme.md | 11 + keyboards/barleycorn_smd/keymaps/iso/keymap.c | 34 +++ .../barleycorn_smd/keymaps/iso/readme.md | 11 + keyboards/barleycorn_smd/keymaps/via/keymap.c | 48 +++ .../barleycorn_smd/keymaps/via/readme.md | 1 + keyboards/barleycorn_smd/keymaps/via/rules.mk | 1 + keyboards/barleycorn_smd/matrix.c | 138 +++++++++ keyboards/barleycorn_smd/readme.md | 19 ++ keyboards/barleycorn_smd/rules.mk | 27 ++ 14 files changed, 797 insertions(+) create mode 100644 keyboards/barleycorn_smd/barleycorn_smd.c create mode 100644 keyboards/barleycorn_smd/barleycorn_smd.h create mode 100644 keyboards/barleycorn_smd/config.h create mode 100644 keyboards/barleycorn_smd/info.json create mode 100644 keyboards/barleycorn_smd/keymaps/default/keymap.c create mode 100644 keyboards/barleycorn_smd/keymaps/default/readme.md create mode 100644 keyboards/barleycorn_smd/keymaps/iso/keymap.c create mode 100644 keyboards/barleycorn_smd/keymaps/iso/readme.md create mode 100644 keyboards/barleycorn_smd/keymaps/via/keymap.c create mode 100644 keyboards/barleycorn_smd/keymaps/via/readme.md create mode 100644 keyboards/barleycorn_smd/keymaps/via/rules.mk create mode 100644 keyboards/barleycorn_smd/matrix.c create mode 100644 keyboards/barleycorn_smd/readme.md create mode 100644 keyboards/barleycorn_smd/rules.mk diff --git a/keyboards/barleycorn_smd/barleycorn_smd.c b/keyboards/barleycorn_smd/barleycorn_smd.c new file mode 100644 index 000000000000..d70689d8fe09 --- /dev/null +++ b/keyboards/barleycorn_smd/barleycorn_smd.c @@ -0,0 +1,16 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "barleycorn_smd.h" diff --git a/keyboards/barleycorn_smd/barleycorn_smd.h b/keyboards/barleycorn_smd/barleycorn_smd.h new file mode 100644 index 000000000000..926b67b379c1 --- /dev/null +++ b/keyboards/barleycorn_smd/barleycorn_smd.h @@ -0,0 +1,63 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define XXX KC_NO + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, K0E, K0F, K0G, K0H, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, K1F, K1G, K1H, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, K2F, K2G, K2H, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H } \ +} + +#define LAYOUT_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, K0E, K0F, K0G, K0H, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, K1F, K1G, K1H, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, K2F, K2G, K2H, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H } \ +} + +#define LAYOUT_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, K0E, K0F, K0G, K0H, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, K1G, K1H, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H } \ +} diff --git a/keyboards/barleycorn_smd/config.h b/keyboards/barleycorn_smd/config.h new file mode 100644 index 000000000000..2ac86bf8a866 --- /dev/null +++ b/keyboards/barleycorn_smd/config.h @@ -0,0 +1,111 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +#define VENDOR_ID 0x7033 +#define PRODUCT_ID 0x4749 +#define DEVICE_VER 0x0001 +#define MANUFACTURER P3D Store +#define PRODUCT Barleycorn SMD + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 18 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ + +/* A Custom matrix.c is used to poll the port expander C6 shows that the pins are hardwired there */ +#define MATRIX_ROW_PINS { F5, F4, F1, F0, F6 } +#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, C7, D5, D5, D5, D5, D5, D5, D5, D5, D5, D5 } +#define UNUSED_PINS +#define PORT_EXPANDER_ADDRESS 0x20 + +#define RGB_DI_PIN E6 +#define RGBLED_NUM 15 +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 5 } + +#define LED_CAPS_LOCK_PIN B2 +#define LED_NUM_LOCK_PIN B3 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define USB_MAX_POWER_CONSUMPTION 400 + + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + + +/* + * 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 NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/barleycorn_smd/info.json b/keyboards/barleycorn_smd/info.json new file mode 100644 index 000000000000..c33f77a9b139 --- /dev/null +++ b/keyboards/barleycorn_smd/info.json @@ -0,0 +1,283 @@ +{ + "keyboard_name": "Barleycorn SMD", + "maintainer": "matthewdias", + "width": 19.5, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "0,0", "x": 0, "y": 0 }, + { "label": "0,1", "x": 1, "y": 0 }, + { "label": "0,2", "x": 2, "y": 0 }, + { "label": "0,3", "x": 3, "y": 0 }, + { "label": "0,4", "x": 4, "y": 0 }, + { "label": "0,5", "x": 5, "y": 0 }, + { "label": "0,6", "x": 6, "y": 0 }, + { "label": "0,7", "x": 7, "y": 0 }, + { "label": "0,8", "x": 8, "y": 0 }, + { "label": "0,9", "x": 9, "y": 0 }, + { "label": "0,10", "x": 10, "y": 0 }, + { "label": "0,11", "x": 11, "y": 0 }, + { "label": "0,12", "x": 12, "y": 0 }, + { "label": "0,13", "x": 13, "y": 0 }, + { "label": "1,13", "x": 14, "y": 0 }, + { "label": "0,14", "x": 15.5, "y": 0 }, + { "label": "0,15", "x": 16.5, "y": 0 }, + { "label": "0,16", "x": 17.5, "y": 0 }, + { "label": "0,17", "x": 18.5, "y": 0 }, + + { "label": "1,0", "x": 0, "y": 1, "w": 1.5 }, + { "label": "1,1", "x": 1.5, "y": 1 }, + { "label": "1,2", "x": 2.5, "y": 1 }, + { "label": "1,3", "x": 3.5, "y": 1 }, + { "label": "1,4", "x": 4.5, "y": 1 }, + { "label": "1,5", "x": 5.5, "y": 1 }, + { "label": "1,6", "x": 6.5, "y": 1 }, + { "label": "1,7", "x": 7.5, "y": 1 }, + { "label": "1,8", "x": 8.5, "y": 1 }, + { "label": "1,9", "x": 9.5, "y": 1 }, + { "label": "1,10", "x": 10.5, "y": 1 }, + { "label": "1,11", "x": 11.5, "y": 1 }, + { "label": "1,12", "x": 12.5, "y": 1 }, + { "label": "2,12", "x": 13.5, "y": 1, "w": 1.5 }, + { "label": "1,14", "x": 15.5, "y": 1 }, + { "label": "1,15", "x": 16.5, "y": 1 }, + { "label": "1,16", "x": 17.5, "y": 1 }, + { "label": "1,17", "x": 18.5, "y": 1 }, + + { "label": "2,0", "x": 0, "y": 2, "w": 1.75 }, + { "label": "2,1", "x": 1.75, "y": 2 }, + { "label": "2,2", "x": 2.75, "y": 2 }, + { "label": "2,3", "x": 3.75, "y": 2 }, + { "label": "2,4", "x": 4.75, "y": 2 }, + { "label": "2,5", "x": 5.75, "y": 2 }, + { "label": "2,6", "x": 6.75, "y": 2 }, + { "label": "2,7", "x": 7.75, "y": 2 }, + { "label": "2,8", "x": 8.75, "y": 2 }, + { "label": "2,9", "x": 9.75, "y": 2 }, + { "label": "2,10", "x": 10.75, "y": 2 }, + { "label": "2,11", "x": 11.75, "y": 2 }, + { "label": "2,13", "x": 12.75, "y": 2, "w": 2.25 }, + { "label": "2,14", "x": 15.5, "y": 2 }, + { "label": "2,15", "x": 16.5, "y": 2 }, + { "label": "2,16", "x": 17.5, "y": 2 }, + { "label": "2,17", "x": 18.5, "y": 2 }, + + { "label": "3,0", "x": 0, "y": 3, "w": 1.25 }, + { "label": "3,1", "x": 1.25, "y": 3 }, + { "label": "3,2", "x": 2.25, "y": 3 }, + { "label": "3,3", "x": 3.25, "y": 3 }, + { "label": "3,4", "x": 4.25, "y": 3 }, + { "label": "3,5", "x": 5.25, "y": 3 }, + { "label": "3,6", "x": 6.25, "y": 3 }, + { "label": "3,7", "x": 7.25, "y": 3 }, + { "label": "3,8", "x": 8.25, "y": 3 }, + { "label": "3,9", "x": 9.25, "y": 3 }, + { "label": "3,10", "x": 10.25, "y": 3 }, + { "label": "3,11", "x": 11.25, "y": 3 }, + { "label": "3,12", "x": 12.25, "y": 3, "w": 1.75 }, + { "label": "3,13", "x": 14.25, "y": 3.25 }, + { "label": "3,14", "x": 15.5, "y": 3 }, + { "label": "3,15", "x": 16.5, "y": 3 }, + { "label": "3,16", "x": 17.5, "y": 3 }, + { "label": "3,17", "x": 18.5, "y": 3 }, + + { "label": "4,0", "x": 0, "y": 4, "w": 1.25 }, + { "label": "4,1", "x": 1.25, "y": 4, "w": 1.25 }, + { "label": "4,2", "x": 2.5, "y": 4, "w": 1.25 }, + { "label": "4,6", "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "4,10", "x": 10, "y": 4, "w": 1.5 }, + { "label": "4,11", "x": 11.5, "y": 4, "w": 1.5 }, + { "label": "4,12", "x": 13.25, "y": 4.25 }, + { "label": "4,13", "x": 14.25, "y": 4.25 }, + { "label": "4,14", "x": 15.25, "y": 4.25 }, + { "label": "4,15", "x": 16.5, "y": 4 }, + { "label": "4,16", "x": 17.5, "y": 4 }, + { "label": "4,17", "x": 18.5, "y": 4 } + ] + }, + "LAYOUT_ansi": { + "layout": [ + { "label": "0,0", "x": 0, "y": 0 }, + { "label": "0,1", "x": 1, "y": 0 }, + { "label": "0,2", "x": 2, "y": 0 }, + { "label": "0,3", "x": 3, "y": 0 }, + { "label": "0,4", "x": 4, "y": 0 }, + { "label": "0,5", "x": 5, "y": 0 }, + { "label": "0,6", "x": 6, "y": 0 }, + { "label": "0,7", "x": 7, "y": 0 }, + { "label": "0,8", "x": 8, "y": 0 }, + { "label": "0,9", "x": 9, "y": 0 }, + { "label": "0,10", "x": 10, "y": 0 }, + { "label": "0,11", "x": 11, "y": 0 }, + { "label": "0,12", "x": 12, "y": 0 }, + { "label": "0,13", "x": 13, "y": 0 }, + { "label": "1,13", "x": 14, "y": 0 }, + { "label": "0,14", "x": 15.5, "y": 0 }, + { "label": "0,15", "x": 16.5, "y": 0 }, + { "label": "0,16", "x": 17.5, "y": 0 }, + { "label": "0,17", "x": 18.5, "y": 0 }, + + { "label": "1,0", "x": 0, "y": 1, "w": 1.5 }, + { "label": "1,1", "x": 1.5, "y": 1 }, + { "label": "1,2", "x": 2.5, "y": 1 }, + { "label": "1,3", "x": 3.5, "y": 1 }, + { "label": "1,4", "x": 4.5, "y": 1 }, + { "label": "1,5", "x": 5.5, "y": 1 }, + { "label": "1,6", "x": 6.5, "y": 1 }, + { "label": "1,7", "x": 7.5, "y": 1 }, + { "label": "1,8", "x": 8.5, "y": 1 }, + { "label": "1,9", "x": 9.5, "y": 1 }, + { "label": "1,10", "x": 10.5, "y": 1 }, + { "label": "1,11", "x": 11.5, "y": 1 }, + { "label": "1,12", "x": 12.5, "y": 1 }, + { "label": "2,12", "x": 13.5, "y": 1, "w": 1.5 }, + { "label": "1,14", "x": 15.5, "y": 1 }, + { "label": "1,15", "x": 16.5, "y": 1 }, + { "label": "1,16", "x": 17.5, "y": 1 }, + { "label": "1,17", "x": 18.5, "y": 1 }, + + { "label": "2,0", "x": 0, "y": 2, "w": 1.75 }, + { "label": "2,1", "x": 1.75, "y": 2 }, + { "label": "2,2", "x": 2.75, "y": 2 }, + { "label": "2,3", "x": 3.75, "y": 2 }, + { "label": "2,4", "x": 4.75, "y": 2 }, + { "label": "2,5", "x": 5.75, "y": 2 }, + { "label": "2,6", "x": 6.75, "y": 2 }, + { "label": "2,7", "x": 7.75, "y": 2 }, + { "label": "2,8", "x": 8.75, "y": 2 }, + { "label": "2,9", "x": 9.75, "y": 2 }, + { "label": "2,10", "x": 10.75, "y": 2 }, + { "label": "2,11", "x": 11.75, "y": 2 }, + { "label": "2,13", "x": 12.75, "y": 2, "w": 2.25 }, + { "label": "2,14", "x": 15.5, "y": 2 }, + { "label": "2,15", "x": 16.5, "y": 2 }, + { "label": "2,16", "x": 17.5, "y": 2 }, + { "label": "2,17", "x": 18.5, "y": 2 }, + + { "label": "3,0", "x": 0, "y": 3, "w": 2.25 }, + { "label": "3,2", "x": 2.25, "y": 3 }, + { "label": "3,3", "x": 3.25, "y": 3 }, + { "label": "3,4", "x": 4.25, "y": 3 }, + { "label": "3,5", "x": 5.25, "y": 3 }, + { "label": "3,6", "x": 6.25, "y": 3 }, + { "label": "3,7", "x": 7.25, "y": 3 }, + { "label": "3,8", "x": 8.25, "y": 3 }, + { "label": "3,9", "x": 9.25, "y": 3 }, + { "label": "3,10", "x": 10.25, "y": 3 }, + { "label": "3,11", "x": 11.25, "y": 3 }, + { "label": "3,12", "x": 12.25, "y": 3, "w": 1.75 }, + { "label": "3,13", "x": 14.25, "y": 3.25 }, + { "label": "3,14", "x": 15.5, "y": 3 }, + { "label": "3,15", "x": 16.5, "y": 3 }, + { "label": "3,16", "x": 17.5, "y": 3 }, + { "label": "3,17", "x": 18.5, "y": 3 }, + + { "label": "4,0", "x": 0, "y": 4, "w": 1.25 }, + { "label": "4,1", "x": 1.25, "y": 4, "w": 1.25 }, + { "label": "4,2", "x": 2.5, "y": 4, "w": 1.25 }, + { "label": "4,6", "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "4,10", "x": 10, "y": 4, "w": 1.5 }, + { "label": "4,11", "x": 11.5, "y": 4, "w": 1.5 }, + { "label": "4,12", "x": 13.25, "y": 4.25 }, + { "label": "4,13", "x": 14.25, "y": 4.25 }, + { "label": "4,14", "x": 15.25, "y": 4.25 }, + { "label": "4,15", "x": 16.5, "y": 4 }, + { "label": "4,16", "x": 17.5, "y": 4 }, + { "label": "4,17", "x": 18.5, "y": 4 } + ] + }, + "LAYOUT_iso": { + "layout": [ + { "label": "0,0", "x": 0, "y": 0 }, + { "label": "0,1", "x": 1, "y": 0 }, + { "label": "0,2", "x": 2, "y": 0 }, + { "label": "0,3", "x": 3, "y": 0 }, + { "label": "0,4", "x": 4, "y": 0 }, + { "label": "0,5", "x": 5, "y": 0 }, + { "label": "0,6", "x": 6, "y": 0 }, + { "label": "0,7", "x": 7, "y": 0 }, + { "label": "0,8", "x": 8, "y": 0 }, + { "label": "0,9", "x": 9, "y": 0 }, + { "label": "0,10", "x": 10, "y": 0 }, + { "label": "0,11", "x": 11, "y": 0 }, + { "label": "0,12", "x": 12, "y": 0 }, + { "label": "0,13", "x": 13, "y": 0 }, + { "label": "1,13", "x": 14, "y": 0 }, + { "label": "0,14", "x": 15.5, "y": 0 }, + { "label": "0,15", "x": 16.5, "y": 0 }, + { "label": "0,16", "x": 17.5, "y": 0 }, + { "label": "0,17", "x": 18.5, "y": 0 }, + + { "label": "1,0", "x": 0, "y": 1, "w": 1.5 }, + { "label": "1,1", "x": 1.5, "y": 1 }, + { "label": "1,2", "x": 2.5, "y": 1 }, + { "label": "1,3", "x": 3.5, "y": 1 }, + { "label": "1,4", "x": 4.5, "y": 1 }, + { "label": "1,5", "x": 5.5, "y": 1 }, + { "label": "1,6", "x": 6.5, "y": 1 }, + { "label": "1,7", "x": 7.5, "y": 1 }, + { "label": "1,8", "x": 8.5, "y": 1 }, + { "label": "1,9", "x": 9.5, "y": 1 }, + { "label": "1,10", "x": 10.5, "y": 1 }, + { "label": "1,11", "x": 11.5, "y": 1 }, + { "label": "1,12", "x": 12.5, "y": 1 }, + { "label": "1,14", "x": 15.5, "y": 1 }, + { "label": "1,15", "x": 16.5, "y": 1 }, + { "label": "1,16", "x": 17.5, "y": 1 }, + { "label": "1,17", "x": 18.5, "y": 1 }, + + { "label": "2,0", "x": 0, "y": 2, "w": 1.75 }, + { "label": "2,1", "x": 1.75, "y": 2 }, + { "label": "2,2", "x": 2.75, "y": 2 }, + { "label": "2,3", "x": 3.75, "y": 2 }, + { "label": "2,4", "x": 4.75, "y": 2 }, + { "label": "2,5", "x": 5.75, "y": 2 }, + { "label": "2,6", "x": 6.75, "y": 2 }, + { "label": "2,7", "x": 7.75, "y": 2 }, + { "label": "2,8", "x": 8.75, "y": 2 }, + { "label": "2,9", "x": 9.75, "y": 2 }, + { "label": "2,10", "x": 10.75, "y": 2 }, + { "label": "2,11", "x": 11.75, "y": 2 }, + { "label": "2,12", "x": 12.75, "y": 2 }, + { "label": "2,13", "x": 13.75, "y": 1, "w": 1.25, "h": 2 }, + { "label": "2,14", "x": 15.5, "y": 2 }, + { "label": "2,15", "x": 16.5, "y": 2 }, + { "label": "2,16", "x": 17.5, "y": 2 }, + { "label": "2,17", "x": 18.5, "y": 2 }, + + { "label": "3,0", "x": 0, "y": 3, "w": 1.25 }, + { "label": "3,1", "x": 1.25, "y": 3 }, + { "label": "3,2", "x": 2.25, "y": 3 }, + { "label": "3,3", "x": 3.25, "y": 3 }, + { "label": "3,4", "x": 4.25, "y": 3 }, + { "label": "3,5", "x": 5.25, "y": 3 }, + { "label": "3,6", "x": 6.25, "y": 3 }, + { "label": "3,7", "x": 7.25, "y": 3 }, + { "label": "3,8", "x": 8.25, "y": 3 }, + { "label": "3,9", "x": 9.25, "y": 3 }, + { "label": "3,10", "x": 10.25, "y": 3 }, + { "label": "3,11", "x": 11.25, "y": 3 }, + { "label": "3,12", "x": 12.25, "y": 3, "w": 1.75 }, + { "label": "3,13", "x": 14.25, "y": 3.25 }, + { "label": "3,14", "x": 15.5, "y": 3 }, + { "label": "3,15", "x": 16.5, "y": 3 }, + { "label": "3,16", "x": 17.5, "y": 3 }, + { "label": "3,17", "x": 18.5, "y": 3 }, + + { "label": "4,0", "x": 0, "y": 4, "w": 1.25 }, + { "label": "4,1", "x": 1.25, "y": 4, "w": 1.25 }, + { "label": "4,2", "x": 2.5, "y": 4, "w": 1.25 }, + { "label": "4,6", "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "4,10", "x": 10, "y": 4, "w": 1.5 }, + { "label": "4,11", "x": 11.5, "y": 4, "w": 1.5 }, + { "label": "4,12", "x": 13.25, "y": 4.25 }, + { "label": "4,13", "x": 14.25, "y": 4.25 }, + { "label": "4,14", "x": 15.25, "y": 4.25 }, + { "label": "4,15", "x": 16.5, "y": 4 }, + { "label": "4,16", "x": 17.5, "y": 4 }, + { "label": "4,17", "x": 18.5, "y": 4 } + ] + } + } +} diff --git a/keyboards/barleycorn_smd/keymaps/default/keymap.c b/keyboards/barleycorn_smd/keymaps/default/keymap.c new file mode 100644 index 000000000000..8bfc60ad4b05 --- /dev/null +++ b/keyboards/barleycorn_smd/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +//This is the ANSI version of the PCB + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_ansi( /* Base */ + KC_GESC, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PEQL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_BSPC, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), + +[1] = LAYOUT_ansi( /* FN */ + KC_GRV, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; diff --git a/keyboards/barleycorn_smd/keymaps/default/readme.md b/keyboards/barleycorn_smd/keymaps/default/readme.md new file mode 100644 index 000000000000..04903f8cc903 --- /dev/null +++ b/keyboards/barleycorn_smd/keymaps/default/readme.md @@ -0,0 +1,11 @@ +# The default keymap for Barleycorn + +![Layer 0](https://i.imgur.com/cU9lzz3.png) + +![Layer 1](https://i.imgur.com/0G3e1K3.png) + +Default layer is normal ANSI and Fn layer is used for Volume control and arrow cluster. + +Alternative ANSI layouts: + +![Alt Keymap](https://i.imgur.com/6uAx8jZ.png) diff --git a/keyboards/barleycorn_smd/keymaps/iso/keymap.c b/keyboards/barleycorn_smd/keymaps/iso/keymap.c new file mode 100644 index 000000000000..0f739c8831ac --- /dev/null +++ b/keyboards/barleycorn_smd/keymaps/iso/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +//This is the ISO version of the PCB + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_iso( /* Base */ + KC_GESC, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PEQL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_BSPC, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), + +[1] = LAYOUT_iso( /* FN */ + KC_GRV, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; diff --git a/keyboards/barleycorn_smd/keymaps/iso/readme.md b/keyboards/barleycorn_smd/keymaps/iso/readme.md new file mode 100644 index 000000000000..492abfcecc49 --- /dev/null +++ b/keyboards/barleycorn_smd/keymaps/iso/readme.md @@ -0,0 +1,11 @@ +# The default keymap for ISO Barleycorn + +![Layer 0](https://i.imgur.com/llZlVHt.png) + +![Layer 1](https://i.imgur.com/hrYtMQk.png) + +Default layer is normal ISO and Fn layer is used for Volume control and arrow cluster + +Alternative ISO layouts: + +![Alt Keymap](https://i.imgur.com/2cL0IGQ.png) diff --git a/keyboards/barleycorn_smd/keymaps/via/keymap.c b/keyboards/barleycorn_smd/keymaps/via/keymap.c new file mode 100644 index 000000000000..4cc2f1a73ffd --- /dev/null +++ b/keyboards/barleycorn_smd/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2021 Matthew Dias + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// This keymaps is used for VIA, it reflects the default keymap. + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( /* Base */ + KC_GESC, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PEQL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_BSPC, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), + +[1] = LAYOUT_all( /* FN */ + KC_GRV, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +[2] = LAYOUT_all( /* Empty for dynamic keymaps */ + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +[3] = LAYOUT_all( /* Empty for dynamic keymaps */ + 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; diff --git a/keyboards/barleycorn_smd/keymaps/via/readme.md b/keyboards/barleycorn_smd/keymaps/via/readme.md new file mode 100644 index 000000000000..b82bc8e79f9c --- /dev/null +++ b/keyboards/barleycorn_smd/keymaps/via/readme.md @@ -0,0 +1 @@ +# Compile with this keymap to use VIA diff --git a/keyboards/barleycorn_smd/keymaps/via/rules.mk b/keyboards/barleycorn_smd/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/barleycorn_smd/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/barleycorn_smd/matrix.c b/keyboards/barleycorn_smd/matrix.c new file mode 100644 index 000000000000..b717452f3d2e --- /dev/null +++ b/keyboards/barleycorn_smd/matrix.c @@ -0,0 +1,138 @@ +/* +Copyright 2021 Matthew Dias + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include +#include +#include "wait.h" +#include "quantum.h" +#include "i2c_master.h" + +static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; + +static void unselect_rows(void) { + for(uint8_t x = 0; x < MATRIX_ROWS; x++) { + setPinInputHigh(row_pins[x]); + } +} + +static void select_row(uint8_t row) { + setPinOutput(row_pins[row]); + writePinLow(row_pins[row]); +} + +static void unselect_row(uint8_t row) { + setPinInputHigh(row_pins[row]); +} + +static void init_pins(void) { + unselect_rows(); + // Set I/O + uint8_t send_data[2] = { 0xFF, 0x03}; + i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data[0], 2, 20); + // Set Pull-up + i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x0C, &send_data[0], 2, 20); + + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + if ( x < 8 ) { + setPinInputHigh(col_pins[x]); + } + } +} + +void matrix_init_custom(void) { + // TODO: initialize hardware here + // Initialize I2C + i2c_init(); + + // initialize key pins + init_pins(); + wait_ms(50); +} + +static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { + // Store last value of row prior to reading + matrix_row_t last_row_value = current_matrix[current_row]; + + // Clear data in matrix row + current_matrix[current_row] = 0; + + // Select row and wait for row selecton to stabilize + select_row(current_row); + matrix_io_delay(); + + uint8_t port_expander_col_buffer[2]; + i2c_readReg((PORT_EXPANDER_ADDRESS << 1), 0x12, &port_expander_col_buffer[0], 2, 20); + + // For each col... + for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + uint8_t pin_state; + // Select the col pin to read (active low) + switch (col_index) { + case 8 : + pin_state = port_expander_col_buffer[0] & (1 << 0); + break; + case 9 : + pin_state = port_expander_col_buffer[0] & (1 << 1); + break; + case 10 : + pin_state = port_expander_col_buffer[0] & (1 << 2); + break; + case 11 : + pin_state = port_expander_col_buffer[0] & (1 << 3); + break; + case 12 : + pin_state = port_expander_col_buffer[0] & (1 << 4); + break; + case 13 : + pin_state = port_expander_col_buffer[0] & (1 << 5); + break; + case 14 : + pin_state = port_expander_col_buffer[0] & (1 << 6); + break; + case 15 : + pin_state = port_expander_col_buffer[0] & (1 << 7); + break; + case 16 : + pin_state = port_expander_col_buffer[1] & (1 << 0); + break; + case 17 : + pin_state = port_expander_col_buffer[1] & (1 << 1); + break; + default : + pin_state = readPin(col_pins[col_index]); + } + + // Populate the matrix row with the state of the col pin + current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + } + + // Unselect row + unselect_row(current_row); + + return (last_row_value != current_matrix[current_row]); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool matrix_has_changed = false; + + // Set row, read cols + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { + matrix_has_changed |= read_cols_on_row(current_matrix, current_row); + } + + return matrix_has_changed; +} diff --git a/keyboards/barleycorn_smd/readme.md b/keyboards/barleycorn_smd/readme.md new file mode 100644 index 000000000000..897e1270fe9b --- /dev/null +++ b/keyboards/barleycorn_smd/readme.md @@ -0,0 +1,19 @@ +# Barleycorn SMD + +![image](https://user-images.githubusercontent.com/3302524/110901245-a5679b00-82c9-11eb-8f8f-17ed6bd97332.png) + +An f-row less compact 1800 keyboard with SMD components. Based on Barleycorn by Yiancar. + +- Keyboard Maintainer: matthewdias +- Hardware Supported: Barleycorn SMD +- Hardware Availability: https://p3dstore.com + +Make example for this keyboard (after setting up your build environment): + + make barleycorn_smd:default + +Flashing example for this keyboard: + + make barleycorn_smd: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). diff --git a/keyboards/barleycorn_smd/rules.mk b/keyboards/barleycorn_smd/rules.mk new file mode 100644 index 000000000000..fba31123d08a --- /dev/null +++ b/keyboards/barleycorn_smd/rules.mk @@ -0,0 +1,27 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +CUSTOM_MATRIX = lite + +SRC += matrix.c +QUANTUM_LIB_SRC += i2c_master.c From 23765332fa5c99aef876031879615fd49ed09932 Mon Sep 17 00:00:00 2001 From: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Wed, 17 Mar 2021 15:47:18 +0900 Subject: [PATCH 027/250] [Keyboard] Modification of ErgoArrows info.json (#11980) The order of key descriptions in ErgoArrows info.json was wrong, so it has been corrected. --- keyboards/ergoarrows/info.json | 103 +++++++++++++++++---------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/keyboards/ergoarrows/info.json b/keyboards/ergoarrows/info.json index b3e74340673a..fca43fcd2de2 100644 --- a/keyboards/ergoarrows/info.json +++ b/keyboards/ergoarrows/info.json @@ -7,81 +7,82 @@ "layouts": { "LAYOUT": { "layout": [ - {"label":"#", "x":3.5, "y":0}, - {"label":"*", "x":12.25, "y":0}, - {"label":"@", "x":2.5, "y":0.125}, - {"label":"$", "x":4.5, "y":0.125}, - {"label":"&", "x":11.25, "y":0.13}, - {"label":"(", "x":13.25, "y":0.13}, - {"label":"%", "x":5.5, "y":0.25}, - {"label":"^", "x":10.25, "y":0.25}, - {"label":"!", "x":1.5, "y":0.375}, {"label":"Esc", "x":0.5, "y":0.38}, - {"label":")", "x":14.25, "y":0.38}, + {"label":"1", "x":1.5, "y":0.375}, + {"label":"2", "x":2.5, "y":0.125}, + {"label":"3", "x":3.5, "y":0}, + {"label":"4", "x":4.5, "y":0.125}, + {"label":"5", "x":5.5, "y":0.25}, + {"label":"6", "x":6.5, "y":0.5}, + {"label":"5", "x":9.25, "y":0.5}, + {"label":"6", "x":10.25, "y":0.25}, + {"label":"7", "x":11.25, "y":0.13}, + {"label":"8", "x":12.25, "y":0}, + {"label":"9", "x":13.25, "y":0.13}, + {"label":"0", "x":14.25, "y":0.38}, {"label":"PrtScr", "x":15.25, "y":0.38}, - {"x":6.5, "y":0.5}, {"x":9.25, "y":0.5}, - {"label":"E", "x":3.5, "y":1}, - {"label":"I", "x":12.25, "y":1}, + {"label":"Tab", "x":0.5, "y":1.38}, + {"label":"Q", "x":1.5, "y":1.375}, {"label":"W", "x":2.5, "y":1.125}, + {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1.125}, - {"label":"U", "x":11.25, "y":1.13}, - {"label":"O", "x":13.25, "y":1.13}, {"label":"T", "x":5.5, "y":1.25}, + {"label":"Y", "x":6.5, "y":1.5}, + {"label":"T", "x":9.25, "y":1.5}, {"label":"Y", "x":10.25, "y":1.25}, - {"label":"Q", "x":1.5, "y":1.375}, - {"label":"Tab", "x":0.5, "y":1.38}, + {"label":"U", "x":11.25, "y":1.13}, + {"label":"I", "x":12.25, "y":1}, + {"label":"O", "x":13.25, "y":1.13}, {"label":"P", "x":14.25, "y":1.38}, - {"label":"\u2019", "x":15.25, "y":1.38}, - {"label":"[", "x":6.5, "y":1.5}, - {"label":"]", "x":9.25, "y":1.5}, - {"label":"D", "x":3.5, "y":2}, - {"label":"K", "x":12.25, "y":2}, + {"label":"[", "x":15.25, "y":1.38}, + {"label":"Caps", "x":0.5, "y":2.38}, + {"label":"A", "x":1.5, "y":2.375}, {"label":"S", "x":2.5, "y":2.125}, + {"label":"D", "x":3.5, "y":2}, {"label":"F", "x":4.5, "y":2.125}, - {"label":"J", "x":11.25, "y":2.13}, - {"label":"L", "x":13.25, "y":2.13}, {"label":"G", "x":5.5, "y":2.25}, + {"label":"H", "x":6.5, "y":2.5}, + {"label":"G", "x":9.25, "y":2.5}, {"label":"H", "x":10.25, "y":2.25}, - {"label":"A", "x":1.5, "y":2.375}, - {"label":"Caps", "x":0.5, "y":2.38}, + {"label":"J", "x":11.25, "y":2.13}, + {"label":"K", "x":12.25, "y":2}, + {"label":"L", "x":13.25, "y":2.13}, {"label":":", "x":14.25, "y":2.38}, {"label":"Ent", "x":15.25, "y":2.38}, - {"label":"(", "x":6.5, "y":2.5}, - {"label":")", "x":9.25, "y":2.5}, - {"label":"C", "x":3.5, "y":3}, - {"label":"<", "x":12.25, "y":3}, + {"label":"Shift", "x":0.5, "y":3.38}, + {"label":"Z", "x":1.5, "y":3.375}, {"label":"X", "x":2.5, "y":3.125}, + {"label":"C", "x":3.5, "y":3}, {"label":"V", "x":4.5, "y":3.125}, - {"label":"M", "x":11.25, "y":3.13}, - {"label":">", "x":13.25, "y":3.13}, {"label":"B", "x":5.5, "y":3.25}, + {"label":"N", "x":6.5, "y":3.5}, + {"label":"B", "x":9.25, "y":3.5}, {"label":"N", "x":10.25, "y":3.25}, - {"label":"Z", "x":1.5, "y":3.375}, - {"label":"Shift", "x":0.5, "y":3.38}, + {"label":"M", "x":11.25, "y":3.13}, + {"label":"<", "x":12.25, "y":3}, + {"label":">", "x":13.25, "y":3.13}, {"label":"?", "x":14.25, "y":3.38}, {"label":"_", "x":15.25, "y":3.38}, - {"x":6.5, "y":3.5}, - {"x":9.25, "y":3.5}, - {"label":"Ctrl", "x":0.5, "y":4.375}, + {"label":"Ctrl", "x":0.5, "y":4.38}, {"label":"Win", "x":1.5, "y":4.38}, - {"label":"\u7121\u5909", "x":3.75, "y":4.38}, + {"label":"↑", "x":2.63, "y":4.51}, + {"label":"Alt", "x":3.75, "y":4.38}, {"label":"Ent", "x":4.75, "y":4.38}, - {"label":"Spc", "x":11, "y":4.38}, - {"label":"\u5909\u63db", "x":12, "y":4.38}, - {"label":"Alt", "x":14.25, "y":4.38}, - {"label":"App", "x":15.25, "y":4.38}, - {"label":"\u2191", "x":2.625, "y":4.505}, - {"label":"\u2191", "x":13.13, "y":4.51}, {"label":"BS", "x":5.85, "y":4.6}, - {"label":"Del", "x":9.9, "y":4.6}, {"label":"Del", "x":6.9, "y":5.15}, {"label":"BS", "x":8.85, "y":5.15}, - {"label":"\u2190", "x":1.625, "y":5.505}, - {"label":"\u2193", "x":2.625, "y":5.505}, - {"label":"\u2192", "x":3.625, "y":5.505}, - {"label":"\u2190", "x":12.13, "y":5.51}, - {"label":"\u2193", "x":13.13, "y":5.51}, - {"label":"\u2192", "x":14.13, "y":5.51}] + {"label":"Del", "x":9.9, "y":4.6}, + {"label":"Spc", "x":11, "y":4.38}, + {"label":"Alt", "x":12, "y":4.38}, + {"label":"↑", "x":13.13, "y":4.51}, + {"label":"Alt", "x":14.25, "y":4.38}, + {"label":"App", "x":15.25, "y":4.38}, + {"label":"←", "x":1.63, "y":5.51}, + {"label":"⇓", "x":2.63, "y":5.51}, + {"label":"→", "x":3.625, "y":5.51}, + {"label":"←", "x":12.13, "y":5.51}, + {"label":"⇓", "x":13.13, "y":5.51}, + {"label":"→", "x":14.13, "y":5.51}] } } } \ No newline at end of file From 538194344a010e7876c278b10e513ec1e6b245d2 Mon Sep 17 00:00:00 2001 From: im a can what do you think lmao? <33337640+lyso1@users.noreply.github.com> Date: Wed, 17 Mar 2021 02:48:03 -0400 Subject: [PATCH 028/250] [Keyboard] add oled and encoder function to lck75 (#11825) Co-authored-by: Drashna Jaelre --- keyboards/lck75/config.h | 3 - keyboards/lck75/glcdfont.c | 18 --- keyboards/lck75/keymaps/default/keymap.c | 135 ----------------------- keyboards/lck75/lck75.c | 132 +++++++++++++++++++++- keyboards/lck75/rules.mk | 1 + 5 files changed, 130 insertions(+), 159 deletions(-) delete mode 100644 keyboards/lck75/glcdfont.c diff --git a/keyboards/lck75/config.h b/keyboards/lck75/config.h index f5834960e899..3758afa189c1 100644 --- a/keyboards/lck75/config.h +++ b/keyboards/lck75/config.h @@ -83,9 +83,6 @@ along with this program. If not, see . # undef LOCKING_RESYNC_ENABLE #endif - -#define OLED_FONT_H "keyboards/lck75/glcdfont.c" - #define IGNORE_MOD_TAP_INTERRUPT #define PERMISSIVE_HOLD #define TAPPING_TERM 200 diff --git a/keyboards/lck75/glcdfont.c b/keyboards/lck75/glcdfont.c deleted file mode 100644 index ed46ad56f929..000000000000 --- a/keyboards/lck75/glcdfont.c +++ /dev/null @@ -1,18 +0,0 @@ -// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. -// See gfxfont.h for newer custom bitmap font info. -// https://helixfonteditor.netlify.com/ - -#include "progmem.h" - -// Standard ASCII 5x7 font -const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x60, 0x30, 0x18, 0xF8, 0x18, 0x00, 0xC0, 0x70, 0x1C, 0x06, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0xC3, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, 0x1C, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1C, 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xF8, 0x0C, 0x04, 0xE7, 0xE4, 0xE4, 0x07, 0x04, 0xE4, 0xE7, 0xE4, 0x04, 0x07, 0xE4, 0xE4, 0xE7, 0x04, 0x0C, 0xF8, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, 0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x77, 0x77, 0x77, 0x00, 0x77, 0x77, - 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, 0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x60, 0x70, 0x3E, 0x1F, 0x19, 0x18, 0x0C, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0C, 0x06, 0x07, 0xFC, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x80, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x1C, 0x22, 0x00, 0x00, 0x1C, 0x3E, 0x7F, 0x63, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0xFF, 0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x38, 0x30, 0xFF, 0xFF, 0xFF, 0x30, 0x38, 0x3F, 0x1F, 0x0F, 0x00, 0x00, 0xFF, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x40, 0x60, 0x6A, 0x64, 0x6A, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x42, 0x69, 0x65, 0x65, 0x65, 0x69, 0x42, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, 0x00, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x00, 0x00, 0x00, 0xF0, 0x90, 0x90, 0xF0, 0x90, 0x90, 0xF0, 0x98, 0x9C, 0xF2, 0x22, 0x21, 0xE1, 0x01, 0x01, 0x01, 0xF1, 0x91, 0x91, 0xFA, 0x4C, 0x4C, 0xF8, 0x48, 0x48, 0xF8, 0x48, 0x48, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0E, 0x18, 0x30, 0x21, 0x21, 0x31, 0x18, 0x10, 0x30, 0x20, 0x60, 0x41, 0x60, 0x20, 0x30, 0x18, 0x30, 0x60, 0x40, 0x40, 0x47, 0x4C, 0x48, 0x68, 0x38, 0x1C, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x63, 0x7F, 0x3E, 0x1C, - 0x00, 0x00, 0x22, 0x1C, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x0F, 0x18, 0x10, 0x70, 0x10, 0x10, 0x70, 0x10, 0x13, 0x73, 0x13, 0x10, 0x70, 0x10, 0x10, 0x70, 0x10, 0x18, 0x0F, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1, 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x38, 0xFC, 0xED, 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00, 0x08, 0x0C, 0x7E, 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x09, 0x09, 0x09, 0x0F, 0x09, 0x09, 0x0F, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0F, 0x09, 0x09, 0x0F, 0x09, 0x09, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x07, 0x04, 0x04, 0x07, 0x04, 0x04, 0x0F, 0x09, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x07, 0x02, 0x02, 0x03, 0x02, 0x02, 0x03, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; \ No newline at end of file diff --git a/keyboards/lck75/keymaps/default/keymap.c b/keyboards/lck75/keymaps/default/keymap.c index 66958417cc9b..694b42a6883e 100644 --- a/keyboards/lck75/keymaps/default/keymap.c +++ b/keyboards/lck75/keymaps/default/keymap.c @@ -1,5 +1,4 @@ /* Copyright 2020 Lyso1/Lysol#5640(board/layout code) - * Copyright 2020 @wafflekeebs/@waffle#6666(oled code) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or @@ -17,16 +16,6 @@ -void encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } -} - // @@ -51,127 +40,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -extern uint8_t is_master; - -#define IDLE_FRAMES 5 -#define IDLE_SPEED 30 -#define TAP_FRAMES 2 -#define TAP_SPEED 40 -#define ANIM_FRAME_DURATION 200 -#define ANIM_SIZE 512 - -bool gui_on = true; -uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; -uint8_t current_idle_frame = 0; -uint8_t current_tap_frame = 0; - -static void render_anim(void) { - - static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = { - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,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,128,128,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,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, - 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,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,0,0,0,0,0,0,0,0,0,0 - }, - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,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,128,128,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,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, - 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8, - 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,0,0,0,0,0,0,0,0,0,0 - }, - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,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,128,128,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,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32, - 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,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,0,0,0,0,0,0,0,0,0,0 - }, - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,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,128,128,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,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, - 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8, - 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,0,0,0,0,0,0,0,0,0,0 - }, - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,64,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,128,128,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,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64, - 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,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,0,0,0,0,0,0,0,0,0,0 - } - - }; - - static const char PROGMEM prep[][ANIM_SIZE] = { - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,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,128,128,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,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64, - 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - } - - }; - - static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = { - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,128,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,128,128,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,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159, - 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1, - 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,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,128,128,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,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32, - 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,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 - } - - }; - - void animation_phase(void) { - - if (get_current_wpm() <=IDLE_SPEED) { - current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES; - oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE); - } - - if (get_current_wpm() >IDLE_SPEED && get_current_wpm() =TAP_SPEED) { - current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES; - oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE); - } - } - - if (get_current_wpm() > 0) { - - oled_on(); - - if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - - anim_sleep = timer_read32(); - } else { - if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - oled_off(); - } else { - if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - } - } -} -#ifdef OLED_DRIVER_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; -} - -__attribute__((weak)) void oled_task_user(void) { - render_anim(); -} -#endif diff --git a/keyboards/lck75/lck75.c b/keyboards/lck75/lck75.c index 5851232e65b2..3bcf350a1943 100644 --- a/keyboards/lck75/lck75.c +++ b/keyboards/lck75/lck75.c @@ -1,5 +1,4 @@ -/* Copyright 2020 Lyso1 - * +/* Copyright 2021 Lyso1/ItsWaffle(oled code) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or @@ -13,5 +12,132 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ +#include "lck75.h" + +__attribute__((weak)) void encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } +} + +#define IDLE_FRAMES 5 +#define IDLE_SPEED 30 +#define TAP_FRAMES 2 +#define TAP_SPEED 40 +#define ANIM_FRAME_DURATION 200 +#define ANIM_SIZE 512 +#ifdef OLED_DRIVER_ENABLE +__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + +__attribute__((weak)) void oled_task_user(void) { +uint32_t anim_timer = 0; +uint32_t anim_sleep = 0; +uint8_t current_idle_frame = 0; +uint8_t current_tap_frame = 0; + + static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = { + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,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,128,128,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,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, + 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,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,0,0,0,0,0,0,0,0,0,0 + }, + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,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,128,128,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,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, + 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8, + 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,0,0,0,0,0,0,0,0,0,0 + }, + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,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,128,128,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,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32, + 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,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,0,0,0,0,0,0,0,0,0,0 + }, + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,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,128,128,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,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, + 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8, + 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,0,0,0,0,0,0,0,0,0,0 + }, + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,64,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,64,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,128,128,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,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64, + 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,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,0,0,0,0,0,0,0,0,0,0 + } + + }; + + static const char PROGMEM prep[][ANIM_SIZE] = { + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,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,128,128,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,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64, + 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + } + + }; + + static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = { + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,128,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,128,128,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,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159, + 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1, + 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + }, + + { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,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,128,128,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,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32, + 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,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 + } + + }; + + void animation_phase(void) { + + if (get_current_wpm() <=IDLE_SPEED) { + current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES; + oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE); + } + + if (get_current_wpm() >IDLE_SPEED && get_current_wpm() =TAP_SPEED) { + current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES; + oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE); + } + } + + if (get_current_wpm() > 0) { + + oled_on(); + + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + + anim_sleep = timer_read32(); + } else { + if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { + oled_off(); + } else { + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + } + } -#include "lck75.h" \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/keyboards/lck75/rules.mk b/keyboards/lck75/rules.mk index aa75e72096f3..ee196d53ac1f 100644 --- a/keyboards/lck75/rules.mk +++ b/keyboards/lck75/rules.mk @@ -29,3 +29,4 @@ ENCODER_ENABLE = yes WPM_ENABLE = yes LTO_ENABLE = no AUTO_SHIFT_ENABLE = no + From 8a2d3a8861588646c8563dfde080e49358faa245 Mon Sep 17 00:00:00 2001 From: tszaboo <74186529+tszaboo@users.noreply.github.com> Date: Wed, 17 Mar 2021 07:50:22 +0100 Subject: [PATCH 029/250] [Keyboard] Add support for ortho4exent (#11699) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/tszaboo/ortho4exent/config.h | 136 ++++++++++++++++++ keyboards/tszaboo/ortho4exent/info.json | 86 +++++++++++ .../ortho4exent/keymaps/default/keymap.c | 33 +++++ .../ortho4exent/keymaps/default/readme.md | 1 + keyboards/tszaboo/ortho4exent/ortho4exent.c | 16 +++ keyboards/tszaboo/ortho4exent/ortho4exent.h | 41 ++++++ keyboards/tszaboo/ortho4exent/readme.md | 15 ++ keyboards/tszaboo/ortho4exent/rules.mk | 23 +++ 8 files changed, 351 insertions(+) create mode 100644 keyboards/tszaboo/ortho4exent/config.h create mode 100644 keyboards/tszaboo/ortho4exent/info.json create mode 100644 keyboards/tszaboo/ortho4exent/keymaps/default/keymap.c create mode 100644 keyboards/tszaboo/ortho4exent/keymaps/default/readme.md create mode 100644 keyboards/tszaboo/ortho4exent/ortho4exent.c create mode 100644 keyboards/tszaboo/ortho4exent/ortho4exent.h create mode 100644 keyboards/tszaboo/ortho4exent/readme.md create mode 100644 keyboards/tszaboo/ortho4exent/rules.mk diff --git a/keyboards/tszaboo/ortho4exent/config.h b/keyboards/tszaboo/ortho4exent/config.h new file mode 100644 index 000000000000..a88a9c183aae --- /dev/null +++ b/keyboards/tszaboo/ortho4exent/config.h @@ -0,0 +1,136 @@ +/* +Copyright 2021 tszaboo + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x5453 // "TS" +#define PRODUCT_ID 0x7934 // "O4" +#define DEVICE_VER 0x0001 +#define MANUFACTURER tszaboo +#define PRODUCT ortho4exent + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { B0, B1, D4, D7, B4 } +/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/ +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, D6, D5, D3, D2, D1, B7, B3, B2 } +#define UNUSED_PINS +#define LED_CAPS_LOCK_PIN E6 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + + #define RGB_DI_PIN B6 + #ifdef RGB_DI_PIN + #define RGBLED_NUM 16 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + /*== all animations enable ==*/ + #define RGBLIGHT_ANIMATIONS + /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING + #endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/tszaboo/ortho4exent/info.json b/keyboards/tszaboo/ortho4exent/info.json new file mode 100644 index 000000000000..a34b997cae9a --- /dev/null +++ b/keyboards/tszaboo/ortho4exent/info.json @@ -0,0 +1,86 @@ +{ + "keyboard_name": "Ortho4exent", + "url": "https://github.com/tszaboo/Ortho4Exent", + "maintainer": "tszaboo", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"k00","x":0,"y":0,"w":1.5}, + {"label":"k01","x":1.5,"y":0}, + {"label":"k02","x":2.5,"y":0}, + {"label":"k03","x":3.5,"y":0}, + {"label":"k04","x":4.5,"y":0}, + {"label":"k05","x":5.5,"y":0}, + {"label":"k06","x":6.5,"y":0}, + {"label":"k07","x":7.5,"y":0}, + {"label":"k08","x":8.5,"y":0}, + {"label":"k09","x":9.5,"y":0}, + {"label":"k0A","x":10.5,"y":0}, + {"label":"k0B","x":11.5,"y":0}, + {"label":"k0C","x":12.5,"y":0}, + {"label":"k0D","x":13.5,"y":0}, + {"label":"k0E","x":14.5,"y":0,"w":1.5}, + {"label":"k10","x":0,"y":1,"w":1.5}, + {"label":"k11","x":1.5,"y":1}, + {"label":"k12","x":2.5,"y":1}, + {"label":"k13","x":3.5,"y":1}, + {"label":"k14","x":4.5,"y":1}, + {"label":"k15","x":5.5,"y":1}, + {"label":"k16","x":6.5,"y":1}, + {"label":"k17","x":7.5,"y":1}, + {"label":"k18","x":8.5,"y":1}, + {"label":"k19","x":9.5,"y":1}, + {"label":"k1A","x":10.5,"y":1}, + {"label":"k1B","x":11.5,"y":1}, + {"label":"k1C","x":12.5,"y":1}, + {"label":"k1D","x":13.5,"y":1}, + {"label":"k1E","x":14.5,"y":1,"w":1.5}, + {"label":"k20","x":0,"y":2}, + {"label":"k21","x":1.5,"y":2}, + {"label":"k22","x":2.5,"y":2}, + {"label":"k23","x":3.5,"y":2}, + {"label":"k24","x":4.5,"y":2}, + {"label":"k25","x":5.5,"y":2}, + {"label":"k26","x":6.5,"y":2}, + {"label":"k27","x":7.5,"y":2}, + {"label":"k28","x":8.5,"y":2}, + {"label":"k29","x":9.5,"y":2}, + {"label":"k2A","x":10.5,"y":2}, + {"label":"k2B","x":11.5,"y":2}, + {"label":"k2C","x":12.5,"y":2}, + {"label":"k2D","x":13.5,"y":2}, + {"label":"k2E","x":14.5,"y":2}, + {"label":"k30","x":0,"y":3,"w":1.5}, + {"label":"k31","x":1.5,"y":3}, + {"label":"k32","x":2.5,"y":3}, + {"label":"k33","x":3.5,"y":3}, + {"label":"k34","x":4.5,"y":3}, + {"label":"k35","x":5.5,"y":3}, + {"label":"k36","x":6.5,"y":3}, + {"label":"k37","x":7.5,"y":3}, + {"label":"k38","x":8.5,"y":3}, + {"label":"k39","x":9.5,"y":3}, + {"label":"k3A","x":10.5,"y":3}, + {"label":"k3B","x":11.5,"y":3}, + {"label":"k3C","x":12.5,"y":3}, + {"label":"k3D","x":13.5,"y":3}, + {"label":"k3E","x":14.5,"y":3,"w":1.5}, + {"label":"k40","x":0,"y":4,"w":1.5}, + {"label":"k41","x":1.5,"y":4,"w":1.5}, + {"label":"k42","x":3,"y":4,"w":1.5}, + {"label":"k43","x":4.5,"y":4,"w":2}, + {"label":"k44","x":6.5,"y":4}, + {"label":"k45","x":7.5,"y":4}, + {"label":"k46","x":8.5,"y":4}, + {"label":"k47","x":9.5,"y":4,"w":2}, + {"label":"k48","x":11.5,"y":4,"w":1.5}, + {"label":"k49","x":13,"y":4,"w":1.5}, + {"label":"k4A","x":14.5,"y":4,"w":1.5} + + ] + } + } + } + diff --git a/keyboards/tszaboo/ortho4exent/keymaps/default/keymap.c b/keyboards/tszaboo/ortho4exent/keymaps/default/keymap.c new file mode 100644 index 000000000000..c6a8a7a80d1b --- /dev/null +++ b/keyboards/tszaboo/ortho4exent/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2021 tszaboo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + //` 1 2 3 4 5 - ESC = 6 7 8 9 0 BSP + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_ESC, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_HOME, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_QUOT, KC_END, KC_BSLS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, KC_RALT, KC_RCTL, MO(1) + ), + [1] = LAYOUT( + KC_TRNS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_TRNS, KC_TRNS, KC_TRNS, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , 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, RESET, 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, RGB_TOG, RGB_MOD, RGB_M_P, RGB_M_G, 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 + ) +}; diff --git a/keyboards/tszaboo/ortho4exent/keymaps/default/readme.md b/keyboards/tszaboo/ortho4exent/keymaps/default/readme.md new file mode 100644 index 000000000000..153fc96da971 --- /dev/null +++ b/keyboards/tszaboo/ortho4exent/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Ortho4exent diff --git a/keyboards/tszaboo/ortho4exent/ortho4exent.c b/keyboards/tszaboo/ortho4exent/ortho4exent.c new file mode 100644 index 000000000000..b6ef9fedcf57 --- /dev/null +++ b/keyboards/tszaboo/ortho4exent/ortho4exent.c @@ -0,0 +1,16 @@ +/* Copyright 2021 tszaboo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "ortho4exent.h" diff --git a/keyboards/tszaboo/ortho4exent/ortho4exent.h b/keyboards/tszaboo/ortho4exent/ortho4exent.h new file mode 100644 index 000000000000..3814ce069c8d --- /dev/null +++ b/keyboards/tszaboo/ortho4exent/ortho4exent.h @@ -0,0 +1,41 @@ +/* Copyright 2021 tszaboo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E,\ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E,\ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E,\ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E,\ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, KC_NO, k42, k43, KC_NO, k44, k45, k46, k47, KC_NO, k48, KC_NO, k49, k4A }, \ +} diff --git a/keyboards/tszaboo/ortho4exent/readme.md b/keyboards/tszaboo/ortho4exent/readme.md new file mode 100644 index 000000000000..203928059878 --- /dev/null +++ b/keyboards/tszaboo/ortho4exent/readme.md @@ -0,0 +1,15 @@ +# tszaboo + +Ortholinear PCB that is a drop-in replacement for Exent keyboard. +Layout is inspired by excellent Boardwalk PCB, but extended with an extra column to accommodate the 65% Exent form factor. + +* Keyboard Maintainer: [tszaboo](https://github.com/tszaboo/) +* Keyboard Product owner: [Riba] +* Hardware Supported: Ortho4exent +* Hardware Availability: [Geekhack Group Buy](https://geekhack.org/index.php?topic=110120.0) + +Make example for this keyboard (after setting up your build environment): + + make tszaboo/ortho4exent:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/tszaboo/ortho4exent/rules.mk b/keyboards/tszaboo/ortho4exent/rules.mk new file mode 100644 index 000000000000..e1756f2c4a3f --- /dev/null +++ b/keyboards/tszaboo/ortho4exent/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes From 3bc7f46412e6e6c829aaff6d0f15c4cf36011948 Mon Sep 17 00:00:00 2001 From: Robert Verst Date: Wed, 17 Mar 2021 17:44:21 +0100 Subject: [PATCH 030/250] [Keymap] Add userspace rverst (#12205) Co-authored-by: Robert Verst --- keyboards/id80/keymaps/rverst/keymap.c | 80 ++++ keyboards/id80/keymaps/rverst/readme.md | 23 + keyboards/id80/keymaps/rverst/rverst.json | 499 ++++++++++++++++++++++ users/rverst/config.h | 38 ++ users/rverst/readme.md | 18 + users/rverst/rules.mk | 7 + users/rverst/rverst.c | 419 ++++++++++++++++++ users/rverst/rverst.h | 81 ++++ users/rverst/unicode.h | 31 ++ 9 files changed, 1196 insertions(+) create mode 100644 keyboards/id80/keymaps/rverst/keymap.c create mode 100644 keyboards/id80/keymaps/rverst/readme.md create mode 100644 keyboards/id80/keymaps/rverst/rverst.json create mode 100644 users/rverst/config.h create mode 100644 users/rverst/readme.md create mode 100644 users/rverst/rules.mk create mode 100644 users/rverst/rverst.c create mode 100644 users/rverst/rverst.h create mode 100644 users/rverst/unicode.h diff --git a/keyboards/id80/keymaps/rverst/keymap.c b/keyboards/id80/keymaps/rverst/keymap.c new file mode 100644 index 000000000000..73bf8899acde --- /dev/null +++ b/keyboards/id80/keymaps/rverst/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2021 Robert Verst @rverst + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "rverst.h" + +//#define CLOSED_CASE // no underglow RGB visible + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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 , MO(4) , KC_DEL , + 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_PGUP, + 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_PGDN, + 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_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RV_SNAP, 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_MUTE, + RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , RV_RT , RV_TM , KC_TRNS, RV_UUML, KC_TRNS, RV_OUML, KC_TRNS, KC_TRNS, KC_PEQL, KC_TRNS, KC_VOLD, + KC_CAPS, RV_AUML, RV_SZ , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, KC_TRNS, KC_PAST, KC_PENT, + KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT, KC_PSLS, KC_TRNS, KC_MSTP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT + ), + [2] = LAYOUT( + 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_TRNS, MO(4) , KC_MUTE, + 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_VOLU, + KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD, + KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, KC_ENT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(3) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [3] = LAYOUT( + RV_SNAP, 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_MUTE, + RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, RV_UUML, KC_TRNS, KC_TRNS, KC_TRNS, KC_PEQL, KC_TRNS, KC_VOLD, + KC_CAPS, RV_AUML, RV_RT , RV_SZ , RV_TM , KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , KC_TRNS, RV_OUML, KC_PAST, KC_PENT, + KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT, KC_PSLS, KC_TRNS, KC_MSTP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT + ), + [4] = LAYOUT( + EEP_RST, RV_SM0 , RV_SM1 , RV_SM2 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , DF(0) , DF(2) , KC_TRNS, MO(5) , + RV_SAYM, RV_SM3 , RV_SM4 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , RGB_TOG, + KC_NO , KC_NO , GUI_ON , KC_NO , KC_NO , RCG_SWP, RGB_RMOD,RGB_M_P, RGB_MOD + ), + [5] = LAYOUT( + RESET , RV_SM0S, RV_SM1S, RV_SM2S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_TRNS, + KC_NO , RV_SM3S, RV_SM4S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , GUI_OFF, KC_NO , KC_NO , RCG_NRM, KC_NO , KC_NO , KC_NO + ) +}; +// clang-format on + +void keyboard_post_init_keymap(void) { +#ifdef CLOSED_CASE + if (rgblight_is_enabled()) { + rgblight_disable(); + } +#endif +} diff --git a/keyboards/id80/keymaps/rverst/readme.md b/keyboards/id80/keymaps/rverst/readme.md new file mode 100644 index 000000000000..ba33980edb3c --- /dev/null +++ b/keyboards/id80/keymaps/rverst/readme.md @@ -0,0 +1,23 @@ +# idobao id80 + +This is my layout for the idobao id80. It depends of my [user files](../../../../users/rverst) +and the main goal is to give an convenient and unified access to some special keys +(umlauts, ß, €) for different operating systems (Mac, Windows and Linux). + +## Overview + +- Layer 0 is the base US-ANSI layout with Mac-style system keys and a OSL-Key for Layer 1 right of the space bar. +- Layer 1 has the special keys and some media-functions like mute, volume up/down etc. +- Layer 2 and 3 are basically the same as Layer 0 and 1 but in Colemak-Layout +- Layer 4 and 5 has some functions like switching the keyboard mode, switching the default layer etc. + + +## Keyboard modes + +- *F1:* Mac Unicode mode (use 'Unicode Hex Input' as input source) +- *F2:* Windows Unicode mode (use [WinCompse](https://github.com/SamHocevar/wincompose) software) +- *F3:* Linux Unicode mode (not tested yet but should work out of the box) +- *1:* Mac legacy mode (uses option-sequences, e.g. `