From a7313992dee7d1d96555b575ee7f0aaa9e7b59ce Mon Sep 17 00:00:00 2001 From: bgrosse-midokura <48123182+bgrosse-midokura@users.noreply.github.com> Date: Mon, 11 Oct 2021 10:59:52 +0100 Subject: [PATCH 01/48] [Keymap] gipsy-king's layout for cornelius (#14602) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Benjamin Große --- .../cornelius/keymaps/gipsy-king/keymap.c | 102 ++++++++++++++++++ .../cornelius/keymaps/gipsy-king/readme.md | 39 +++++++ 2 files changed, 141 insertions(+) create mode 100644 keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c create mode 100644 keyboards/foostan/cornelius/keymaps/gipsy-king/readme.md diff --git a/keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c b/keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c new file mode 100644 index 0000000000..8f6adffa2e --- /dev/null +++ b/keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c @@ -0,0 +1,102 @@ +/* Copyright 2021 gipsy-king + * + * 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 + +// Raise layer or enter on tap +#define RAISE LT(1, KC_ENT) +// Xmonad layer with LGUI always on +#define MOD4 LM(2, MOD_LGUI) +// Oneshot +#define ONESHOT OSL(3) +// Mic-mute-tap or Fn layer (F20 is mic-mute on thinkpads) +#define FNLAY LT(3, KC_F20) + +enum custom_keycodes { + EMAIL = SAFE_RANGE, + EMAIL_W, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Qwerty + * .-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P |Backsp| + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | - | Z | X | C | V | B | N | M | , | . | / | = | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | LCTR | LGUI | LALT | MOD4 | ^( | Space|Ent/Ra| ^) | RALT | MUTE | RGUI | RCTR | + * '-----------------------------------------------------------------------------------' + */ +[0] = LAYOUT( + 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_MINS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_EQL, + KC_LCTL,KC_LALT,KC_LGUI,MOD4, KC_LSPO,KC_SPC, RAISE, KC_RSPC,KC_RALT,KC_RGUI,FNLAY, KC_RCTL +), +/* Raise + * .-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | ~ | { | PgUp | PgDn | End | Home | <- | \/ | /\ | -> | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | [ | ! | @ | # | $ | % | ^ | & | * | ( | ) | ] | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * '-----------------------------------------------------------------------------------' + */ +[1] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_TILD,KC_LCBR,KC_PGUP,KC_PGDN,KC_END, KC_HOME,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_RCBR,KC_PIPE, + KC_LBRC,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_RBRC, + _______,_______,_______,_______,_______,_______,_______,_______,_______,ONESHOT,_______,_______ +), +/* XMONAD + * Top row: Quit, Workspace shortcuts, Run + * Middle row: Float, HJKL + * Bottom row: Shift, Close, Border, Keyboard reset + * Thumbs: Estra shifts, Space, Enter, Shifts + */ +[2] = LAYOUT( + KC_Q, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_P, KC_MUTE, + KC_LSFT,_______,_______,_______,_______,KC_T, KC_H, KC_J, KC_K, KC_L, _______,_______, + KC_LSFT,_______,_______,KC_C, _______,KC_B, _______,_______,_______,_______,_______,_______, + _______,_______,_______,KC_LSFT,KC_LSFT,KC_SPC, KC_ENT, KC_LSFT,_______,_______,KC_VOLD,KC_VOLU +), +/* Fn + * Some macros, Keyboard-reset, mouse and audio. + */ +[3] = LAYOUT( + _______,_______,EMAIL_W,EMAIL, _______,_______,_______,_______,_______,_______,_______,RESET, + _______,_______,_______,_______,_______,_______,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,_______,_______, + _______,_______,_______,_______,_______,_______,KC_BTN1,KC_MUTE,KC_VOLD,KC_VOLU,KC_BRID,KC_BRIU, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ +) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch (keycode) { + case EMAIL: + SEND_STRING("ste3ls@gmail.com"); + break; + case EMAIL_W: + SEND_STRING("benjamin@midokura.com"); + break; + } + } + return true; +}; diff --git a/keyboards/foostan/cornelius/keymaps/gipsy-king/readme.md b/keyboards/foostan/cornelius/keymaps/gipsy-king/readme.md new file mode 100644 index 0000000000..f0bce9fc95 --- /dev/null +++ b/keyboards/foostan/cornelius/keymaps/gipsy-king/readme.md @@ -0,0 +1,39 @@ +# Gipsy-King's Cornelius layout + +Common typing only needs a base and a symbols layer. Layer changes are on the +thumbs *including* shift and non-english variants. + +The importance of having shift on your thumbs is that you don't need to press +some letters with pinky OR ring, depending on shift. + +## Base QWERTY layer + +* Tab, Backspace, Space, Ctrl/Alt/Mod are similar to a generic keyboard. +* Esc is like when you remap CapsLock to Esc on a generic keyboard (vim). +* Enter is on right thumb and raises Symbol layer on hold, because you rarely + hold. +* Shifts are on both thumbs! +* Leftmost thumb changes to Xmonad window management layer. +* Rightmost thumb is Right-Alt which is for `us-intl-altgr` layout (althoug I + use kmonad to universally map international characters on all keyboards). +* `-` and `=` are on the lower pinkies. +* `F20` is mic-mute on my thinkpad laptop. + +## Symbol layer (Raise) + +* Top row is numbers, bottom row are their symbols. Most people do it the other + way 'round. +* Middle row has curly brackets, and some navigation and arrows. +* Square brackets are on the lower pinkies. +* ```~\|`` are places aroung top/outer corners. + +## Xmonad layer (Window management) + +I use Xmonad to completely manage windows with just my keyboard. This layer +accommodates most shortcuts. + +## Fn layer + +Lastly, some macros, mousekeys (not used, really), some media keys, and the +function-keys (I use them maybe once in a decade). + From 5640b6cd77392222547f62c0fda1313e5e4a4ed3 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 11 Oct 2021 06:30:17 -0700 Subject: [PATCH 02/48] Allow AVR Bootloader size to be configurable (#14783) * Allow AVR Bootloader size to be configurable * revert changes to atmel dfu --- bootloader.mk | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bootloader.mk b/bootloader.mk index 2bcca6bb81..5ba118fb44 100644 --- a/bootloader.mk +++ b/bootloader.mk @@ -52,26 +52,26 @@ ifeq ($(strip $(BOOTLOADER)), lufa-dfu) OPT_DEFS += -DBOOTLOADER_LUFA_DFU OPT_DEFS += -DBOOTLOADER_DFU ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647)) - BOOTLOADER_SIZE = 4096 + BOOTLOADER_SIZE ?= 4096 endif ifneq (,$(filter $(MCU), at90usb1286 at90usb1287)) - BOOTLOADER_SIZE = 8192 + BOOTLOADER_SIZE ?= 8192 endif endif ifeq ($(strip $(BOOTLOADER)), qmk-dfu) OPT_DEFS += -DBOOTLOADER_QMK_DFU OPT_DEFS += -DBOOTLOADER_DFU ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647)) - BOOTLOADER_SIZE = 4096 + BOOTLOADER_SIZE ?= 4096 endif ifneq (,$(filter $(MCU), at90usb1286 at90usb1287)) - BOOTLOADER_SIZE = 8192 + BOOTLOADER_SIZE ?= 8192 endif endif ifeq ($(strip $(BOOTLOADER)), qmk-hid) OPT_DEFS += -DBOOTLOADER_QMK_HID OPT_DEFS += -DBOOTLOADER_HID - BOOTLOADER_SIZE = 4096 + BOOTLOADER_SIZE ?= 4096 endif ifeq ($(strip $(BOOTLOADER)), halfkay) OPT_DEFS += -DBOOTLOADER_HALFKAY From 633ef1441b23755186f95b55957c50fb5c568e9f Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 12 Oct 2021 00:41:31 +1100 Subject: [PATCH 03/48] handwired/nicekey optimisation (#14788) * handwired/nicekey optimisation * Add some consts * Read address from progmem, pass it into send_string_with_delay_P --- .../nicekey/keymaps/default/keymap.c | 193 ++++++++++++------ keyboards/handwired/nicekey/readme.md | 9 +- keyboards/handwired/nicekey/rules.mk | 19 +- 3 files changed, 141 insertions(+), 80 deletions(-) diff --git a/keyboards/handwired/nicekey/keymaps/default/keymap.c b/keyboards/handwired/nicekey/keymaps/default/keymap.c index 139ea6a3be..d7539a5c17 100644 --- a/keyboards/handwired/nicekey/keymaps/default/keymap.c +++ b/keyboards/handwired/nicekey/keymaps/default/keymap.c @@ -1,75 +1,132 @@ #include QMK_KEYBOARD_H +#define RANDOM_STRING_DELAY 100 + enum custom_keycodes { - RANDOM_STRING_MACRO = SAFE_RANGE -}; - -const int delay = 100; -const char *sentences[] = { - "I hope you have a great day!\n", - "You are an awesome person.\n", - "I wish I knew you better, you seem nice!\n", - "Your views restore my faith in humanity\n", - "You are as cool as a norm-critical disney princess\n", - "You have impeccable manners.\n", - "You are making me smile\n", - "You are making a difference\n", - "You bring out the best in other people\n", - "You are all that and a super-size bag of chips.\n", - "You are not someone I pretend to not see in public.\n", - "Are you a beaver, because damn.\n", - "I bet you make babies smile.\n", - "You are awkward, in a cute way. Like an elevator ride, but with puppies.\n", - "Looking like a complete idiot with you is really fun.\n", - "If you cooked something really bad, I would tell you instead of eating it.\n", - "I love how passionate you are about your hobby.\n", - "Our conversations always make me feel better.\n", - "It is amazing how far out of your way you go to help people.\n", - "I am so glad that you wrote something here.\n", - "Hey you! How nice to see a friendly person in my feed!\n", - "I hope we know each other for a long time.\n", - "I bet if Britney Spears knew you, 2008 would have gone a lot differently.\n", - "I would trust you with my passwords.\n", - "You are a great problem solver\n", - "I would love to hear you laugh!\n", - "Please, have a monologue about your week, I just want to listen to you!\n", - "You are very far from being Trump.\n", - "I think my dog might like you more than me\n", - "I feel like you would be a great person to do a group project with\n", - "I bet animals love you\n", - "I bet even Kanye would like you more than himself\n", - "You are just doing a great job at life\n", - "I like how you are challenging me.\n", - "You would do be a great mother!\n", - "I... Baked bread for you.\n", - "Wow. You.\n", - "You would not have let that balrog pass!\n", - "Thank you.\n", - "You would be standing out in a crowd\n", - "Your sense of style is amazing.\n", - "You have a beautiful mind.\n", - "I like that big juicy brain of yours\n", - "I would share my cinnamon bun with you\n", - "I like you more than i like my moms apple pie\n", - "You give me the same feeling as a summers night\n", - "I enjoy you more than the click of my mechanical switch\n", - "I would let you pop my bubble wrap\n", - "Being near you is like being inside of a poem\n" -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - int sentences_size = sizeof(sentences) / sizeof(sentences[0]); - int i = rand() % sentences_size; - switch(keycode) { - case RANDOM_STRING_MACRO: - send_string_with_delay(sentences[i], delay); - return false; - } - } - return true; + RANDOM_STRING_MACRO = SAFE_RANGE }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT( RANDOM_STRING_MACRO ) + LAYOUT( + RANDOM_STRING_MACRO + ) }; + +const char sentence_01[] PROGMEM = "I hope you have a great day!"; +const char sentence_02[] PROGMEM = "You are an awesome person."; +const char sentence_03[] PROGMEM = "I wish I knew you better, you seem nice!"; +const char sentence_04[] PROGMEM = "Your views restore my faith in humanity"; +const char sentence_05[] PROGMEM = "You are as cool as a norm-critical disney princess"; +const char sentence_06[] PROGMEM = "You have impeccable manners."; +const char sentence_07[] PROGMEM = "You are making me smile"; +const char sentence_08[] PROGMEM = "You are making a difference"; +const char sentence_09[] PROGMEM = "You bring out the best in other people"; +const char sentence_10[] PROGMEM = "You are all that and a super-size bag of chips."; +const char sentence_11[] PROGMEM = "You are not someone I pretend to not see in public."; +const char sentence_12[] PROGMEM = "Are you a beaver, because damn."; +const char sentence_13[] PROGMEM = "I bet you make babies smile."; +const char sentence_14[] PROGMEM = "You are awkward, in a cute way. Like an elevator ride, but with puppies."; +const char sentence_15[] PROGMEM = "Looking like a complete idiot with you is really fun."; +const char sentence_16[] PROGMEM = "If you cooked something really bad, I would tell you instead of eating it."; +const char sentence_17[] PROGMEM = "I love how passionate you are about your hobby."; +const char sentence_18[] PROGMEM = "Our conversations always make me feel better."; +const char sentence_19[] PROGMEM = "It is amazing how far out of your way you go to help people."; +const char sentence_20[] PROGMEM = "I am so glad that you wrote something here."; +const char sentence_21[] PROGMEM = "Hey you! How nice to see a friendly person in my feed!"; +const char sentence_22[] PROGMEM = "I hope we know each other for a long time."; +const char sentence_23[] PROGMEM = "I bet if Britney Spears knew you, 2008 would have gone a lot differently."; +const char sentence_24[] PROGMEM = "I would trust you with my passwords."; +const char sentence_25[] PROGMEM = "You are a great problem solver"; +const char sentence_26[] PROGMEM = "I would love to hear you laugh!"; +const char sentence_27[] PROGMEM = "Please, have a monologue about your week, I just want to listen to you!"; +const char sentence_28[] PROGMEM = "You are very far from being Trump."; +const char sentence_29[] PROGMEM = "I think my dog might like you more than me"; +const char sentence_30[] PROGMEM = "I feel like you would be a great person to do a group project with"; +const char sentence_31[] PROGMEM = "I bet animals love you"; +const char sentence_32[] PROGMEM = "I bet even Kanye would like you more than himself"; +const char sentence_33[] PROGMEM = "You are just doing a great job at life"; +const char sentence_34[] PROGMEM = "I like how you are challenging me."; +const char sentence_35[] PROGMEM = "You would do be a great mother!"; +const char sentence_36[] PROGMEM = "I... Baked bread for you."; +const char sentence_37[] PROGMEM = "Wow. You."; +const char sentence_38[] PROGMEM = "You would not have let that balrog pass!"; +const char sentence_39[] PROGMEM = "Thank you."; +const char sentence_40[] PROGMEM = "You would be standing out in a crowd"; +const char sentence_41[] PROGMEM = "Your sense of style is amazing."; +const char sentence_42[] PROGMEM = "You have a beautiful mind."; +const char sentence_43[] PROGMEM = "I like that big juicy brain of yours"; +const char sentence_44[] PROGMEM = "I would share my cinnamon bun with you"; +const char sentence_45[] PROGMEM = "I like you more than i like my moms apple pie"; +const char sentence_46[] PROGMEM = "You give me the same feeling as a summers night"; +const char sentence_47[] PROGMEM = "I enjoy you more than the click of my mechanical switch"; +const char sentence_48[] PROGMEM = "I would let you pop my bubble wrap"; +const char sentence_49[] PROGMEM = "Being near you is like being inside of a poem"; + +PGM_P const sentences[] PROGMEM = { + sentence_01, + sentence_02, + sentence_03, + sentence_04, + sentence_05, + sentence_06, + sentence_07, + sentence_08, + sentence_09, + sentence_10, + sentence_11, + sentence_12, + sentence_13, + sentence_14, + sentence_15, + sentence_16, + sentence_17, + sentence_18, + sentence_19, + sentence_20, + sentence_21, + sentence_22, + sentence_23, + sentence_24, + sentence_25, + sentence_26, + sentence_27, + sentence_28, + sentence_29, + sentence_30, + sentence_31, + sentence_32, + sentence_33, + sentence_34, + sentence_35, + sentence_36, + sentence_37, + sentence_38, + sentence_39, + sentence_40, + sentence_41, + sentence_42, + sentence_43, + sentence_44, + sentence_45, + sentence_46, + sentence_47, + sentence_48, + sentence_49 +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + int sentences_size = sizeof(sentences) / sizeof(sentences[0]); + int i = rand() % sentences_size; + + switch (keycode) { + case RANDOM_STRING_MACRO: + send_string_with_delay_P((PGM_P)pgm_read_word(&(sentences[i])), RANDOM_STRING_DELAY); + tap_code(KC_ENT); + + return false; + } + } + + return true; +} diff --git a/keyboards/handwired/nicekey/readme.md b/keyboards/handwired/nicekey/readme.md index e108b38dd1..8215fc2705 100644 --- a/keyboards/handwired/nicekey/readme.md +++ b/keyboards/handwired/nicekey/readme.md @@ -2,14 +2,13 @@ ![The first NiceKey](https://s3.eu-central-1.amazonaws.com/mindlevel/nicekey.jpg) - Custom handwired nicekey, a one key keyboard that writes random compliments. -Keyboard Maintainer: [spydon](https://github.com/spydon) -Hardware Supported: Custom handwired one key -Hardware Availability: +* Keyboard Maintainer: [spydon](https://github.com/spydon) +* Hardware Supported: Custom handwired one key +* Hardware Availability: n/a -Switch must be connected to pins C6 and B6. +Switch must be connected to pins C6 and B6. Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/handwired/nicekey/rules.mk b/keyboards/handwired/nicekey/rules.mk index 45ade5409a..6302e743d4 100644 --- a/keyboards/handwired/nicekey/rules.mk +++ b/keyboards/handwired/nicekey/rules.mk @@ -5,12 +5,17 @@ MCU = atmega32u4 BOOTLOADER = caterina # Build Options -# comment out to disable the options. +# change yes to no to disable # BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend -#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA +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 = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From ea2505901e39715bbca8245b7ea767eb56f630dc Mon Sep 17 00:00:00 2001 From: jonavin <71780717+Jonavin@users.noreply.github.com> Date: Mon, 11 Oct 2021 21:03:58 -0400 Subject: [PATCH 04/48] [Keymap] Jonavin new obe keymap (#14657) Co-authored-by: Drashna Jaelre Co-authored-by: Jonavin <=> --- .../mechwild/obe/keymaps/jonavin/config.h | 39 ++++++ .../mechwild/obe/keymaps/jonavin/keymap.c | 114 ++++++++++++++++++ .../mechwild/obe/keymaps/jonavin/readme.md | 46 +++++++ .../mechwild/obe/keymaps/jonavin/rules.mk | 11 ++ users/jonavin/jonavin.c | 32 ++++- users/jonavin/jonavin.h | 14 ++- users/jonavin/readme.md | 106 ++++++++++------ users/jonavin/rules.mk | 3 + 8 files changed, 322 insertions(+), 43 deletions(-) create mode 100644 keyboards/mechwild/obe/keymaps/jonavin/config.h create mode 100644 keyboards/mechwild/obe/keymaps/jonavin/keymap.c create mode 100644 keyboards/mechwild/obe/keymaps/jonavin/readme.md create mode 100644 keyboards/mechwild/obe/keymaps/jonavin/rules.mk diff --git a/keyboards/mechwild/obe/keymaps/jonavin/config.h b/keyboards/mechwild/obe/keymaps/jonavin/config.h new file mode 100644 index 0000000000..8a812f1550 --- /dev/null +++ b/keyboards/mechwild/obe/keymaps/jonavin/config.h @@ -0,0 +1,39 @@ +/* Copyright 2021 Jonavin Eng + * + * 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 TAPPING_TOGGLE 2 +// TT set to two taps + +/* Handle GRAVESC combo keys */ +#define GRAVE_ESC_ALT_OVERRIDE + //Always send Escape if Alt is pressed +#define GRAVE_ESC_CTRL_OVERRIDE + //Always send Escape if Control is pressed + +#define TAPPING_TERM 180 + +#ifdef RGBLIGHT_ENABLE + // Redefine number of LED + #ifdef RGBLED_NUM + #undef RGBLED_NUM + #endif // DEBUG + #define RGBLED_NUM 20 + + #define RGBLIGHT_LAYERS + #define RGBLIGHT_SLEEP +#endif // RGBLIGHT_ENABLE diff --git a/keyboards/mechwild/obe/keymaps/jonavin/keymap.c b/keyboards/mechwild/obe/keymaps/jonavin/keymap.c new file mode 100644 index 0000000000..b5b0829658 --- /dev/null +++ b/keyboards/mechwild/obe/keymaps/jonavin/keymap.c @@ -0,0 +1,114 @@ +/* Copyright 2021 Kyle McCreery + * + * 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 "jonavin.h" + +#ifdef RGBLIGHT_ENABLE + // Custom RGB Colours + #define RGB_OBE_BOW 0x00, 0xE4, 0xFF // colour for matching keycaps +#endif // RGBLIGHT_ENABLE + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + KC_MUTE, 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_DEL, + 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, TT(_RAISE), 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_LSFTCAPSWIN,KC_Z, KC_X, KC_C, KC_V, KC_B, LT(_LOWER,KC_B), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), LT(_RAISE,KC_SPC), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN1] = LAYOUT( + KC_NO, 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_TRNS, KC_INS, + KC_HOME, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO, KC_NO, RESET, + KC_END, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NLCK, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_TRNS, + KC_TRNS,KC_WINLCK,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END + ), + [_LOWER] = LAYOUT( + KC_NO, KC_TILD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_TRNS, KC_DEL, + RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EMO_TEARS, EMO_SAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, + RGB_HUD, KC_NO, KC_NO, EMO_SHRUG,KC_NO, KC_NO, KC_NO, KC_NO, EMO_JOY, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, EMO_CONFUSE,KC_NO,KC_NO,KC_TRNS,EMO_NERVOUS,KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD, KC_TRNS, + KC_TRNS, KC_APP, KC_TRNS, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_RMOD, RGB_SPI + ), + [_RAISE] = LAYOUT( + KC_NO, KC_TILD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_PSLS, KC_DEL, + KC_NO, KC_NO, KC_HOME,KC_UP, KC_END, KC_PGUP, KC_NO, KC_TAB, KC_P4, KC_P5, KC_P6, KC_NO, KC_NO, KC_NO, KC_PEQL, + KC_NO, TT(_RAISE),KC_LEFT,KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_NO, KC_PAST, KC_PENT, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_P0, KC_00, KC_NO, KC_PDOT, KC_PSLS, CT_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CT_HOME, CT_PGDN, CT_END + ) +}; + +#ifdef RGBLIGHT_ENABLE + + enum custom_rgblight_layers + { + _rgbWINLOCK, + _rgbFN, + _rgbLOWER, + _rgbRAISE + }; + + // Optional RGB Light Mapping Zones {LED Posiiton, Number of LEDs, Colour} + const rgblight_segment_t PROGMEM _rgb_winlock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {1, 3, HSV_RED}, + {15, 3, HSV_RED} + ); + const rgblight_segment_t PROGMEM _rgb_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {6, 6, HSV_PURPLE} + ); + // Light LEDs 9 & 10 in cyan when keyboard layer 1 is active + const rgblight_segment_t PROGMEM _rgb_lower_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {4, 10, HSV_YELLOW} + ); + + const rgblight_segment_t PROGMEM _rgb_raise_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {3, 5, HSV_GREEN}, + {10, 5, HSV_GREEN} + ); + + const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST( + _rgb_winlock_layer, + _rgb_fn_layer, + _rgb_lower_layer, + _rgb_raise_layer + ); + + bool led_update_user(led_t led_state) { + rgblight_set_layer_state(_rgbWINLOCK, keymap_config.no_gui); + return true; + } + + layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(_rgbFN, layer_state_cmp(state, _FN1)); + rgblight_set_layer_state(_rgbLOWER, layer_state_cmp(state, _LOWER)); + rgblight_set_layer_state(_rgbRAISE, layer_state_cmp(state, _RAISE)); + return state; + } +#endif // RGBLIGHT_ENABLE + +void keyboard_post_init_keymap(void) { + // keyboard_post_init_user() moved to userspace + #ifdef RGBLIGHT_ENABLE + rgblight_enable_noeeprom(); + rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); + rgblight_setrgb(RGB_OBE_BOW); // Default startup colour + rgblight_layers = _rgb_layers; + #endif +} + diff --git a/keyboards/mechwild/obe/keymaps/jonavin/readme.md b/keyboards/mechwild/obe/keymaps/jonavin/readme.md new file mode 100644 index 0000000000..d60958a4e9 --- /dev/null +++ b/keyboards/mechwild/obe/keymaps/jonavin/readme.md @@ -0,0 +1,46 @@ +# Jonavin's MechWild Orange Boy Ergo keymap + +--> This keymap makes user of user/jonavin userspace + +Features + - Split spacebars, Split Backspace + - RGB Winlock indicator (requires LED stripto be installed) + - RGB Layer indicators: FN/MO1 - Purple; LOWER/MO2 - Yellow; RAISE/MO3/NumPad - Green + - quick demo https://youtu.be/gR1awbsouLk + +- Add PrtScr, Scroll Lock, Break, NumLock to Fn layer +- Implement Win key lock using Fn+Win +- Layer 2 (LOWER) when right B is held -- for emoticons +- Layer 2 RGB functions +- Layer 3 (RAISE) mod on Caps Lock with double-tap to switch to this layer, double tap to switch back + - provides arrows on WASD and additional nav keys + right hand numpad with 00; an be used for Alt Code entry + - left spacebar Backspace +- add double tap of Left Shift to toggle Caps Lock + + +rules.mk OPTIONS - Active features from userspace +-------------------------------------------------- + +STARTUP_NUMLOCK_ON = yes +- turns on NUMLOCK by default + +ENCODER_DEFAULTACTIONS_ENABLE = yes +- Enables default encoder funtions + - holding Left shift, change layers + - holding right shift, Navigate page up/down + - holding Left Ctrl, navigate prev/next word + - holding Left Alt, change media prev/next track + - default is change volume + +TD_LSFT_CAPSLOCK_ENABLE = yes + - This will enable double tap on Left Shift to toggle CAPSLOCK when using KC_LSFTCAPS + +IDLE_TIMEOUT_ENABLE = yes + - Enables Timer functionality; for RGB idle timeouts that can be changed dynamically + +EMOTICON_ENABLE + - adds EMO_ keycodes for text emojis + +## All layers diagram +![image](https://user-images.githubusercontent.com/71780717/135770721-ab263532-f645-4903-99cb-749549944e15.png) + diff --git a/keyboards/mechwild/obe/keymaps/jonavin/rules.mk b/keyboards/mechwild/obe/keymaps/jonavin/rules.mk new file mode 100644 index 0000000000..e371b63498 --- /dev/null +++ b/keyboards/mechwild/obe/keymaps/jonavin/rules.mk @@ -0,0 +1,11 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +RGBLIGHT_ENABLE = yes + +MOUSEKEY_ENABLE = no +TAP_DANCE_ENABLE = yes + +TD_LSFT_CAPSLOCK_ENABLE = yes +STARTUP_NUMLOCK_ON = yes +ENCODER_DEFAULTACTIONS_ENABLE = yes +EMOTICON_ENABLE = yes diff --git a/users/jonavin/jonavin.c b/users/jonavin/jonavin.c index f53aa8664e..1a0760ea8f 100644 --- a/users/jonavin/jonavin.c +++ b/users/jonavin/jonavin.c @@ -256,7 +256,7 @@ along with this program. If not, see . break; } } - return true; + return false; } #endif // ENCODER_ENABLE @@ -266,7 +266,7 @@ __attribute__ ((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!process_record_keymap(keycode, record)) { return false; } - switch (keycode) { + switch (keycode) { case KC_00: if (record->event.pressed) { // when keycode KC_00 is pressed @@ -298,6 +298,34 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } else unregister_code16(keycode); break; #endif // RGB_MATRIX_ENABLE + +#ifdef EMOTICON_ENABLE + case EMO_SHRUG: + if (record->event.pressed) SEND_STRING("`\\_(\"/)_/`"); + else unregister_code16(keycode); + break; + case EMO_CONFUSE: + if (record->event.pressed) SEND_STRING("(*_*)"); + else unregister_code16(keycode); + break; + case EMO_TEARS: + if (record->event.pressed) SEND_STRING("(T_T)"); + else unregister_code16(keycode); + break; + case EMO_NERVOUS: + if (record->event.pressed) SEND_STRING("(~_~;)"); + else unregister_code16(keycode); + break; + case EMO_JOY: + if (record->event.pressed) SEND_STRING("(^o^)"); + else unregister_code16(keycode); + break; + case EMO_SAD: + if (record->event.pressed) SEND_STRING(":'-("); + else unregister_code16(keycode); + break; + #endif // EMOTICON_ENABLE + default: if (record->event.pressed) { #ifdef RGB_MATRIX_ENABLE diff --git a/users/jonavin/jonavin.h b/users/jonavin/jonavin.h index efe0301af3..feaf6b6a15 100644 --- a/users/jonavin/jonavin.h +++ b/users/jonavin/jonavin.h @@ -38,13 +38,23 @@ enum custom_user_keycodes { RGB_TOD, // Timeout idle time down RGB_NITE, // Turns off all rgb but allow rgb indicators to work + EMO_SHRUG, // `\_("/)_/` + EMO_CONFUSE, // (*_*) + EMO_SAD, // :'-( + EMO_NERVOUS, // (~_~;) + EMO_JOY, // (^o^) + EMO_TEARS, // (T_T) + NEW_SAFE_RANGE // new safe range for keymap level custom keycodes }; -#define KC_CAD LALT(LCTL(KC_DEL)) +#define KC_CAD LALT(LCTL(KC_DEL)) #define KC_AF4 LALT(KC_F4) #define KC_TASK LCTL(LSFT(KC_ESC)) - +#define CT_PGUP RCTL(KC_PGUP) +#define CT_PGDN RCTL(KC_PGDN) +#define CT_HOME RCTL(KC_HOME) +#define CT_END RCTL(KC_END) #ifdef TD_LSFT_CAPSLOCK_ENABLE // Tap Dance Definitions diff --git a/users/jonavin/readme.md b/users/jonavin/readme.md index c029796b4e..9fccb8c73c 100644 --- a/users/jonavin/readme.md +++ b/users/jonavin/readme.md @@ -14,62 +14,90 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . LAYERS: - 0 = _BASE - 1 = _FN1 - 2 = _LOWER - 3 = _RAISE +- 0 = _BASE +- 1 = _FN1 +- 2 = _LOWER +- 3 = _RAISE KEYCODES: - KC_CAD Ctrl-Alt-Del - KC_AF4 Alt-F4 - KC_TASK Windows Task Manager (Ctrl-Shift-Esc) - LSFT_CAPSLOCK When LSFT_CAPSLOCK_ENABLE is defined, hold for Shift double tap for CAPSLOCK; otherwise, just Shift - KC_00 double zero "00" - KC_WINLCK toggles LGui/Win key lock - RGB_TOI Increase Timeout idle time threshold - RGB_TOD Decrease Timeout idle time threshold +- KC_CAD Ctrl-Alt-Del +- KC_AF4 Alt-F4 +- KC_TASK Windows Task Manager (Ctrl-Shift-Esc) +- LSFT_CAPSLOCK When LSFT_CAPSLOCK_ENABLE is defined, hold for Shift double tap for CAPSLOCK; otherwise, just Shift +- KC_00 double zero "00" +- KC_WINLCK toggles LGui/Win key lock +- RGB_TOI Increase Timeout idle time threshold +- RGB_TOD Decrease Timeout idle time threshold +- CT_PGUP Ctrl-PgUp +- CT_PGDN Ctrl-PgDn +- CT_HOME Ctrl-HOme +- CT_END Ctrl-End +- + When EMOTICON_ENABLE = yes +- EMO_SHRUG `\_("/)_/` +- EMO_CONFUSE (*_*) +- EMD_TEARS (T_T) +- EMO_NERVOUS (~_~;) +- EMO_JOY (^o^) + + +AVAILABLE ENCODER ACTIONS: +- void encoder_action_volume(bool clockwise); +- void encoder_action_mediatrack(bool clockwise); +- void encoder_action_navword(bool clockwise); +- void encoder_action_navpage(bool clockwise); +- +- uint8_t get_selected_layer(void); +- void encoder_action_layerchange(bool clockwise); +- +- void encoder_action_rgb_speed(bool clockwise); +- void encoder_action_rgb_hue(bool clockwise); +- void encoder_action_rgb_saturation(bool clockwise); +- void encoder_action_rgb_brightness(bool clockwise); +- void encoder_action_rgb_mode(bool clockwise); + ENABLE FEATURES your keymap rules.mk +--------------------------------------- STARTUP_NUMLOCK_ON = yes - turns on NUMLOCK by default +- turns on NUMLOCK by default ENCODER_DEFAULTACTIONS_ENABLE = yes - Enabled default encoder funtions - When enabled, use this in the keymap for an additional encoder processing - bool encoder_update_keymap(uint8_t index, bool clockwise) - - OPTION: set ENCODER_DEFAULTACTIONS_INDEX to the encoder number if the encoder is not index 0 +- Enabled default encoder funtions +- When enabled, use this in the keymap for an additional encoder processing +- bool encoder_update_keymap(uint8_t index, bool clockwise) +OPTION: set ENCODER_DEFAULTACTIONS_INDEX to the encoder number if the encoder is not index 0 + TD_LSFT_CAPSLOCK_ENABLE = yes - This will enable double tap on Left Shift to toggle CAPSLOCK - KC_LSFTCAPS to bind to left Shift to enable feature - KC_LSFTCAPSWIN does the same thing but will not turn on CAPS when Win Lkey is disabled +- This will enable double tap on Left Shift to toggle CAPSLOCK +- KC_LSFTCAPS to bind to left Shift to enable feature +- KC_LSFTCAPSWIN does the same thing but will not turn on CAPS when Win Lkey is disabled IDLE_TIMEOUT_ENABLE = yes - Enables Timer functionality; for RGB idle timeouts that can be changed dynamically - When enabled, use this in the keymap for an additional matrix processing - void matrix_scan_keymap(void) - - Functions: - u16int_t get_timeout_threshold(void) // returns the current timeout threshold - void timeout_update_threshold(bool increase) // change threshold: true = increase, false = decrease - void timeout_reset_timer(void) // resets timer (put in process_record_user if you override it) - void timeout_tick_timer(void) // registers time ticks (put in maxtrix_scan_user if you override it) +- Enables Timer functionality; for RGB idle timeouts that can be changed dynamically +- When enabled, use this in the keymap for an additional matrix processing: void matrix_scan_keymap(void) + +- Functions: +- u16int_t get_timeout_threshold(void) // returns the current timeout threshold +- void timeout_update_threshold(bool increase) // change threshold: true = increase, false = decrease +- void timeout_reset_timer(void) // resets timer (put in process_record_user if you override it) +- void timeout_tick_timer(void) // registers time ticks (put in maxtrix_scan_user if you override it) Other Functions: - - activate_numlock(bool turn_on) // true = turn on NUM LOCK, false = off +- activate_numlock(bool turn_on) // true = turn on NUM LOCK, false = off KEYMAP LEVEL ADDITIONAL PROCESSING FUNCTIONS - bool process_record_keymap(uint16_t keycode, keyrecord_t *record) - void keyboard_post_init_keymap(void) +- bool process_record_keymap(uint16_t keycode, keyrecord_t *record) +- void keyboard_post_init_keymap(void) LIST OF COMPATIBLE KEYMAPS - - gmmk/pro/ansi - - keebio/quefrency/rev3 - - mechwild/mercutio - - mechwild/murphpad - - mechwild/OBE (*) - - nopunin10did/kastenwagen (*) +- gmmk/pro/ansi +- keebio/quefrency/rev3 +- mechwild/mercutio +- mechwild/murphpad +- mechwild/OBE +- nopunin10did/kastenwagen (*) (*) coming soon diff --git a/users/jonavin/rules.mk b/users/jonavin/rules.mk index e2918d9e26..eb279f6290 100644 --- a/users/jonavin/rules.mk +++ b/users/jonavin/rules.mk @@ -14,3 +14,6 @@ endif ifeq ($(strip $(COLEMAK_LAYER_ENABLE)), yes) OPT_DEFS += -DCOLEMAK_LAYER_ENABLE endif +ifeq ($(strip $(EMOTICON_ENABLE)), yes) + OPT_DEFS += -DEMOTICON_ENABLE +endif From cecf5d52f9776a07cc7244ab6929899374bc189a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jimmy=20Sj=C3=B6lund?= Date: Tue, 12 Oct 2021 03:04:24 +0200 Subject: [PATCH 05/48] [Keymap] Adding my personal Planck layout (#14564) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../planck/keymaps/jimmysjolund/config.h | 49 +++ .../planck/keymaps/jimmysjolund/keymap.c | 367 ++++++++++++++++++ .../planck/keymaps/jimmysjolund/readme.md | 2 + .../planck/keymaps/jimmysjolund/rules.mk | 1 + 4 files changed, 419 insertions(+) create mode 100644 keyboards/planck/keymaps/jimmysjolund/config.h create mode 100644 keyboards/planck/keymaps/jimmysjolund/keymap.c create mode 100644 keyboards/planck/keymaps/jimmysjolund/readme.md create mode 100644 keyboards/planck/keymaps/jimmysjolund/rules.mk diff --git a/keyboards/planck/keymaps/jimmysjolund/config.h b/keyboards/planck/keymaps/jimmysjolund/config.h new file mode 100644 index 0000000000..5606510d49 --- /dev/null +++ b/keyboards/planck/keymaps/jimmysjolund/config.h @@ -0,0 +1,49 @@ +/* Copyright 2021 Jimmy Sjölund + * + * 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) + // #define STARTUP_SONG SONG(NO_SOUND) + + #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ + SONG(COLEMAK_SOUND), \ + SONG(DVORAK_SOUND) \ + } +#endif + +/* + * 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 + +// Most tactile encoders have detents every 4 stages +#define ENCODER_RESOLUTION 4 + diff --git a/keyboards/planck/keymaps/jimmysjolund/keymap.c b/keyboards/planck/keymaps/jimmysjolund/keymap.c new file mode 100644 index 0000000000..6b89b99540 --- /dev/null +++ b/keyboards/planck/keymaps/jimmysjolund/keymap.c @@ -0,0 +1,367 @@ +/* Copyright 2015-2017 Jack Humbert + * + * 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 "muse.h" + + +enum planck_layers { + _QWERTY, + _COLEMAK, + _DVORAK, + _LOWER, + _RAISE, + _PLOVER, + _ADJUST +}; + +enum planck_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + DVORAK, + PLOVER, + BACKLIT, + EXT_PLV +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty - Original + * ,-----------------------------------------------------------------------------------. + * | 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 | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +/* Qwerty - jimmysjolund 2021-09-22 + * ,-----------------------------------------------------------------------------------. + * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Tab | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | Ctrl | GUI | Alt |Lower |Raise |Enter |Space |AltGr | Down | Up |Enter | + * `-----------------------------------------------------------------------------------' + */ + +[_QWERTY] = LAYOUT_planck_grid( + KC_ESC, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_DEL, KC_LCTL, KC_LGUI, KC_LALT, LOWER, RAISE, KC_ENT, KC_SPC, KC_ALGR, KC_DOWN, KC_UP, KC_ENT +), + +/* Colemak Original + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +/* Colemak jimmysjolund + * ,-----------------------------------------------------------------------------------. + * | Esc | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Tab | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | Ctrl | GUI | Alt |Lower |Raise |Enter |Space |AltGr | Down | Up |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = LAYOUT_planck_grid( + 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_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_DEL, KC_LCTL, KC_LGUI, KC_LALT, LOWER, RAISE, KC_ENT, KC_SPC, KC_ALGR, KC_DOWN, KC_UP, KC_ENT +), + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_DVORAK] = LAYOUT_planck_grid( + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, + KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , + BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_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_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_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_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + + +/* Plover layer (http://opensteno.org) + * ,-----------------------------------------------------------------------------------. + * | # | # | # | # | # | # | # | # | # | # | # | # | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | S | T | P | H | * | * | F | P | L | T | D | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | S | K | W | R | * | * | R | B | G | S | Z | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Exit | | | A | O | | E | U | | | | + * `-----------------------------------------------------------------------------------' + */ +[_PLOVER] = LAYOUT_planck_grid( + KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 , + XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX +), + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_planck_grid( + _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + +}; + +#ifdef AUDIO_ENABLE + float plover_song[][2] = SONG(PLOVER_SOUND); + float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); +#endif + +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) { + print("mode just switched to qwerty and this is a huge string\n"); + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + break; + case DVORAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_DVORAK); + } + return false; + break; + case BACKLIT: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + #ifdef KEYBOARD_planck_rev5 + PORTE &= ~(1<<6); + #endif + } else { + unregister_code(KC_RSFT); + #ifdef KEYBOARD_planck_rev5 + PORTE |= (1<<6); + #endif + } + return false; + break; + case PLOVER: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_SONG(plover_song); + #endif + layer_off(_RAISE); + layer_off(_LOWER); + layer_off(_ADJUST); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + } + return false; + break; + case EXT_PLV: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_SONG(plover_gb_song); + #endif + layer_off(_PLOVER); + } + return false; + break; + } + return true; +} + +bool muse_mode = false; +uint8_t last_muse_note = 0; +uint16_t muse_counter = 0; +uint8_t muse_offset = 70; +uint16_t muse_tempo = 50; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (muse_mode) { + if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + muse_offset++; + } else { + muse_offset--; + } + } else { + if (clockwise) { + muse_tempo+=1; + } else { + muse_tempo-=1; + } + } + } else { + if (clockwise) { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_DOWN); + #else + tap_code(KC_PGDN); + #endif + } else { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_UP); + #else + tap_code(KC_PGUP); + #endif + } + } + return false; +} + +bool dip_update_user(uint8_t index, bool active) { + switch (index) { + case 0: + if (active) { + #ifdef AUDIO_ENABLE + PLAY_SONG(plover_song); + #endif + layer_on(_ADJUST); + } else { + #ifdef AUDIO_ENABLE + PLAY_SONG(plover_gb_song); + #endif + layer_off(_ADJUST); + } + break; + case 1: + if (active) { + muse_mode = true; + } else { + muse_mode = false; + #ifdef AUDIO_ENABLE + stop_all_notes(); + #endif + } + } + return false; +} + +void matrix_scan_user(void) { + #ifdef AUDIO_ENABLE + if (muse_mode) { + if (muse_counter == 0) { + uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; + if (muse_note != last_muse_note) { + stop_note(compute_freq_for_midi_note(last_muse_note)); + play_note(compute_freq_for_midi_note(muse_note), 0xF); + last_muse_note = muse_note; + } + } + muse_counter = (muse_counter + 1) % muse_tempo; + } + #endif +} + +bool music_mask_user(uint16_t keycode) { + switch (keycode) { + case RAISE: + case LOWER: + return false; + default: + return true; + } +} diff --git a/keyboards/planck/keymaps/jimmysjolund/readme.md b/keyboards/planck/keymaps/jimmysjolund/readme.md new file mode 100644 index 0000000000..de9680b498 --- /dev/null +++ b/keyboards/planck/keymaps/jimmysjolund/readme.md @@ -0,0 +1,2 @@ +# The Default Planck Layout + diff --git a/keyboards/planck/keymaps/jimmysjolund/rules.mk b/keyboards/planck/keymaps/jimmysjolund/rules.mk new file mode 100644 index 0000000000..dcf16bef39 --- /dev/null +++ b/keyboards/planck/keymaps/jimmysjolund/rules.mk @@ -0,0 +1 @@ +SRC += muse.c From 598f3fa7a76412b45745962b79ec34c7b8fde70e Mon Sep 17 00:00:00 2001 From: Sergi Meseguer Date: Tue, 12 Oct 2021 03:04:47 +0200 Subject: [PATCH 06/48] [Keyboard] z34 split keyboard by zigotica (#14582) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/z34/config.h | 65 +++++++++++++++++++++ keyboards/z34/info.json | 52 +++++++++++++++++ keyboards/z34/keymaps/default/config.h | 22 +++++++ keyboards/z34/keymaps/default/keymap.c | 77 +++++++++++++++++++++++++ keyboards/z34/keymaps/default/readme.md | 3 + keyboards/z34/keymaps/default/rules.mk | 3 + keyboards/z34/readme.md | 3 + keyboards/z34/rules.mk | 28 +++++++++ keyboards/z34/z34.c | 17 ++++++ keyboards/z34/z34.h | 39 +++++++++++++ 10 files changed, 309 insertions(+) create mode 100644 keyboards/z34/config.h create mode 100644 keyboards/z34/info.json create mode 100644 keyboards/z34/keymaps/default/config.h create mode 100644 keyboards/z34/keymaps/default/keymap.c create mode 100644 keyboards/z34/keymaps/default/readme.md create mode 100644 keyboards/z34/keymaps/default/rules.mk create mode 100644 keyboards/z34/readme.md create mode 100644 keyboards/z34/rules.mk create mode 100644 keyboards/z34/z34.c create mode 100644 keyboards/z34/z34.h diff --git a/keyboards/z34/config.h b/keyboards/z34/config.h new file mode 100644 index 0000000000..71d6528ce8 --- /dev/null +++ b/keyboards/z34/config.h @@ -0,0 +1,65 @@ +/* Copyright 2020 Sergi Meseguer + +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 0x7A74 +#define PRODUCT_ID 0x0002 +#define DEVICE_VER 0x0001 +#define MANUFACTURER zigotica +#define PRODUCT z34 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 5 + +/*Keyboard Matrix Assignments */ + +#define DIRECT_PINS { \ + { C6, F7, F6, F5, F4 }, \ + { D7, B6, B2, B3, B1 }, \ + { E6, D4, D0, D1, D3 }, \ + { B4, B5, NO_PIN, NO_PIN, NO_PIN } \ +} + +#define DIRECT_PINS_RIGHT { \ + { F4, F5, F6, F7, C6 }, \ + { B1, B3, B2, B6, D7 }, \ + { D3, D1, D0, D4, E6 }, \ + { B5, B4, NO_PIN, NO_PIN, NO_PIN } \ +} + +#define UNUSED_PINS + +/* 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 + +/* Serial settings */ +#define USE_SERIAL +/* serial.c configuration for split keyboard */ +#define SOFT_SERIAL_PIN D2 + +// EE_HANDS MASTER_RIGHT MASTER_LEFT +#define MASTER_RIGHT + diff --git a/keyboards/z34/info.json b/keyboards/z34/info.json new file mode 100644 index 0000000000..4a6dce7525 --- /dev/null +++ b/keyboards/z34/info.json @@ -0,0 +1,52 @@ +{ + "keyboard_name": "z34", + "url": "https://github.com/zigotica/mechanical-keyboards/tree/main/z34", + "maintainer": "@zigotica", + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0.93}, + {"x": 1, "y": 0.31}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0.28}, + {"x": 4, "y": 0.42}, + + {"x": 7, "y": 0.42}, + {"x": 8, "y": 0.28}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0.31}, + {"x": 11, "y": 0.93}, + + {"x": 0, "y": 1.93}, + {"x": 1, "y": 1.31}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1.28}, + {"x": 4, "y": 1.42}, + + {"x": 7, "y": 1.42}, + {"x": 8, "y": 1.28}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1.31}, + {"x": 11, "y": 1.93}, + + {"x": 0, "y": 2.93}, + {"x": 1, "y": 2.31}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2.28}, + {"x": 4, "y": 2.42}, + + {"x": 7, "y": 2.42}, + {"x": 8, "y": 2.28}, + {"x": 9, "y": 2}, + {"x": 10, "y": 2.31}, + {"x": 11, "y": 2.93}, + + {"x": 3.5, "y": 3.5}, + {"x": 4.5, "y": 4}, + + {"x": 6.5, "y": 4}, + {"x": 7.5, "y": 3.5} + ] + } + } +} diff --git a/keyboards/z34/keymaps/default/config.h b/keyboards/z34/keymaps/default/config.h new file mode 100644 index 0000000000..ae9881d3ab --- /dev/null +++ b/keyboards/z34/keymaps/default/config.h @@ -0,0 +1,22 @@ +/* Copyright 2020 Sergi Meseguer + +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" + +// EE_HANDS MASTER_RIGHT MASTER_LEFT +#define MASTER_RIGHT diff --git a/keyboards/z34/keymaps/default/keymap.c b/keyboards/z34/keymaps/default/keymap.c new file mode 100644 index 0000000000..973d24eafb --- /dev/null +++ b/keyboards/z34/keymaps/default/keymap.c @@ -0,0 +1,77 @@ +/* Copyright 2020 Sergi Meseguer + +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 layers { + BASE = 0 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * Base Layer: BASE + * + * ,---------------------------------------. ,---------------------------------------. + * | | | | | | | | | | | | + * | Q | W | E | R | T | | Y | U | I | O | P | + * | | | | | | | | | | | | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | | | | | | | | | | | | + * | A | S | D | F | G | | H | J | K | L | ' | + * | | | | | | | | | | | | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | | | | | | | | | | | | + * | Z | X | C | V | B | | N | M | , | . | / | + * | | | | | | | | | | | | + * `-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------. + * | | | | | | + * | ESC | SPC | | ENTER | BSPC | + * | | | | | | + * `---------------' `---------------' + * + */ + [BASE] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, + KC_ESC, KC_SPC, KC_ENT, KC_BSPC + ), + +/* + * TEMPLATE + * + * ,---------------------------------------. ,---------------------------------------. + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------. + * | | | | | | + * | | | | | | + * | | | | | | + * `---------------' `---------------' + * + */ + +}; + diff --git a/keyboards/z34/keymaps/default/readme.md b/keyboards/z34/keymaps/default/readme.md new file mode 100644 index 0000000000..c6a0115573 --- /dev/null +++ b/keyboards/z34/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# Default z34 Layout + +This is the default QWERTY layout that comes flashed on every z34. diff --git a/keyboards/z34/keymaps/default/rules.mk b/keyboards/z34/keymaps/default/rules.mk new file mode 100644 index 0000000000..9281e9843b --- /dev/null +++ b/keyboards/z34/keymaps/default/rules.mk @@ -0,0 +1,3 @@ +# There are no extra pins, so we make sure to disable OLED and Encoders +OLED_ENABLE = no # Enables the use of OLED displays +ENCODER_ENABLE = no # Enables the use of encoders diff --git a/keyboards/z34/readme.md b/keyboards/z34/readme.md new file mode 100644 index 0000000000..29bbf571a3 --- /dev/null +++ b/keyboards/z34/readme.md @@ -0,0 +1,3 @@ +# z34 + +Firmware for [z34 split keyboard](https://github.com/zigotica/mechanical-keyboards/tree/main/z34) designed by @zigotica diff --git a/keyboards/z34/rules.mk b/keyboards/z34/rules.mk new file mode 100644 index 0000000000..6370c7a93f --- /dev/null +++ b/keyboards/z34/rules.mk @@ -0,0 +1,28 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# 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 = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes # Split common +LTO_ENABLE = yes # Enables Link Time Optimization (LTO) which reduces the compiled size + +# There are no extra pins, so we make sure to disable OLED and Encoders +OLED_SUPPORTED = no # Enables the use of OLED displays +ENCODER_SUPPORTED = no # Enables the use of encoders + diff --git a/keyboards/z34/z34.c b/keyboards/z34/z34.c new file mode 100644 index 0000000000..779562e630 --- /dev/null +++ b/keyboards/z34/z34.c @@ -0,0 +1,17 @@ +/* Copyright 2020 Sergi Meseguer + * + * 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 "z34.h" diff --git a/keyboards/z34/z34.h b/keyboards/z34/z34.h new file mode 100644 index 0000000000..3def2d4c2c --- /dev/null +++ b/keyboards/z34/z34.h @@ -0,0 +1,39 @@ +/* Copyright 2020 Sergi Meseguer + * + * 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 "quantum.h" + +/* This a shortcut to help you visually see your layout */ + +#define ___ KC_NO + +#define LAYOUT( \ + L05, L04, L03, L02, L01, R01, R02, R03, R04, R05, \ + L10, L09, L08, L07, L06, R06, R07, R08, R09, R10, \ + L15, L14, L13, L12, L11, R11, R12, R13, R14, R15, \ + L17, L16, R16, R17 \ + ) \ + { \ + { L05, L04, L03, L02, L01 }, \ + { L10, L09, L08, L07, L06 }, \ + { L15, L14, L13, L12, L11 }, \ + { L17, L16, ___, ___ , ___}, \ + { R01, R02, R03, R04, R05 }, \ + { R06, R07, R08, R09, R10 }, \ + { R11, R12, R13, R14, R15 }, \ + { R16, R17, ___, ___, ___ } \ + } + From e33ccc556f594e1335e003ac2e8fe84154bfa16e Mon Sep 17 00:00:00 2001 From: thompson-ele Date: Mon, 11 Oct 2021 18:06:48 -0700 Subject: [PATCH 07/48] [Keymap] Added Gherkin VIA keymap (#14779) --- .../gherkin/keymaps/via/keymap.c | 45 +++++++++++++++++++ .../gherkin/keymaps/via/rules.mk | 2 + 2 files changed, 47 insertions(+) create mode 100644 keyboards/40percentclub/gherkin/keymaps/via/keymap.c create mode 100644 keyboards/40percentclub/gherkin/keymaps/via/rules.mk diff --git a/keyboards/40percentclub/gherkin/keymaps/via/keymap.c b/keyboards/40percentclub/gherkin/keymaps/via/keymap.c new file mode 100644 index 0000000000..d119e6ae91 --- /dev/null +++ b/keyboards/40percentclub/gherkin/keymaps/via/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2021 keebnewb + +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_ortho_3x10( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, + KC_Z, KC_X, KC_C, KC_V, KC_BSPC, KC_SPC, KC_B, KC_N, KC_M, KC_ENT + ), + + [1] = LAYOUT_ortho_3x10( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_ortho_3x10( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_ortho_3x10( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/40percentclub/gherkin/keymaps/via/rules.mk b/keyboards/40percentclub/gherkin/keymaps/via/rules.mk new file mode 100644 index 0000000000..36b7ba9cbc --- /dev/null +++ b/keyboards/40percentclub/gherkin/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes From 8385ab32d056dae61546279c9d778dd1a20eaada Mon Sep 17 00:00:00 2001 From: Joris Wachsmuth <52176899+PercyJW-2@users.noreply.github.com> Date: Tue, 12 Oct 2021 03:09:25 +0200 Subject: [PATCH 08/48] [Keyboard] Add Split65 to keyboards/handwired (#13264) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Joris Wachsmuth --- keyboards/handwired/split65/info.json | 93 +++++++++++++ .../split65/keymaps/default/keymap.c | 65 +++++++++ .../handwired/split65/keymaps/via/keymap.c | 65 +++++++++ .../handwired/split65/keymaps/via/rules.mk | 1 + keyboards/handwired/split65/promicro/config.h | 53 +++++++ .../handwired/split65/promicro/promicro.c | 16 +++ .../handwired/split65/promicro/promicro.h | 38 +++++ keyboards/handwired/split65/promicro/rules.mk | 23 ++++ keyboards/handwired/split65/readme.md | 25 ++++ keyboards/handwired/split65/split65.c | 130 ++++++++++++++++++ keyboards/handwired/split65/split65.h | 24 ++++ keyboards/handwired/split65/stm32/config.h | 60 ++++++++ keyboards/handwired/split65/stm32/halconf.h | 21 +++ keyboards/handwired/split65/stm32/rules.mk | 25 ++++ keyboards/handwired/split65/stm32/stm32.c | 16 +++ keyboards/handwired/split65/stm32/stm32.h | 38 +++++ 16 files changed, 693 insertions(+) create mode 100644 keyboards/handwired/split65/info.json create mode 100644 keyboards/handwired/split65/keymaps/default/keymap.c create mode 100644 keyboards/handwired/split65/keymaps/via/keymap.c create mode 100644 keyboards/handwired/split65/keymaps/via/rules.mk create mode 100644 keyboards/handwired/split65/promicro/config.h create mode 100644 keyboards/handwired/split65/promicro/promicro.c create mode 100644 keyboards/handwired/split65/promicro/promicro.h create mode 100644 keyboards/handwired/split65/promicro/rules.mk create mode 100644 keyboards/handwired/split65/readme.md create mode 100644 keyboards/handwired/split65/split65.c create mode 100644 keyboards/handwired/split65/split65.h create mode 100644 keyboards/handwired/split65/stm32/config.h create mode 100644 keyboards/handwired/split65/stm32/halconf.h create mode 100644 keyboards/handwired/split65/stm32/rules.mk create mode 100644 keyboards/handwired/split65/stm32/stm32.c create mode 100644 keyboards/handwired/split65/stm32/stm32.h diff --git a/keyboards/handwired/split65/info.json b/keyboards/handwired/split65/info.json new file mode 100644 index 0000000000..543fc9c394 --- /dev/null +++ b/keyboards/handwired/split65/info.json @@ -0,0 +1,93 @@ +{ + "keyboard_name": "split65", + "url": "https://github.com/PercyJW-2/Split65", + "maintainer": "PercyJW-2", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"\u00ac", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"\"", "x":2, "y":0}, + {"label":"\u00a3", "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":"Backspace", "x":13, "y":0, "w":2}, + {"x":15, "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":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "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":"~", "x":12.75, "y":2}, + {"x":15, "y":2}, + {"label":"Shift", "x":0, "y":3, "w":1.25}, + + {"label":"|", "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}, + {"label":"UP", "x":14, "y":3}, + {"x":15, "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":3}, + {"x":6.75, "y":4, "w":3.25}, + {"label":"AltGr", "x":10, "y":4}, + + {"label":"Win", "x":11, "y":4}, + {"label":"Menu", "x":12, "y":4}, + {"label":"LEFT", "x":13, "y":4}, + {"label":"DOWN", "x":14, "y":4}, + {"label":"RIGHT", "x":15, "y":4}] + } + } +} diff --git a/keyboards/handwired/split65/keymaps/default/keymap.c b/keyboards/handwired/split65/keymaps/default/keymap.c new file mode 100644 index 0000000000..acb9b679eb --- /dev/null +++ b/keyboards/handwired/split65/keymaps/default/keymap.c @@ -0,0 +1,65 @@ +/* Copyright 2020-2021 PercyJW-2 + * + * 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 { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = 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_BSPC, KC_INS, + 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_DEL, + 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_NUHS, 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_ENT, KC_RALT, LOWER, RAISE, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_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_F12, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} diff --git a/keyboards/handwired/split65/keymaps/via/keymap.c b/keyboards/handwired/split65/keymaps/via/keymap.c new file mode 100644 index 0000000000..acb9b679eb --- /dev/null +++ b/keyboards/handwired/split65/keymaps/via/keymap.c @@ -0,0 +1,65 @@ +/* Copyright 2020-2021 PercyJW-2 + * + * 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 { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = 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_BSPC, KC_INS, + 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_DEL, + 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_NUHS, 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_ENT, KC_RALT, LOWER, RAISE, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_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_F12, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} diff --git a/keyboards/handwired/split65/keymaps/via/rules.mk b/keyboards/handwired/split65/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/handwired/split65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/split65/promicro/config.h b/keyboards/handwired/split65/promicro/config.h new file mode 100644 index 0000000000..824dc76402 --- /dev/null +++ b/keyboards/handwired/split65/promicro/config.h @@ -0,0 +1,53 @@ +/* Copyright 2020-2021 PercyJW-2 + * + * 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 0x4A57 // JW +#define PRODUCT_ID 0x0000 // first keeb +#define DEVICE_VER 0x0000 // first revision +#define MANUFACTURER percyjw +#define PRODUCT split65 + +// Matrix Assignments +#define MATRIX_ROWS 10 //Rows are doubled-up +#define MATRIX_COLS 8 + +#define MATRIX_COL_PINS {F4, F5, F6, F7, B1, B3, B2, B6} +#define MATRIX_ROW_PINS {D4, C6, D7, E6, B4} + +// COL2ROW, ROW2COL +#define DIODE_DIRECTION COL2ROW + +#define MATRIX_IO_DELAY 5 + +// Split Keyboard specifics +#define SOFT_SERIAL_PIN D3 +#define SELECT_SOFT_SERIAL_SPEED 1 + +// Debounce to reduce unintended double-presses use 0 if not needed +#define DEBOUNCE 5 + +// Feature diable options +//#define NO_DEBUG +//#define NO_PRINT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#define OLED_DISPLAY_128X64 diff --git a/keyboards/handwired/split65/promicro/promicro.c b/keyboards/handwired/split65/promicro/promicro.c new file mode 100644 index 0000000000..2f7e1ebab4 --- /dev/null +++ b/keyboards/handwired/split65/promicro/promicro.c @@ -0,0 +1,16 @@ +/* Copyright 2020-2021 PercyJW-2 + * + * 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 "promicro.h" diff --git a/keyboards/handwired/split65/promicro/promicro.h b/keyboards/handwired/split65/promicro/promicro.h new file mode 100644 index 0000000000..204f0b88de --- /dev/null +++ b/keyboards/handwired/split65/promicro/promicro.h @@ -0,0 +1,38 @@ +/* Copyright 2020-2021 PercyJW-2 + * + * 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 "split65.h" + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, L06, R07, R06, R05, R04, R03, R02, R01, R00, \ + L10, L11, L12, L13, L14, L15, R17, R16, R15, R14, R13, R12, R11, R10, \ + L20, L21, L22, L23, L24, L25, R47, R27, R26, R25, R24, R23, R22, R21, R20, \ + L30, L31, L32, L33, L34, L35, L36, R37, R36, R35, R34, R33, R32, R31, R30, \ + L40, L41, L42, L43, R46, R45, R44, R43, R42, R41, R40 \ + ) \ + { \ + {L00, L01, L02, L03, L04, L05, L06, KC_NO}, \ + {L10, L11, L12, L13, L14, L15, KC_NO, KC_NO}, \ + {L20, L21, L22, L23, L24, L25, KC_NO, KC_NO}, \ + {L30, L31, L32, L33, L34, L35, L36, KC_NO}, \ + {L40, L41, L42, KC_NO, L43, KC_NO, KC_NO, KC_NO}, \ + {R00, R01, R02, R03, R04, R05, R06, R07}, \ + {R10, R11, R12, R13, R14, R15, R16, R17}, \ + {R20, R21, R22, R23, R24, R25, R26, R27}, \ + {R30, R31, R32, R33, R34, R35, R36, R37}, \ + {R40, R41, R42, R43, R44, R45, R46, R47} \ + } diff --git a/keyboards/handwired/split65/promicro/rules.mk b/keyboards/handwired/split65/promicro/rules.mk new file mode 100644 index 0000000000..bb95fcf67c --- /dev/null +++ b/keyboards/handwired/split65/promicro/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # 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 = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +OLED_ENABLE = yes +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/split65/readme.md b/keyboards/handwired/split65/readme.md new file mode 100644 index 0000000000..39dda3c3a5 --- /dev/null +++ b/keyboards/handwired/split65/readme.md @@ -0,0 +1,25 @@ +# Split65 + +An split 65% keyboard with two OLEDs + +* Keyboard Maintainer: [Percy-JW2](https://github.com/PercyJW-2) +* Hardware Supported: ProMicro and compatibles, Proton C +* Hardware Availability: [Repository](https://github.com/PercyJW-2/Split65) + +Make example for this keyboard with an ProMicro: + + make handwired/split65/promicro:default + +Make example for this keyboard with an Proton C: + + make handwired/split65/stm32:default + +Example for flashing this keyboard with an ProMicro + + make handwired/split65/promicro:default:flash + +Example for flashing this keyboard with an Proton C + + make handwired/split65/stm32: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/handwired/split65/split65.c b/keyboards/handwired/split65/split65.c new file mode 100644 index 0000000000..3b1dcaddae --- /dev/null +++ b/keyboards/handwired/split65/split65.c @@ -0,0 +1,130 @@ +/* Copyright 2020-2021 PercyJW-2 + * + * 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 "split65.h" + +// OLED Code inspired by https://github.com/qmk/qmk_firmware/blob/master/keyboards/splitkb/kyria/rev1/rev1.c + +#ifdef OLED_ENABLE +__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + +__attribute__((weak)) void oled_task_user(void) { + if (is_keyboard_master()) { + static const char PROGMEM qmk_logo[] = { + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; + + oled_write_P(qmk_logo, false); + + oled_write_P(PSTR("Split65\n\n"), false); + + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("Default\n"), false); + break; + case 1: + oled_write_P(PSTR("Lower\n"), false); + break; + case 2: + oled_write_P(PSTR("Raise\n"), false); + break; + case 3: + oled_write_P(PSTR("Adjust\n"), false); + break; + default: + oled_write_P(PSTR("Undefined\n"), false); + } + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); + } else { + static const char PROGMEM split65_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xfe, 0xff, 0xff, 0xef, 0xc7, 0xc7, 0x87, + 0x87, 0x87, 0x87, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, + 0x07, 0x07, 0x07, 0x07, 0xdf, 0xff, 0xfe, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0xf0, 0xfc, 0xfe, 0xfe, 0x9f, 0xcf, 0xc7, 0xc7, 0xc3, 0xc3, + 0xc7, 0x87, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xef, 0xc7, 0xc7, 0xc7, 0xc7, + 0xc7, 0xc7, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0xc1, 0x81, 0x81, + 0x81, 0x01, 0x05, 0x0d, 0x0d, 0x0c, 0x9c, 0xfc, 0xfc, 0xfc, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, + 0xf9, 0xf9, 0xf9, 0xf9, 0x19, 0x19, 0x19, 0x19, 0x1d, 0x0c, 0x0c, 0x0c, 0x01, 0x01, 0x01, 0x01, + 0x01, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x01, 0x01, + 0x01, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0xf8, 0xfc, + 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x7d, 0xfd, 0xfd, 0xf9, 0xfd, + 0x01, 0x01, 0x01, 0x00, 0x88, 0xfc, 0xfc, 0xfc, 0xf9, 0x01, 0x01, 0x01, 0x81, 0x81, 0x81, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x80, 0xfc, 0xfc, 0xfc, 0xfc, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, + 0x00, 0x03, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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(split65_logo, sizeof(split65_logo)); + } +} +#endif diff --git a/keyboards/handwired/split65/split65.h b/keyboards/handwired/split65/split65.h new file mode 100644 index 0000000000..7f60ab0bde --- /dev/null +++ b/keyboards/handwired/split65/split65.h @@ -0,0 +1,24 @@ +/* Copyright 2020-2021 PercyJW-2 + * + * 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" + +#if defined(KEYBOARD_handwired_split65_stm32) + #include "stm32.h" +#elif defined(KEYBOARD_handwired_split65_promicro) + #include "promicro.h" +#endif diff --git a/keyboards/handwired/split65/stm32/config.h b/keyboards/handwired/split65/stm32/config.h new file mode 100644 index 0000000000..28df964423 --- /dev/null +++ b/keyboards/handwired/split65/stm32/config.h @@ -0,0 +1,60 @@ +/* Copyright 2020-2021 PercyJW-2 + * + * 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 0x4A57 // JW +#define PRODUCT_ID 0x0000 // first keeb +#define DEVICE_VER 0x0000 // first revision +#define MANUFACTURER percyjw +#define PRODUCT split65 + +// Audio +#define AUDIO_PIN A5 +#define AUDIO_PIN_ALT A4 +#define AUDIO_PIN_ALT_AS_NEGATIVE + +// Matrix Assignments +#define MATRIX_ROWS 10 //Rows are doubled-up +#define MATRIX_COLS 8 + +#define MATRIX_COL_PINS {A2, A1, A0, B8, B13, B14, B15, B9} +#define MATRIX_ROW_PINS {B5, B4, B3, B2, B1} + +// COL2ROW, ROW2COL +#define DIODE_DIRECTION COL2ROW + +#define MATRIX_IO_DELAY 5 + +// Split Keyboard specifics +#define SOFT_SERIAL_PIN A9 +#define SELECT_SOFT_SERIAL_SPEED 1 +#define SERIAL_USART_DRIVER SD1 +#define SERIAL_USART_TX_PAL_MODE 7 +#define SERIAL_USART_TIMEOUT 100 + +// Debounce to reduce unintended double-presses use 0 if not needed +#define DEBOUNCE 5 + +// Feature diable options +//#define NO_DEBUG +//#define NO_PRINT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#define OLED_DISPLAY_128X64 diff --git a/keyboards/handwired/split65/stm32/halconf.h b/keyboards/handwired/split65/stm32/halconf.h new file mode 100644 index 0000000000..f3bfd154d1 --- /dev/null +++ b/keyboards/handwired/split65/stm32/halconf.h @@ -0,0 +1,21 @@ +/* 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 . + */ + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#include_next diff --git a/keyboards/handwired/split65/stm32/rules.mk b/keyboards/handwired/split65/stm32/rules.mk new file mode 100644 index 0000000000..cb54c352fa --- /dev/null +++ b/keyboards/handwired/split65/stm32/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = STM32F303 +BOARD = QMK_PROTON_C + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # 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 = no # Enable keyboard RGB underglow +AUDIO_ENABLE = yes # Audio output +OLED_ENABLE = yes +SPLIT_KEYBOARD = yes +SERIAL_DRIVER = usart diff --git a/keyboards/handwired/split65/stm32/stm32.c b/keyboards/handwired/split65/stm32/stm32.c new file mode 100644 index 0000000000..2fa511206e --- /dev/null +++ b/keyboards/handwired/split65/stm32/stm32.c @@ -0,0 +1,16 @@ +/* Copyright 2020-2021 PercyJW-2 + * + * 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 "stm32.h" diff --git a/keyboards/handwired/split65/stm32/stm32.h b/keyboards/handwired/split65/stm32/stm32.h new file mode 100644 index 0000000000..27f03b3e26 --- /dev/null +++ b/keyboards/handwired/split65/stm32/stm32.h @@ -0,0 +1,38 @@ +/* Copyright 2020-2021 PercyJW-2 + * + * 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 "split65.h" + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, L06, R07, R06, R05, R04, R03, R02, R01, R00, \ + L10, L11, L12, L13, L14, L15, R17, R16, R15, R14, R13, R12, R11, R10, \ + L20, L21, L22, L23, L24, L25, R47, R27, R26, R25, R24, R23, R22, R21, R20, \ + L30, L31, L32, L33, L34, L35, L36, R37, R36, R35, R34, R33, R32, R31, R30, \ + L40, L41, L42, L43, R46, R45, R44, R43, R42, R41, R40 \ + ) \ + { \ + {L00, L01, L02, L03, L04, L05, L06, KC_NO}, \ + {L10, L11, L12, L13, L14, L15, KC_NO, KC_NO}, \ + {L20, L21, L22, L23, L24, L25, KC_NO, KC_NO}, \ + {L30, L31, L32, L33, L34, L35, L36, KC_NO}, \ + {L40, L41, L42, KC_NO, L43, KC_NO, KC_NO, KC_NO}, \ + {R00, R01, R02, R03, R04, R05, R06, R07}, \ + {R10, R11, R12, R13, R14, R15, R16, R17}, \ + {R20, R21, R22, R23, R24, R25, R26, R27}, \ + {R30, R31, R32, R33, R34, R35, R36, R37}, \ + {R40, R41, R42, R43, R44, R45, R46, R47} \ + } From bedecd3cbcfad07c8ee330bd561c94bc758bda87 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 12 Oct 2021 01:44:47 +0000 Subject: [PATCH 09/48] Nordic60 layout rework/extension (#14794) --- keyboards/kbnordic/nordic60/info.json | 551 +++++++++++------- .../nordic60/keymaps/default/keymap.c | 30 +- .../nordic60/keymaps/default_ansi/keymap.c | 30 +- keyboards/kbnordic/nordic60/rev_a/rev_a.h | 78 ++- 4 files changed, 445 insertions(+), 244 deletions(-) diff --git a/keyboards/kbnordic/nordic60/info.json b/keyboards/kbnordic/nordic60/info.json index 266e7fde4a..aa5a82a002 100644 --- a/keyboards/kbnordic/nordic60/info.json +++ b/keyboards/kbnordic/nordic60/info.json @@ -3,210 +3,359 @@ "url": "kbnordic.se", "maintainer": "4pplet", "layouts": { - - "LAYOUT_iso": { - "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": "Backspace", "w": 2, "x": 13, "y": 0 }, - { "label": "Tab", "w": 1.5, "x": 0, "y": 1 }, - { "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 }, - { "h": 2, "label": "ISO", "w": 1.25, "x": 13.75, "y": 1 }, - { "label": "Caps Lock", "w": 1.75, "x": 0, "y": 2 }, - { "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": "Shift", "w": 1.25, "x": 0, "y": 3 }, - { "label": "ISO", "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", "w": 1.75, "x": 12.25, "y": 3 }, - { "label": "Fn", "x": 14, "y": 3 }, - { "label": "Ctrl", "w": 1.25, "x": 0, "y": 4 }, - { "label": "Win", "w": 1.25, "x": 1.25, "y": 4 }, - { "label": "Alt", "w": 1.25, "x": 2.5, "y": 4 }, - { "w": 6.25, "x": 3.75, "y": 4 }, - { "label": "Alt", "w": 1.25, "x": 10, "y": 4 }, - { "label": "Win", "w": 1.25, "x": 11.25, "y": 4 }, - { "label": "Menu", "w": 1.25, "x": 12.5, "y": 4 }, - { "label": "Ctrl", "w": 1.25, "x": 13.75, "y": 4 } - ] - }, - - "LAYOUT_ansi": { - "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": "Backspace", "w": 2, "x": 13, "y": 0 }, - { "label": "Tab", "w": 1.5, "x": 0, "y": 1 }, - { "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": "|", "w": 1.5, "x": 13.5, "y": 1 }, - { "label": "Caps Lock", "w": 1.75, "x": 0, "y": 2 }, - { "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": "Enter", "w": 2.25, "x": 12.75, "y": 2 }, - { "label": "Shift", "w": 2.25, "x": 0, "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", "w": 1.75, "x": 12.25, "y": 3 }, - { "label": "Fn", "x": 14, "y": 3 }, - { "label": "Ctrl", "w": 1.25, "x": 0, "y": 4 }, - { "label": "Win", "w": 1.25, "x": 1.25, "y": 4 }, - { "label": "Alt", "w": 1.25, "x": 2.5, "y": 4 }, - { "w": 6.25, "x": 3.75, "y": 4 }, - { "label": "Alt", "w": 1.25, "x": 10, "y": 4 }, - { "label": "Win", "w": 1.25, "x": 11.25, "y": 4 }, - { "label": "Menu", "w": 1.25, "x": 12.5, "y": 4 }, - { "label": "Ctrl", "w": 1.25, "x": 13.75, "y": 4 } - ] - }, "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 }, - { "x": 13, "y": 0 }, - { "x": 14, "y": 0 }, - { "label": "Tab", "w": 1.5, "x": 0, "y": 1 }, - { "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": "|", "w": 1.5, "x": 13.5, "y": 1 }, - { "label": "Caps Lock", "w": 1.75, "x": 0, "y": 2 }, - { "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": "Enter", "w": 2.25, "x": 12.75, "y": 2 }, - { "label": "Shift", "w": 1.25, "x": 0, "y": 3 }, - { "label": "ISO", "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", "w": 1.75, "x": 12.25, "y": 3 }, - { "label": "Fn", "x": 14, "y": 3 }, - { "label": "Ctrl", "w": 1.25, "x": 0, "y": 4 }, - { "label": "Win", "w": 1.25, "x": 1.25, "y": 4 }, - { "label": "Alt", "w": 1.25, "x": 2.5, "y": 4 }, - { "w": 6.25, "x": 3.75, "y": 4 }, - { "label": "Alt", "w": 1.25, "x": 10, "y": 4 }, - { "label": "Win", "w": 1.25, "x": 11.25, "y": 4 }, - { "label": "Menu", "w": 1.25, "x": 12.5, "y": 4 }, - { "label": "Ctrl", "w": 1.25, "x": 13.75, "y": 4 } + {"label":"`~", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "y":0}, + + {"label":"Tab", "w":1.5, "x":0, "y":1}, + {"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":"\\|", "w":1.5, "x":13.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":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "w":1.25, "x":0, "y":3}, + {"label":"\\|", "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", "w":1.75, "x":12.25, "y":3}, + {"label":"Fn", "x":14, "y":3}, + + {"label":"Ctrl", "w":1.25, "x":0, "y":4}, + {"label":"Win", "w":1.25, "x":1.25, "y":4}, + {"label":"Alt", "w":1.25, "x":2.5, "y":4}, + {"label":"Space", "w":6.25, "x":3.75, "y":4}, + {"label":"Alt", "w":1.25, "x":10, "y":4}, + {"label":"Win", "w":1.25, "x":11.25, "y":4}, + {"label":"Menu", "w":1.25, "x":12.5, "y":4}, + {"label":"Ctrl", "w":1.25, "x":13.75, "y":4} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label":"`\u00ac", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2\"", "x":2, "y":0}, + {"label":"3\u00a3", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"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":"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":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "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":2.75}, + + {"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}, + {"label":"Space", "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":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"label":"`\u00ac", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2\"", "x":2, "y":0}, + {"label":"3\u00a3", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "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":"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":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "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}, + {"label":"Fn", "x":14, "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}, + {"label":"Space", "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":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi": { + "layout": [ + {"label":"`~", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"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":"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":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"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":2.75}, + + {"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}, + {"label":"Space", "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":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"label":"`~", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "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":"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":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"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}, + {"label":"Fn", "x":14, "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}, + {"label":"Space", "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":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} ] } - - } } diff --git a/keyboards/kbnordic/nordic60/keymaps/default/keymap.c b/keyboards/kbnordic/nordic60/keymaps/default/keymap.c index 715fdaacad..0776088335 100644 --- a/keyboards/kbnordic/nordic60/keymaps/default/keymap.c +++ b/keyboards/kbnordic/nordic60/keymaps/default/keymap.c @@ -17,18 +17,20 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// main layer -[0] = LAYOUT_iso( - 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, - KC_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_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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), -// basic function layer -[1] = LAYOUT_iso( - RESET, 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + // main layer + [0] = LAYOUT_60_iso_split_bs_rshift( + 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_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_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_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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + // basic function layer + [1] = LAYOUT_60_iso_split_bs_rshift( + RESET, 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS + ) }; diff --git a/keyboards/kbnordic/nordic60/keymaps/default_ansi/keymap.c b/keyboards/kbnordic/nordic60/keymaps/default_ansi/keymap.c index 1ebde8e180..21b2249f74 100644 --- a/keyboards/kbnordic/nordic60/keymaps/default_ansi/keymap.c +++ b/keyboards/kbnordic/nordic60/keymaps/default_ansi/keymap.c @@ -17,18 +17,20 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// main layer -[0] = LAYOUT_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_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_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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), -// basic function layer -[1] = LAYOUT_ansi( - RESET, 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + // main layer + [0] = LAYOUT_60_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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + // basic function layer + [1] = LAYOUT_60_ansi( + RESET, 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 + ) }; diff --git a/keyboards/kbnordic/nordic60/rev_a/rev_a.h b/keyboards/kbnordic/nordic60/rev_a/rev_a.h index 9b925efaac..25599a33c5 100644 --- a/keyboards/kbnordic/nordic60/rev_a/rev_a.h +++ b/keyboards/kbnordic/nordic60/rev_a/rev_a.h @@ -18,6 +18,24 @@ along with this program. If not, see . #include "quantum.h" +#define XXX KC_NO + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │1d │ │1d │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │2c │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2d │ ISO Enter + * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │ │2c │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌─┴───┴────┤ + * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │ │3c │ 2.75u RShift + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ └──────────┘ + * │40 │41 │42 │46 │4a │4b │4c │4d │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ + * │40 │41 │42 │46 │4b │4c │4d │ Tsangan/WKL + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + */ + #define LAYOUT_all( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k1d, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2c, \ @@ -30,35 +48,65 @@ along with this program. If not, see . {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \ {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ - {k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d}, \ + {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d}, \ } -#define LAYOUT_iso( \ +#define LAYOUT_60_iso( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k1d, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2d, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ - k40, k41, k42, k46, k4a, k4b, k4c, k4d \ + 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, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d \ ) \ { \ - {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO}, \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX}, \ + {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d}, \ +} + +#define LAYOUT_60_iso_split_bs_rshift( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k1d, \ + 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, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \ {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ - {k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d}, \ + {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d}, \ } -#define LAYOUT_ansi( \ +#define LAYOUT_60_ansi( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k1d, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2c, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ - k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ - k40, k41, k42, k46, k4a, k4b, k4c, k4d \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d \ ) \ { \ - {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO}, \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX}, \ {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \ - {k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ - {k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d}, \ + {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX}, \ + {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d}, \ +} + +#define LAYOUT_60_ansi_split_bs_rshift( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k1d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2c, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \ + {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ + {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d}, \ } From 25eac95348548b41f4bf4e8a02fc8bace270bd35 Mon Sep 17 00:00:00 2001 From: kb-elmo Date: Tue, 12 Oct 2021 04:25:28 +0200 Subject: [PATCH 10/48] [Keyboard] Add ISOlation and some kb-elmo keyboard updates (#14656) Co-authored-by: Drashna Jaelre --- keyboards/kb_elmo/isolation/config.h | 62 +++++++++++++++++++ keyboards/kb_elmo/isolation/info.json | 12 ++++ keyboards/kb_elmo/isolation/isolation.c | 17 +++++ keyboards/kb_elmo/isolation/isolation.h | 25 ++++++++ .../isolation/keymaps/default/keymap.c | 22 +++++++ keyboards/kb_elmo/isolation/readme.md | 24 +++++++ keyboards/kb_elmo/isolation/rules.mk | 24 +++++++ keyboards/kb_elmo/qez/qez.h | 2 +- keyboards/kb_elmo/sesame/readme.md | 15 ++++- keyboards/kb_elmo/twelvekey/readme.md | 7 ++- 10 files changed, 205 insertions(+), 5 deletions(-) create mode 100644 keyboards/kb_elmo/isolation/config.h create mode 100644 keyboards/kb_elmo/isolation/info.json create mode 100644 keyboards/kb_elmo/isolation/isolation.c create mode 100644 keyboards/kb_elmo/isolation/isolation.h create mode 100644 keyboards/kb_elmo/isolation/keymaps/default/keymap.c create mode 100644 keyboards/kb_elmo/isolation/readme.md create mode 100644 keyboards/kb_elmo/isolation/rules.mk diff --git a/keyboards/kb_elmo/isolation/config.h b/keyboards/kb_elmo/isolation/config.h new file mode 100644 index 0000000000..3d32efbcb4 --- /dev/null +++ b/keyboards/kb_elmo/isolation/config.h @@ -0,0 +1,62 @@ +/* +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 0x4EE6 +#define DEVICE_VER 0x0001 +#define MANUFACTURER kb-elmo +#define PRODUCT ISOlation + +/* key matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* direct key pin */ +#define DIRECT_PINS {{ B0 }} +#define UNUSED_PINS + +/* RGB backlight */ +#define RGB_DI_PIN B2 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 3 +# 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_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +# define RGBLIGHT_EFFECT_TWINKLE +#endif + +/* 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/kb_elmo/isolation/info.json b/keyboards/kb_elmo/isolation/info.json new file mode 100644 index 0000000000..1cca4610d7 --- /dev/null +++ b/keyboards/kb_elmo/isolation/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "isolation", + "url": "", + "maintainer": "kb-elmo", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0.25, "y":0, "w":1.25, "h":2} + ] + } + } +} diff --git a/keyboards/kb_elmo/isolation/isolation.c b/keyboards/kb_elmo/isolation/isolation.c new file mode 100644 index 0000000000..09b8c95541 --- /dev/null +++ b/keyboards/kb_elmo/isolation/isolation.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 "isolation.h" diff --git a/keyboards/kb_elmo/isolation/isolation.h b/keyboards/kb_elmo/isolation/isolation.h new file mode 100644 index 0000000000..580189ea25 --- /dev/null +++ b/keyboards/kb_elmo/isolation/isolation.h @@ -0,0 +1,25 @@ +/* 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 LAYOUT( \ + k00 \ +) { \ + { k00 } \ +} diff --git a/keyboards/kb_elmo/isolation/keymaps/default/keymap.c b/keyboards/kb_elmo/isolation/keymaps/default/keymap.c new file mode 100644 index 0000000000..9cfa21e9a4 --- /dev/null +++ b/keyboards/kb_elmo/isolation/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +/* 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( + KC_ENT + ) +}; diff --git a/keyboards/kb_elmo/isolation/readme.md b/keyboards/kb_elmo/isolation/readme.md new file mode 100644 index 0000000000..610c26a590 --- /dev/null +++ b/keyboards/kb_elmo/isolation/readme.md @@ -0,0 +1,24 @@ +# ISOlation + +![isolation](https://i.imgur.com/Pe1tWzJl.jpg) + +A seamless ISO single-key "macropad" + +* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) +* Hardware Supported: ISOlation RGB PCB +* Hardware Availability: [Open source project](https://github.com/kb-elmo/ISOlation) + +Make example for this keyboard (after setting up your build environment): + + make kb_elmo/isolation:default + +Flashing example for this keyboard: + + make kb_elmo/isolation:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +* **Bootmagic reset**: Hold down the enter key and plug in the keyboard +* **Bootloader pins**: Short the two pins labeled "BOOT" while plugging the board \ No newline at end of file diff --git a/keyboards/kb_elmo/isolation/rules.mk b/keyboards/kb_elmo/isolation/rules.mk new file mode 100644 index 0000000000..9602f01bcc --- /dev/null +++ b/keyboards/kb_elmo/isolation/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega328p + +# Processor frequency +F_CPU = 16000000 + +# Bootloader selection +BOOTLOADER = usbasploader + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# 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 +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/kb_elmo/qez/qez.h b/keyboards/kb_elmo/qez/qez.h index 1bf9cde248..0a3e2c0a7e 100644 --- a/keyboards/kb_elmo/qez/qez.h +++ b/keyboards/kb_elmo/qez/qez.h @@ -53,5 +53,5 @@ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \ - { ___, k31, k32, ___, ___, k35, ___, k37, k38, k39 } \ + { ___, k31, ___, ___, ___, k35, ___, ___, k38, k39 } \ } diff --git a/keyboards/kb_elmo/sesame/readme.md b/keyboards/kb_elmo/sesame/readme.md index 9fa7f3541c..c0211cfde4 100644 --- a/keyboards/kb_elmo/sesame/readme.md +++ b/keyboards/kb_elmo/sesame/readme.md @@ -1,15 +1,24 @@ # Sesame -![sesame](https://i.imgur.com/IdudbWjl.jpg) +![sesame](https://i.imgur.com/DNQMl8hl.jpg) Alice layout THT keyboard * Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) -* Hardware Supported: Sesame -* Hardware Availability: [Project is open source](https://github.com/kb-elmo/sesame) +* Hardware Supported: Sesame PCB rev.1 and rev.2 +* Hardware Availability: [Open source project](https://github.com/kb-elmo/sesame) Make example for this keyboard (after setting up your build environment): make kb_elmo/sesame:default +Flashing example for this keyboard: + + make kb_elmo/sesame:default:flash + See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard +* **Physical reset button**: Hold down the button labeled "BOOT" and briefly press the button labeled "RESET" on the back of the PCB \ No newline at end of file diff --git a/keyboards/kb_elmo/twelvekey/readme.md b/keyboards/kb_elmo/twelvekey/readme.md index db24063783..ab256d0470 100644 --- a/keyboards/kb_elmo/twelvekey/readme.md +++ b/keyboards/kb_elmo/twelvekey/readme.md @@ -1,6 +1,6 @@ # Twelvekey -![twelvekey](https://i.imgur.com/xBQIvpml.png) +![twelvekey](https://i.imgur.com/59sSO8kl.jpg) Simple 12-key macropad @@ -17,3 +17,8 @@ Flashing example for this keyboard: make kb_elmo/twelvekey:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard +* **Physical reset button**: Hold down the button labeled "BOOT" and briefly press the button labeled "RESET" on the back of the PCB From 4b2866dd96545bd11d5b4ae977080b60948850f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reibl=20J=C3=A1nos=20D=C3=A1niel?= Date: Tue, 12 Oct 2021 04:26:47 +0200 Subject: [PATCH 11/48] [Keymap] Add workman layout (#14792) --- layouts/community/ortho_5x12/riblee/keymap.c | 41 +++++++++++++++----- users/riblee/riblee.c | 6 +++ users/riblee/riblee.h | 2 + 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/layouts/community/ortho_5x12/riblee/keymap.c b/layouts/community/ortho_5x12/riblee/keymap.c index eb5f1af807..b34217bff4 100644 --- a/layouts/community/ortho_5x12/riblee/keymap.c +++ b/layouts/community/ortho_5x12/riblee/keymap.c @@ -84,17 +84,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | Esc | A | R | S | T | D | H | N | E | I | O | " | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * | Shift| Z | X | C | V | B | K | M | , | . | Up |Enter | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | / | Left | Down |Right | * `-----------------------------------------------------------------------------------' */ [_COLEMAK] = LAYOUT_ortho_5x12( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, + BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT ), /* Dvorak @@ -118,6 +118,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), +/* Workman + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | D | R | W | B | J | F | U | P | ; | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | A | S | H | T | G | Y | N | E | O | I | ' | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | M | C | V | K | L | , | . | Up |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | / | Left | Down |Right | + * `-----------------------------------------------------------------------------------' + */ +[_WORKMAN] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_DEL, + KC_ESC, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_UP, KC_ENT, + BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT +), + /* Lower * ,-----------------------------------------------------------------------------------. * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | @@ -126,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | Home | End | MS_U | BTN2 | + * | | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Home | End | MS_U | BTN2 | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | BTN1 | BTN2 | | BTN1 | MS_L | MS_D | MS_R | * `-----------------------------------------------------------------------------------' @@ -135,7 +156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME, KC_END, KC_MS_U, KC_BTN2, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_END, KC_MS_U, KC_BTN2, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_R ), @@ -164,9 +185,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Reset |Debug | | | | | | | | | Del | + * | |Reset |Debug | | | | | | | Ins |Prt sc| Del | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | |Mu mod|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| HUN | | + * | | |Mu mod|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| HUN |Wrkmn | * |------+------+------+------+------+------|------+------+------+------+------+------| * | | | | | | | NKRO | Swap |Un swp|UC Mod| | | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -175,8 +196,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_ortho_5x12( 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, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, HUNGARIAN, _______, + _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,KC_INS, KC_PSCR, KC_DEL, + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, HUNGARIAN, WORKMAN, _______, _______, _______, _______, _______, _______, NK_TOGG, LCG_SWP, LCG_NRM, UC_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/users/riblee/riblee.c b/users/riblee/riblee.c index 6e6a7c23c6..4bfa298c4a 100644 --- a/users/riblee/riblee.c +++ b/users/riblee/riblee.c @@ -152,6 +152,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; + case WORKMAN: + if (record->event.pressed) { + set_single_persistent_default_layer(_WORKMAN); + } + return false; + break; case HUNGARIAN: if (record->event.pressed) { set_single_persistent_default_layer(_HUNGARIAN); diff --git a/users/riblee/riblee.h b/users/riblee/riblee.h index a4038765a6..f7340d50b2 100644 --- a/users/riblee/riblee.h +++ b/users/riblee/riblee.h @@ -23,6 +23,7 @@ enum layer_names { _HUNGARIAN, _COLEMAK, _DVORAK, + _WORKMAN, _LOWER, _RAISE, _ADJUST @@ -33,6 +34,7 @@ enum custom_keycodes { HUNGARIAN, COLEMAK, DVORAK, + WORKMAN, BACKLIT }; From 78509658e6b76a843dab82e873421e942f7c076f Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 12 Oct 2021 02:40:29 +0000 Subject: [PATCH 12/48] KabeDon98E Refactor (#14778) Co-authored-by: Joel Challis --- keyboards/kabedon/kabedon98e/info.json | 215 +++++++++--------- keyboards/kabedon/kabedon98e/kabedon98e.c | 39 ++++ keyboards/kabedon/kabedon98e/kabedon98e.h | 59 +++-- .../kabedon98e/keymaps/default/keymap.c | 75 ++---- .../kabedon/kabedon98e/keymaps/via/keymap.c | 75 ++---- 5 files changed, 227 insertions(+), 236 deletions(-) diff --git a/keyboards/kabedon/kabedon98e/info.json b/keyboards/kabedon/kabedon98e/info.json index 1f7ecf586f..de8f975b2d 100644 --- a/keyboards/kabedon/kabedon98e/info.json +++ b/keyboards/kabedon/kabedon98e/info.json @@ -1,112 +1,117 @@ { - "keyboard_name": "KabeDon98E", - "url": "", - "maintainer": "370490639", + "keyboard_name": "KabeDon98E", + "url": "", + "maintainer": "370490639", "layouts": { "LAYOUT": { "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":1.5, "y":0}, - {"label":"F2", "x":2.5, "y":0}, - {"label":"F3", "x":3.5, "y":0}, - {"label":"F4", "x":4.5, "y":0}, - {"label":"F5", "x":6.25, "y":0}, - {"label":"F6", "x":7.25, "y":0}, - {"label":"F7", "x":8.25, "y":0}, - {"label":"F8", "x":9.25, "y":0}, - {"label":"F9", "x":11, "y":0}, - {"label":"F10", "x":12, "y":0}, - {"label":"F11", "x":13, "y":0}, - {"label":"F12", "x":14, "y":0}, - {"label":"Delete", "x":15.5, "y":0}, - {"label":"Insert", "x":17, "y":0}, - {"label":"Mute", "x":18.5, "y":0}, - {"label":"~", "x":0, "y":1.5}, - {"label":"!", "x":1, "y":1.5}, - {"label":"@", "x":2, "y":1.5}, - {"label":"#", "x":3, "y":1.5}, - {"label":"$", "x":4, "y":1.5}, - {"label":"%", "x":5, "y":1.5}, - {"label":"^", "x":6, "y":1.5}, - {"label":"&", "x":7, "y":1.5}, - {"label":"*", "x":8, "y":1.5}, - {"label":"(", "x":9, "y":1.5}, - {"label":")", "x":10, "y":1.5}, - {"label":"_", "x":11, "y":1.5}, - {"label":"+", "x":12, "y":1.5}, - {"label":"Backspace", "x":13, "y":1.5, "w":2}, - {"label":"Num Lock", "x":15.4, "y":1.5}, - {"label":"/", "x":16.4, "y":1.5}, - {"label":"*", "x":17.4, "y":1.5}, - {"label":"-", "x":18.4, "y":1.5}, - {"label":"Home", "x":19.8, "y":1.5}, - {"label":"Tab", "x":0, "y":2.5, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.5}, - {"label":"W", "x":2.5, "y":2.5}, - {"label":"E", "x":3.5, "y":2.5}, - {"label":"R", "x":4.5, "y":2.5}, - {"label":"T", "x":5.5, "y":2.5}, - {"label":"Y", "x":6.5, "y":2.5}, - {"label":"U", "x":7.5, "y":2.5}, - {"label":"I", "x":8.5, "y":2.5}, - {"label":"O", "x":9.5, "y":2.5}, - {"label":"P", "x":10.5, "y":2.5}, - {"label":"{", "x":11.5, "y":2.5}, - {"label":"}", "x":12.5, "y":2.5}, - {"label":"|", "x":13.5, "y":2.5, "w":1.5}, - {"label":"7", "x":15.4, "y":2.5}, - {"label":"8", "x":16.4, "y":2.5}, - {"label":"9", "x":17.4, "y":2.5}, - {"label":"+", "x":18.4, "y":2.5, "h":2}, - {"label":"End", "x":19.8, "y":2.5}, - {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, - {"label":"A", "x":1.75, "y":3.5}, - {"label":"S", "x":2.75, "y":3.5}, - {"label":"D", "x":3.75, "y":3.5}, - {"label":"F", "x":4.75, "y":3.5}, - {"label":"G", "x":5.75, "y":3.5}, - {"label":"H", "x":6.75, "y":3.5}, - {"label":"J", "x":7.75, "y":3.5}, - {"label":"K", "x":8.75, "y":3.5}, - {"label":"L", "x":9.75, "y":3.5}, - {"label":":", "x":10.75, "y":3.5}, - {"label":"\"", "x":11.75, "y":3.5}, - {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, - {"label":"4", "x":15.4, "y":3.5}, - {"label":"5", "x":16.4, "y":3.5}, - {"label":"6", "x":17.4, "y":3.5}, - {"label":"Shift", "x":0, "y":4.5, "w":2.25}, - {"label":"Z", "x":2.25, "y":4.5}, - {"label":"X", "x":3.25, "y":4.5}, - {"label":"C", "x":4.25, "y":4.5}, - {"label":"V", "x":5.25, "y":4.5}, - {"label":"B", "x":6.25, "y":4.5}, - {"label":"N", "x":7.25, "y":4.5}, - {"label":"M", "x":8.25, "y":4.5}, - {"label":"<", "x":9.25, "y":4.5}, - {"label":">", "x":10.25, "y":4.5}, - {"label":"?", "x":11.25, "y":4.5}, - {"label":"Shift", "x":12.25, "y":4.5, "w":1.75}, - {"label":"Up", "x":14.2, "y":4.7}, - {"label":"1", "x":15.4, "y":4.5}, - {"label":"2", "x":16.4, "y":4.5}, - {"label":"3", "x":17.4, "y":4.5}, - {"label":"Enter", "x":18.4, "y":4.5, "h":2}, - {"label":"Pgup", "x":19.8, "y":4.5}, - {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, - {"label":"Win", "x":1.25, "y":5.5}, - {"label":"Alt", "x":2.25, "y":5.5}, - {"label":"MO(1)", "x":3.25, "y":5.5}, - {"label":"Space", "x":4.25, "y":5.5, "w":6.25}, - {"label":"Alt", "x":10.5, "y":5.5, "w":1.25}, - {"label":"Ctrl", "x":11.75, "y":5.5, "w":1.25}, - {"label":"Left", "x":13.2, "y":5.7}, - {"label":"Down", "x":14.2, "y":5.7}, - {"label":"Right", "x":15.2, "y":5.7}, - {"label":"0", "x":16.4, "y":5.5}, - {"label":".", "x":17.4, "y":5.5}, - {"label":"Pgdn", "x":19.8, "y":5.5} - ] + {"label":"Esc", "x":0, "y":0.5}, + {"label":"F1", "x":1.667, "y":0.5}, + {"label":"F2", "x":2.667, "y":0.5}, + {"label":"F3", "x":3.667, "y":0.5}, + {"label":"F4", "x":4.667, "y":0.5}, + {"label":"F5", "x":6.333, "y":0.5}, + {"label":"F6", "x":7.333, "y":0.5}, + {"label":"F7", "x":8.333, "y":0.5}, + {"label":"F8", "x":9.333, "y":0.5}, + {"label":"F9", "x":11.0, "y":0.5}, + {"label":"F10", "x":12.0, "y":0.5}, + {"label":"F11", "x":13.0, "y":0.5}, + {"label":"F12", "x":14.0, "y":0.5}, + {"label":"Delete", "x":15.5, "y":0.5}, + {"label":"Home", "x":16.9, "y":0, "w":0.6, "h":0.5}, + {"label":"Insert", "x":17.0, "y":0.5}, + {"label":"End", "x":17.5, "y":0, "w":0.6, "h":0.5}, + {"label":"PgUp", "x":18.4, "y":0, "w":0.6, "h":0.5}, + {"label":"Mute", "x":18.5, "y":0.5}, + {"label":"PgDn", "x":19, "y":0, "w":0.6, "h":0.5}, + + {"label":"~", "x":0, "y":1.75}, + {"label":"!", "x":1, "y":1.75}, + {"label":"@", "x":2, "y":1.75}, + {"label":"#", "x":3, "y":1.75}, + {"label":"$", "x":4, "y":1.75}, + {"label":"%", "x":5, "y":1.75}, + {"label":"^", "x":6, "y":1.75}, + {"label":"&", "x":7, "y":1.75}, + {"label":"*", "x":8, "y":1.75}, + {"label":"(", "x":9, "y":1.75}, + {"label":")", "x":10, "y":1.75}, + {"label":"_", "x":11, "y":1.75}, + {"label":"+", "x":12, "y":1.75}, + {"label":"Backspace", "x":13, "y":1.75, "w":2}, + {"label":"Num Lock", "x":15.5, "y":1.75}, + {"label":"/", "x":16.5, "y":1.75}, + {"label":"*", "x":17.5, "y":1.75}, + {"label":"-", "x":18.5, "y":1.75}, + + {"label":"Tab", "x":0, "y":2.75, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.75}, + {"label":"W", "x":2.5, "y":2.75}, + {"label":"E", "x":3.5, "y":2.75}, + {"label":"R", "x":4.5, "y":2.75}, + {"label":"T", "x":5.5, "y":2.75}, + {"label":"Y", "x":6.5, "y":2.75}, + {"label":"U", "x":7.5, "y":2.75}, + {"label":"I", "x":8.5, "y":2.75}, + {"label":"O", "x":9.5, "y":2.75}, + {"label":"P", "x":10.5, "y":2.75}, + {"label":"{", "x":11.5, "y":2.75}, + {"label":"}", "x":12.5, "y":2.75}, + {"label":"|", "x":13.5, "y":2.75, "w":1.5}, + {"label":"7", "x":15.5, "y":2.75}, + {"label":"8", "x":16.5, "y":2.75}, + {"label":"9", "x":17.5, "y":2.75}, + + {"label":"Caps Lock", "x":0, "y":3.75, "w":1.75}, + {"label":"A", "x":1.75, "y":3.75}, + {"label":"S", "x":2.75, "y":3.75}, + {"label":"D", "x":3.75, "y":3.75}, + {"label":"F", "x":4.75, "y":3.75}, + {"label":"G", "x":5.75, "y":3.75}, + {"label":"H", "x":6.75, "y":3.75}, + {"label":"J", "x":7.75, "y":3.75}, + {"label":"K", "x":8.75, "y":3.75}, + {"label":"L", "x":9.75, "y":3.75}, + {"label":":", "x":10.75, "y":3.75}, + {"label":"\"", "x":11.75, "y":3.75}, + {"label":"Enter", "x":12.75, "y":3.75, "w":2.25}, + {"label":"4", "x":15.5, "y":3.75}, + {"label":"5", "x":16.5, "y":3.75}, + {"label":"6", "x":17.5, "y":3.75}, + {"label":"+", "x":18.5, "y":2.75, "h":2}, + + {"label":"Shift", "x":0, "y":4.75, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.75}, + {"label":"X", "x":3.25, "y":4.75}, + {"label":"C", "x":4.25, "y":4.75}, + {"label":"V", "x":5.25, "y":4.75}, + {"label":"B", "x":6.25, "y":4.75}, + {"label":"N", "x":7.25, "y":4.75}, + {"label":"M", "x":8.25, "y":4.75}, + {"label":"<", "x":9.25, "y":4.75}, + {"label":">", "x":10.25, "y":4.75}, + {"label":"?", "x":11.25, "y":4.75}, + {"label":"Shift", "x":12.25, "y":4.75, "w":1.75}, + {"label":"\u2191", "x":14.25, "y":5}, + {"label":"1", "x":15.5, "y":4.75}, + {"label":"2", "x":16.5, "y":4.75}, + {"label":"3", "x":17.5, "y":4.75}, + + {"label":"Ctrl", "x":0, "y":5.75, "w":1.25}, + {"label":"Win", "x":1.25, "y":5.75}, + {"label":"Alt", "x":2.25, "y":5.75}, + {"label":"MO(1)", "x":3.25, "y":5.75}, + {"label":"Space", "x":4.25, "y":5.75, "w":6.25}, + {"label":"Alt", "x":10.5, "y":5.75, "w":1.25}, + {"label":"Ctrl", "x":11.75, "y":5.75, "w":1.25}, + {"label":"\u2190", "x":13.25, "y":6}, + {"label":"\u2193", "x":14.25, "y":6}, + {"label":"\u2192", "x":15.25, "y":6}, + {"label":"0", "x":16.5, "y":5.75}, + {"label":".", "x":17.5, "y":5.75}, + {"label":"Enter", "x":18.5, "y":4.75, "h":2} + ] } } } diff --git a/keyboards/kabedon/kabedon98e/kabedon98e.c b/keyboards/kabedon/kabedon98e/kabedon98e.c index 5142c5887d..09af36de42 100644 --- a/keyboards/kabedon/kabedon98e/kabedon98e.c +++ b/keyboards/kabedon/kabedon98e/kabedon98e.c @@ -14,3 +14,42 @@ * along with this program. If not, see . */ #include "kabedon98e.h" + +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; + +void encoder_action_unregister(void) { + 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); + } + } +} + +void encoder_action_register(uint8_t index, bool clockwise) { + 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); +} + +void matrix_scan_kb(void) { + encoder_action_unregister(); + matrix_scan_user(); +} + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + encoder_action_register(index, clockwise); + return true; +}; diff --git a/keyboards/kabedon/kabedon98e/kabedon98e.h b/keyboards/kabedon/kabedon98e/kabedon98e.h index 0ddad3abf5..ce4b3fa0b2 100644 --- a/keyboards/kabedon/kabedon98e/kabedon98e.h +++ b/keyboards/kabedon/kabedon98e/kabedon98e.h @@ -17,26 +17,47 @@ #include "quantum.h" -#define XXXX KC_NO +#define XXX KC_NO + +/* ┌──┬──┐ ┌──┬──┐ + * │00│20│ │60│80│ + * └──┴──┘ └──┴──┘ + * \─en1┘ └en2─/ + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐ ┌───┐ ┌───┐ + * │10 │ │01 │11 │02 │12 │ │03 │13 │04 │14 │ │05 │15 │16 │17 │ │57 │ │48 │ │40 │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘ └───┘ └───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┬───┐ + * │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │37 │ │39 │49 │4A │5A │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤ + * │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │56 │47 │ │59 │69 │6A │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┤ │ + * │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │77 │ │79 │89 │8A │7A │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤ + * │90 │91 │82 │92 │83 │93 │84 │94 │85 │95 │86 │97 │┌───┐│99 │A9 │9A │ │ + * ├────┬───┼───┼───┼───┴───┴───┴───┴───┴───┴┬──┴─┬─┴──┬───┘│88 │└───┼───┼───┤ │ + * │B0 │A1 │B1 │B3 │B2 │B5 │A7 │┌───┼───┼───┐│B9 │AA │BA │ + * └────┴───┴───┴───┴────────────────────────┴────┴────┘│B7 │A8 │B8 │└───┴───┴───┘ + * └───┴───┴───┘ + */ #define LAYOUT( \ - KB00, KA01, KB01, KA02, KB02, KA03, KB03, KA04, KB04, KA05, KB05, KB06, KB07, KF07, KE08, KE00, \ - KD00, KC01, KD01, KC02, KD02, KC03, KD03, KC04, KD04, KC05, KD05, KC06, KD06, KD07, KD09, KE09, KE10, KF10, KA00, \ - KF00, KE01, KF01, KE02, KF02, KE03, KF03, KE04, KF04, KE05, KF05, KE06, KF06, KE07, KF09, KG09, KG10, KC00, \ - KH00, KG01, KH01, KG02, KH02, KG03, KH03, KG04, KH04, KG05, KH05, KG06, KH07, KH09, KI09, KI10, KH10, \ - KJ00, KJ01, KI02, KJ02, KI03, KJ03, KI04, KJ04, KI05, KJ05, KI06, KJ07, KI08, KJ09, KK09, KJ10, KG00, \ - KL00, KK01, KL01, KL03, KL02, KL05, KK07, KL07, KK08, KL08, KL09, KK10, KL10, KI00 \ + K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K16, K17, K57, K00,K48,K20, K60,K40,K80, \ + K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K37, K39, K49, K4A, K5A, \ + K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, K59, K69, K6A, \ + K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K77, K79, K89, K8A, K7A, \ + K90, K91, K82, K92, K83, K93, K84, K94, K85, K95, K86, K97, K88, K99, KA9, K9A, \ + KB0, KA1, KB1, KB3, KB2, KB5, KA7, KB7, KA8, KB8, KB9, KAA, KBA \ ) { \ - { KA00, KA01, KA02, KA03, KA04, KA05, XXXX, XXXX, XXXX, XXXX, XXXX }, \ - { KB00, KB01, KB02, KB03, KB04, KB05, KB06, KB07, XXXX, XXXX, XXXX }, \ - { KC00, KC01, KC02, KC03, KC04, KC05, KC06, XXXX, XXXX, XXXX, XXXX }, \ - { KD00, KD01, KD02, KD03, KD04, KD05, KD06, KD07, XXXX, KD09, XXXX }, \ - { KE00, KE01, KE02, KE03, KE04, KE05, KE06, KE07, KE08, KE09, KE10 }, \ - { KF00, KF01, KF02, KF03, KF04, KF05, KF06, KF07, XXXX, KF09, KF10 }, \ - { KG00, KG01, KG02, KG03, KG04, KG05, KG06, XXXX, XXXX, KG09, KG10 }, \ - { KH00, KH01, KH02, KH03, KH04, KH05, XXXX, KH07, XXXX, KH09, KH10 }, \ - { KI00, XXXX, KI02, KI03, KI04, KI05, KI06, XXXX, KI08, KI09, KI10 }, \ - { KJ00, KJ01, KJ02, KJ03, KJ04, KJ05, XXXX, KJ07, XXXX, KJ09, KJ10 }, \ - { XXXX, KK01, XXXX, XXXX, XXXX, XXXX, XXXX, KK07, KK08, KK09, KK10 }, \ - { KL00, KL01, KL02, KL03, XXXX, KL05, XXXX, KL07, KL08, KL09, KL10 } \ + { K00, K01, K02, K03, K04, K05, XXX, XXX, XXX, XXX, XXX }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, XXX, XXX, XXX }, \ + { K20, K21, K22, K23, K24, K25, K26, XXX, XXX, XXX, XXX }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, XXX, K39, XXX }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A }, \ + { K50, K51, K52, K53, K54, K55, K56, K57, XXX, K59, K5A }, \ + { K60, K61, K62, K63, K64, K65, K66, XXX, XXX, K69, K6A }, \ + { K70, K71, K72, K73, K74, K75, XXX, K77, XXX, K79, K7A }, \ + { K80, XXX, K82, K83, K84, K85, K86, XXX, K88, K89, K8A }, \ + { K90, K91, K92, K93, K94, K95, XXX, K97, XXX, K99, K9A }, \ + { XXX, KA1, XXX, XXX, XXX, XXX, XXX, KA7, KA8, KA9, KAA }, \ + { KB0, KB1, KB2, KB3, XXX, KB5, XXX, KB7, KB8, KB9, KBA } \ } diff --git a/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c b/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c index bace7931df..608110417e 100644 --- a/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c +++ b/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c @@ -45,64 +45,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { └──┘└──┘└──┘ */ [_BASE] = 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, KC_DEL, KC_INS, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 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_P7, KC_P8, KC_P9, KC_END, - 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_PGUP, - KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT, KC_PGDN), + 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_DEL, KC_HOME, KC_INS, KC_END, KC_PGUP, KC_MUTE, KC_PGDN, + 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_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_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_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [_FN] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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_VAI, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS), [_FN1] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) - -}; - -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; - -void encoder_action_unregister(void) { - 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); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - 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); -} - -void matrix_scan_user(void) { - encoder_action_unregister(); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return true; + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, 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/kabedon/kabedon98e/keymaps/via/keymap.c b/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c index bace7931df..608110417e 100644 --- a/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c +++ b/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c @@ -45,64 +45,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { └──┘└──┘└──┘ */ [_BASE] = 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, KC_DEL, KC_INS, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 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_P7, KC_P8, KC_P9, KC_END, - 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_PGUP, - KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT, KC_PGDN), + 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_DEL, KC_HOME, KC_INS, KC_END, KC_PGUP, KC_MUTE, KC_PGDN, + 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_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_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_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [_FN] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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_VAI, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS), [_FN1] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) - -}; - -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; - -void encoder_action_unregister(void) { - 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); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - 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); -} - -void matrix_scan_user(void) { - encoder_action_unregister(); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return true; + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + }; From 2d8dcf08e8981a30f2430a8794ff5013c56cfdd4 Mon Sep 17 00:00:00 2001 From: takashicompany Date: Tue, 12 Oct 2021 11:41:50 +0900 Subject: [PATCH 13/48] [Keyboard] Add "Center x Enter" (#14790) Co-authored-by: Drashna Jaelre --- .../center_enter/center_enter.c | 17 ++ .../center_enter/center_enter.h | 37 ++++ .../takashicompany/center_enter/config.h | 153 ++++++++++++++ .../takashicompany/center_enter/info.json | 191 ++++++++++++++++++ .../center_enter/keymaps/default/keymap.c | 97 +++++++++ .../center_enter/keymaps/via/config.h | 1 + .../center_enter/keymaps/via/keymap.c | 91 +++++++++ .../center_enter/keymaps/via/rules.mk | 1 + .../takashicompany/center_enter/readme.md | 29 +++ .../takashicompany/center_enter/rules.mk | 23 +++ 10 files changed, 640 insertions(+) create mode 100644 keyboards/takashicompany/center_enter/center_enter.c create mode 100644 keyboards/takashicompany/center_enter/center_enter.h create mode 100644 keyboards/takashicompany/center_enter/config.h create mode 100644 keyboards/takashicompany/center_enter/info.json create mode 100644 keyboards/takashicompany/center_enter/keymaps/default/keymap.c create mode 100644 keyboards/takashicompany/center_enter/keymaps/via/config.h create mode 100644 keyboards/takashicompany/center_enter/keymaps/via/keymap.c create mode 100644 keyboards/takashicompany/center_enter/keymaps/via/rules.mk create mode 100644 keyboards/takashicompany/center_enter/readme.md create mode 100644 keyboards/takashicompany/center_enter/rules.mk diff --git a/keyboards/takashicompany/center_enter/center_enter.c b/keyboards/takashicompany/center_enter/center_enter.c new file mode 100644 index 0000000000..4973e6a643 --- /dev/null +++ b/keyboards/takashicompany/center_enter/center_enter.c @@ -0,0 +1,17 @@ +/* Copyright 2021 takashicompany + * + * 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 "center_enter.h" diff --git a/keyboards/takashicompany/center_enter/center_enter.h b/keyboards/takashicompany/center_enter/center_enter.h new file mode 100644 index 0000000000..0bd576f432 --- /dev/null +++ b/keyboards/takashicompany/center_enter/center_enter.h @@ -0,0 +1,37 @@ +/* Copyright 2021 takashicompany + * + * 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( \ + k00, k01, k02, k03, k04, k05, k07, k08, k09, k0a, k0b, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b \ +) { \ + { k00, k01, k02, k03, k04, k05, KC_NO, k07, k08, k09, k0a, k0b }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b } \ +} diff --git a/keyboards/takashicompany/center_enter/config.h b/keyboards/takashicompany/center_enter/config.h new file mode 100644 index 0000000000..94868bde1e --- /dev/null +++ b/keyboards/takashicompany/center_enter/config.h @@ -0,0 +1,153 @@ +/* +Copyright 2021 takashicompany + +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 0x7463 // tc = takashicompany +#define PRODUCT_ID 0x0012 +#define DEVICE_VER 0x0001 +#define MANUFACTURER takashicompany +#define PRODUCT Center x Enter + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 12 + +/* + * 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 { E6, B4, B5 } +#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, D7, B2, B6, D0, D4, C6} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define ENCODER_RESOLUTION 1 +#define ENCODERS_PAD_A { D2 } +#define ENCODERS_PAD_B { D1 } + +/* + * 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 LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +#define RGB_DI_PIN D3 +#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 */ +# 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 (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 + +/* 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 + * + * 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 + +/* 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/takashicompany/center_enter/info.json b/keyboards/takashicompany/center_enter/info.json new file mode 100644 index 0000000000..f0f3af1f39 --- /dev/null +++ b/keyboards/takashicompany/center_enter/info.json @@ -0,0 +1,191 @@ +{ + "keyboard_name": "Center x Enter", + "url": "", + "maintainer": "takashicompany", + "layouts": { + "LAYOUT": { + "layout": [ + { + "label": "201", + "x": 0, + "y": 0, + "w": 1.5 + }, + { + "label": "1", + "x": 1.5, + "y": 0 + }, + { + "label": "2", + "x": 2.5, + "y": 0 + }, + { + "label": "3", + "x": 3.5, + "y": 0 + }, + { + "label": "4", + "x": 4.5, + "y": 0 + }, + { + "label": "5", + "x": 5.5, + "y": 0 + }, + { + "label": "901", + "x": 6.75, + "y": 0, + "w": 1.25, + "h": 2 + }, + { + "label": "6", + "x": 8, + "y": 0 + }, + { + "label": "7", + "x": 9, + "y": 0 + }, + { + "label": "8", + "x": 10, + "y": 0 + }, + { + "label": "9", + "x": 11, + "y": 0 + }, + { + "label": "10", + "x": 12, + "y": 0 + }, + { + "label": "301", + "x": 0, + "y": 1, + "w": 1.75 + }, + { + "label": "11", + "x": 1.75, + "y": 1 + }, + { + "label": "12", + "x": 2.75, + "y": 1 + }, + { + "label": "13", + "x": 3.75, + "y": 1 + }, + { + "label": "14", + "x": 4.75, + "y": 1 + }, + { + "label": "15", + "x": 5.75, + "y": 1 + }, + { + "label": "16", + "x": 8, + "y": 1 + }, + { + "label": "17", + "x": 9, + "y": 1 + }, + { + "label": "18", + "x": 10, + "y": 1 + }, + { + "label": "19", + "x": 11, + "y": 1 + }, + { + "label": "20", + "x": 12, + "y": 1 + }, + { + "label": "401", + "x": 0, + "y": 2, + "w": 2 + }, + { + "label": "21", + "x": 2, + "y": 2 + }, + { + "label": "22", + "x": 3, + "y": 2 + }, + { + "label": "23", + "x": 4, + "y": 2 + }, + { + "label": "24", + "x": 5, + "y": 2 + }, + { + "label": "25", + "x": 6, + "y": 2 + }, + { + "label": "31", + "x": 7, + "y": 2 + }, + { + "label": "26", + "x": 8, + "y": 2 + }, + { + "label": "27", + "x": 9, + "y": 2 + }, + { + "label": "28", + "x": 10, + "y": 2 + }, + { + "label": "29", + "x": 11, + "y": 2 + }, + { + "label": "30", + "x": 12, + "y": 2 + } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/takashicompany/center_enter/keymaps/default/keymap.c b/keyboards/takashicompany/center_enter/keymaps/default/keymap.c new file mode 100644 index 0000000000..1003d0558c --- /dev/null +++ b/keyboards/takashicompany/center_enter/keymaps/default/keymap.c @@ -0,0 +1,97 @@ +/* Copyright 2021 takashicompany + * + * 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 + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + SWITCH_LANG +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + LAYOUT( + KC_TAB, LT(2, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, ALT_T(KC_P), + KC_LCTL, KC_A, KC_S, LT(2, KC_D), KC_F, KC_G, SWITCH_LANG, KC_H, KC_J, LT(2, KC_K), KC_L, KC_ENT, + KC_LSFT, KC_Z, GUI_T(KC_X), ALT_T(KC_C), LT(1, KC_V), KC_B, KC_SPC, KC_N, LT(1, KC_M), KC_COMM, CTL_T(KC_DOT), KC_BSPC + ), + + LAYOUT( + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TRNS, KC_EQL, KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN, + KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_TRNS, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL + ), + + LAYOUT( + KC_TRNS, KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, + KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_TRNS, KC_TRNS, KC_LANG1, KC_NO, MO(3), KC_DEL + ), + + LAYOUT( + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, + KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO + ), + + LAYOUT( + 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 + ), +}; + +bool is_lang1 = false; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SWITCH_LANG: + if (record->event.pressed) { + + if (is_lang1) { + register_code(KC_LANG1); + is_lang1 = false; + } + else { + register_code(KC_LANG2); + is_lang1 = true; + } + } + break; + case KC_LANG1: + if (record->event.pressed) { + is_lang1 = false; + } + break; + + case KC_LANG2: + if (record->event.pressed) { + is_lang1 = true; + } + break; + } + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + + if (clockwise) { + tap_code(KC_MS_WH_UP); + } else { + tap_code(KC_MS_WH_DOWN); + } + + return true; +} diff --git a/keyboards/takashicompany/center_enter/keymaps/via/config.h b/keyboards/takashicompany/center_enter/keymaps/via/config.h new file mode 100644 index 0000000000..ec7c614382 --- /dev/null +++ b/keyboards/takashicompany/center_enter/keymaps/via/config.h @@ -0,0 +1 @@ +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 \ No newline at end of file diff --git a/keyboards/takashicompany/center_enter/keymaps/via/keymap.c b/keyboards/takashicompany/center_enter/keymaps/via/keymap.c new file mode 100644 index 0000000000..cc11ca18a8 --- /dev/null +++ b/keyboards/takashicompany/center_enter/keymaps/via/keymap.c @@ -0,0 +1,91 @@ +/* Copyright 2021 takashicompany + * + * 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 + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + SWITCH_LANG +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + LAYOUT( + KC_TAB, LT(2, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, ALT_T(KC_P), + KC_LCTL, KC_A, KC_S, LT(2, KC_D), KC_F, KC_G, SWITCH_LANG, KC_H, KC_J, LT(2, KC_K), KC_L, KC_ENT, + KC_LSFT, KC_Z, GUI_T(KC_X), ALT_T(KC_C), LT(1, KC_V), KC_B, KC_SPC, KC_N, LT(1, KC_M), KC_COMM, CTL_T(KC_DOT), KC_BSPC + ), + + LAYOUT( + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TRNS, KC_EQL, KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN, + KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_TRNS, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL + ), + + LAYOUT( + KC_TRNS, KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, + KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_TRNS, KC_TRNS, KC_LANG1, KC_NO, MO(3), KC_DEL + ), + + LAYOUT( + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, + KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO + ) +}; + +bool is_lang1 = false; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SWITCH_LANG: + if (record->event.pressed) { + + if (is_lang1) { + register_code(KC_LANG1); + is_lang1 = false; + } + else { + register_code(KC_LANG2); + is_lang1 = true; + } + } + break; + case KC_LANG1: + if (record->event.pressed) { + is_lang1 = false; + } + break; + + case KC_LANG2: + if (record->event.pressed) { + is_lang1 = true; + } + break; + } + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + + if (clockwise) { + tap_code(KC_MS_WH_UP); + } else { + tap_code(KC_MS_WH_DOWN); + } + + return true; +} diff --git a/keyboards/takashicompany/center_enter/keymaps/via/rules.mk b/keyboards/takashicompany/center_enter/keymaps/via/rules.mk new file mode 100644 index 0000000000..036bd6d1c3 --- /dev/null +++ b/keyboards/takashicompany/center_enter/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/takashicompany/center_enter/readme.md b/keyboards/takashicompany/center_enter/readme.md new file mode 100644 index 0000000000..d8db5cc7eb --- /dev/null +++ b/keyboards/takashicompany/center_enter/readme.md @@ -0,0 +1,29 @@ +# Center x Enter + +![image](https://raw.githubusercontent.com/takashicompany/center-enter/master/images/qmk.jpg) + +A 30% keyboard with the enter key placed in the center. +Option to install a rotary encoder is also available. +VIA (Remap) is also supported. + +* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) +* Hardware Supported: Center x Enter PCB, Pro Micro +* Hardware Availability: https://github.com/takashicompany/center-enter + +Make example for this keyboard (after setting up your build environment): + + make takashicompany/center_enter:default + +Flashing example for this keyboard: + + make takashicompany/center_enter:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/takashicompany/center_enter/rules.mk b/keyboards/takashicompany/center_enter/rules.mk new file mode 100644 index 0000000000..d8e321ce2e --- /dev/null +++ b/keyboards/takashicompany/center_enter/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# 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 +AUDIO_ENABLE = no # Audio output + +ENCODER_ENABLE = yes From a0b7c1618af74cc1e18a482ac79ed1ddedcda2df Mon Sep 17 00:00:00 2001 From: etiennelepagel <50152897+etiennelepagel@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:42:14 -0400 Subject: [PATCH 14/48] [Keyboard] Add MachKeyboards Mach3 (#14791) Co-authored-by: Ryan --- keyboards/machkeyboards/mach3/config.h | 45 ++++++++++++++++++ keyboards/machkeyboards/mach3/info.json | 47 +++++++++++++++++++ .../mach3/keymaps/default/keymap.c | 24 ++++++++++ .../mach3/keymaps/default/readme.md | 4 ++ .../machkeyboards/mach3/keymaps/via/keymap.c | 24 ++++++++++ .../machkeyboards/mach3/keymaps/via/rules.mk | 2 + keyboards/machkeyboards/mach3/mach3.c | 42 +++++++++++++++++ keyboards/machkeyboards/mach3/mach3.h | 29 ++++++++++++ keyboards/machkeyboards/mach3/readme.md | 22 +++++++++ keyboards/machkeyboards/mach3/rules.mk | 23 +++++++++ keyboards/machkeyboards/readme.md | 7 +++ 11 files changed, 269 insertions(+) create mode 100644 keyboards/machkeyboards/mach3/config.h create mode 100644 keyboards/machkeyboards/mach3/info.json create mode 100644 keyboards/machkeyboards/mach3/keymaps/default/keymap.c create mode 100644 keyboards/machkeyboards/mach3/keymaps/default/readme.md create mode 100644 keyboards/machkeyboards/mach3/keymaps/via/keymap.c create mode 100644 keyboards/machkeyboards/mach3/keymaps/via/rules.mk create mode 100644 keyboards/machkeyboards/mach3/mach3.c create mode 100644 keyboards/machkeyboards/mach3/mach3.h create mode 100644 keyboards/machkeyboards/mach3/readme.md create mode 100644 keyboards/machkeyboards/mach3/rules.mk create mode 100644 keyboards/machkeyboards/readme.md diff --git a/keyboards/machkeyboards/mach3/config.h b/keyboards/machkeyboards/mach3/config.h new file mode 100644 index 0000000000..d78f8dce9b --- /dev/null +++ b/keyboards/machkeyboards/mach3/config.h @@ -0,0 +1,45 @@ +/* Copyright 2021 Mach Keyboards + +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 0x4D41 +#define PRODUCT_ID 0x4D33 +#define DEVICE_VER 0x0001 +#define MANUFACTURER MachKeyboard +#define PRODUCT Mach33 + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 3 + +/* key pins */ +#define MATRIX_ROW_PINS { D1, D0, D4 } +#define MATRIX_COL_PINS { E6, B4, B5 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* backlight */ +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_BREATHING +#define BACKLIGHT_LEVELS 5 + +/* debounce */ +#define DEBOUNCE 5 \ No newline at end of file diff --git a/keyboards/machkeyboards/mach3/info.json b/keyboards/machkeyboards/mach3/info.json new file mode 100644 index 0000000000..42f29a9873 --- /dev/null +++ b/keyboards/machkeyboards/mach3/info.json @@ -0,0 +1,47 @@ +{ + "keyboard_name": "Mach 3", + "url": "https://machkeyboards.com", + "maintainer": "etiennelepagel", + "layouts": { + "LAYOUT_3x3": { + "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 + } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/machkeyboards/mach3/keymaps/default/keymap.c b/keyboards/machkeyboards/mach3/keymaps/default/keymap.c new file mode 100644 index 0000000000..19133200e0 --- /dev/null +++ b/keyboards/machkeyboards/mach3/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +/* Copyright 2021 Mach Keyboards + * + * 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_3x3( + BL_INC, BL_DEC, BL_BRTG, + BL_INC, BL_DEC, BL_BRTG, + BL_INC, BL_DEC, BL_BRTG + ) +}; \ No newline at end of file diff --git a/keyboards/machkeyboards/mach3/keymaps/default/readme.md b/keyboards/machkeyboards/mach3/keymaps/default/readme.md new file mode 100644 index 0000000000..d12e48d497 --- /dev/null +++ b/keyboards/machkeyboards/mach3/keymaps/default/readme.md @@ -0,0 +1,4 @@ +# Default Mach 3 Keymap + +This is the default layout that comes with the Mach 3. +The keys are set to only control the backlight. \ No newline at end of file diff --git a/keyboards/machkeyboards/mach3/keymaps/via/keymap.c b/keyboards/machkeyboards/mach3/keymaps/via/keymap.c new file mode 100644 index 0000000000..19133200e0 --- /dev/null +++ b/keyboards/machkeyboards/mach3/keymaps/via/keymap.c @@ -0,0 +1,24 @@ +/* Copyright 2021 Mach Keyboards + * + * 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_3x3( + BL_INC, BL_DEC, BL_BRTG, + BL_INC, BL_DEC, BL_BRTG, + BL_INC, BL_DEC, BL_BRTG + ) +}; \ No newline at end of file diff --git a/keyboards/machkeyboards/mach3/keymaps/via/rules.mk b/keyboards/machkeyboards/mach3/keymaps/via/rules.mk new file mode 100644 index 0000000000..36b7ba9cbc --- /dev/null +++ b/keyboards/machkeyboards/mach3/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/machkeyboards/mach3/mach3.c b/keyboards/machkeyboards/mach3/mach3.c new file mode 100644 index 0000000000..9769d02a53 --- /dev/null +++ b/keyboards/machkeyboards/mach3/mach3.c @@ -0,0 +1,42 @@ +/* Copyright 2021 Mach Keyboards + * + * 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 "mach3.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 1, 2 }, + { 7, 6, 5 }, + { 8, 9, 10 }, +}, { + // LED Index to Physical Position + { 0, 0 }, { 112, 0 }, { 224, 0 }, + { 0, 112 }, { 112, 112 }, { 224, 112 }, + { 0, 224 }, { 112, 224 }, { 224, 224 }, +}, { + // LED Index to Flag + 4, 4, 4, + 4, 4, 4, + 4, 4, 4 +} }; +#endif + +void keyboard_pre_init_kb(void) { + setPinOutput(F5); + writePinHigh(F5); + + keyboard_pre_init_user(); +} \ No newline at end of file diff --git a/keyboards/machkeyboards/mach3/mach3.h b/keyboards/machkeyboards/mach3/mach3.h new file mode 100644 index 0000000000..2eeadb3fba --- /dev/null +++ b/keyboards/machkeyboards/mach3/mach3.h @@ -0,0 +1,29 @@ +/* Copyright 2021 Mach Keyboards + * + * 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_3x3( \ + K00, K01, K02, \ + K10, K11, K12, \ + K20, K21, K22 \ + ) \ + { \ + { K00, K01, K02 }, \ + { K10, K11, K12 }, \ + { K20, K21, K22 } \ + } diff --git a/keyboards/machkeyboards/mach3/readme.md b/keyboards/machkeyboards/mach3/readme.md new file mode 100644 index 0000000000..16c61511b1 --- /dev/null +++ b/keyboards/machkeyboards/mach3/readme.md @@ -0,0 +1,22 @@ +# Mach 3 + +A 3x3 macropad with RGB underglow. +Note: It sets an output pin to high, which is the alimentation of the backlight circuit. + +* Keyboard Maintainer: [etiennelepagel](https://github.com/etiennelepagel) +* Hardware Supported: Mach 3 from Mach Keyboards +* Hardware Availability: [Mach Keyboards Official Website](https://machkeyboards.com/) + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + +Make example for this keyboard (after setting up your build environment): + + make machkeyboards/mach3: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/machkeyboards/mach3/rules.mk b/keyboards/machkeyboards/mach3/rules.mk new file mode 100644 index 0000000000..e8f6fb4038 --- /dev/null +++ b/keyboards/machkeyboards/mach3/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# 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 = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +UNICODE_ENABLE = yes +BACKLIGHT_DRIVER = pwm \ No newline at end of file diff --git a/keyboards/machkeyboards/readme.md b/keyboards/machkeyboards/readme.md new file mode 100644 index 0000000000..ef2f8b159d --- /dev/null +++ b/keyboards/machkeyboards/readme.md @@ -0,0 +1,7 @@ +# Mach Keyboards + +Mach Keyboards focus itself on selling the best macropad in the world. + +[Mach Keyboards Official Website](https://machkeyboards.com) +[Discord](https://discord.gg/ukFKFc7eXy) +[Instagram](https://www.instagram.com/machkeyboards) \ No newline at end of file From c63c78f0801f595f2200dab7246a1264b1ec847d Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 13 Oct 2021 05:40:48 +0000 Subject: [PATCH 15/48] Kopibeng MNK88 Layout Extension (#14796) * friendly-format info.json * mnk88.h: use QMK 3-character notation * mnk88.h: add matrix diagram * add LAYOUT_tkl_ansi_f13 * add LAYOUT_tkl_ansi_tsangan_f13 * add LAYOUT_tkl_iso_f13 * add LAYOUT_tkl_iso_tsangan_f13 --- keyboards/kopibeng/mnk88/info.json | 577 ++++++++++++++++++++++++----- keyboards/kopibeng/mnk88/mnk88.h | 110 +++++- 2 files changed, 581 insertions(+), 106 deletions(-) diff --git a/keyboards/kopibeng/mnk88/info.json b/keyboards/kopibeng/mnk88/info.json index f8e313f610..60973689fb 100644 --- a/keyboards/kopibeng/mnk88/info.json +++ b/keyboards/kopibeng/mnk88/info.json @@ -5,98 +5,491 @@ "layouts": { "LAYOUT_all": { "layout": [ - { "label": "0,0", "x": 0, "y": 0 }, - { "label": "0,1", "x": 1.25, "y": 0 }, - { "label": "0,2", "x": 2.25, "y": 0 }, - { "label": "0,3", "x": 3.25, "y": 0 }, - { "label": "0,4", "x": 4.25, "y": 0 }, - { "label": "0,5", "x": 5.5, "y": 0 }, - { "label": "0,6", "x": 6.5, "y": 0 }, - { "label": "0,7", "x": 7.5, "y": 0 }, - { "label": "0,8", "x": 8.5, "y": 0 }, - { "label": "0,9", "x": 9.75, "y": 0 }, - { "label": "0,10", "x": 10.75, "y": 0 }, - { "label": "0,11", "x": 11.75, "y": 0 }, - { "label": "0,12", "x": 12.75, "y": 0 }, - { "label": "0,13", "x": 14, "y": 0 }, - { "label": "0,14", "x": 15.25, "y": 0 }, - { "label": "0,15", "x": 16.25, "y": 0 }, - { "label": "0,16", "x": 17.25, "y": 0 }, - { "label": "1,0", "x": 0, "y": 1.25 }, - { "label": "1,1", "x": 1, "y": 1.25 }, - { "label": "1,2", "x": 2, "y": 1.25 }, - { "label": "1,3", "x": 3, "y": 1.25 }, - { "label": "1,4", "x": 4, "y": 1.25 }, - { "label": "1,5", "x": 5, "y": 1.25 }, - { "label": "1,6", "x": 6, "y": 1.25 }, - { "label": "1,7", "x": 7, "y": 1.25 }, - { "label": "1,8", "x": 8, "y": 1.25 }, - { "label": "1,9", "x": 9, "y": 1.25 }, - { "label": "1,10", "x": 10, "y": 1.25 }, - { "label": "1,11", "x": 11, "y": 1.25 }, - { "label": "1,12", "x": 12, "y": 1.25 }, - { "label": "2,12", "x": 13, "y": 1.25 }, - { "label": "1,13", "x": 14, "y": 1.25 }, - { "label": "1,14", "x": 15.25, "y": 1.25 }, - { "label": "1,15", "x": 16.25, "y": 1.25 }, - { "label": "1,16", "x": 17.25, "y": 1.25 }, - { "label": "2,0", "w": 1.5, "x": 0, "y": 2.25 }, - { "label": "2,1", "x": 1.5, "y": 2.25 }, - { "label": "2,2", "x": 2.5, "y": 2.25 }, - { "label": "2,3", "x": 3.5, "y": 2.25 }, - { "label": "2,4", "x": 4.5, "y": 2.25 }, - { "label": "2,5", "x": 5.5, "y": 2.25 }, - { "label": "2,6", "x": 6.5, "y": 2.25 }, - { "label": "2,7", "x": 7.5, "y": 2.25 }, - { "label": "2,8", "x": 8.5, "y": 2.25 }, - { "label": "2,9", "x": 9.5, "y": 2.25 }, - { "label": "2,10", "x": 10.5, "y": 2.25 }, - { "label": "2,11", "x": 11.5, "y": 2.25 }, - { "label": "3,12", "x": 12.5, "y": 2.25 }, - { "label": "2,13", "w": 1.5, "x": 13.5, "y": 2.25 }, - { "label": "2,14", "x": 15.25, "y": 2.25 }, - { "label": "2,15", "x": 16.25, "y": 2.25 }, - { "label": "2,16", "x": 17.25, "y": 2.25 }, - { "label": "3,0", "w": 1.75, "x": 0, "y": 3.25 }, - { "label": "3,1", "x": 1.75, "y": 3.25 }, - { "label": "3,2", "x": 2.75, "y": 3.25 }, - { "label": "3,3", "x": 3.75, "y": 3.25 }, - { "label": "3,4", "x": 4.75, "y": 3.25 }, - { "label": "3,5", "x": 5.75, "y": 3.25 }, - { "label": "3,6", "x": 6.75, "y": 3.25 }, - { "label": "3,7", "x": 7.75, "y": 3.25 }, - { "label": "3,8", "x": 8.75, "y": 3.25 }, - { "label": "3,9", "x": 9.75, "y": 3.25 }, - { "label": "3,10", "x": 10.75, "y": 3.25 }, - { "label": "3,11", "x": 11.75, "y": 3.25 }, - { "label": "3,13", "w": 2.25, "x": 12.75, "y": 3.25 }, - { "label": "4,0", "w": 1.25, "x": 0, "y": 4.25 }, - { "label": "4,1", "x": 1.25, "y": 4.25 }, - { "label": "4,2", "x": 2.25, "y": 4.25 }, - { "label": "4,3", "x": 3.25, "y": 4.25 }, - { "label": "4,4", "x": 4.25, "y": 4.25 }, - { "label": "4,5", "x": 5.25, "y": 4.25 }, - { "label": "4,6", "x": 6.25, "y": 4.25 }, - { "label": "4,7", "x": 7.25, "y": 4.25 }, - { "label": "4,8", "x": 8.25, "y": 4.25 }, - { "label": "4,9", "x": 9.25, "y": 4.25 }, - { "label": "4,10", "x": 10.25, "y": 4.25 }, - { "label": "4,11", "x": 11.25, "y": 4.25 }, - { "label": "4,12", "w": 1.75, "x": 12.25, "y": 4.25 }, - { "label": "4,13", "x": 14, "y": 4.25 }, - { "label": "4,15", "x": 16.25, "y": 4.25 }, - { "label": "5,0", "w": 1.25, "x": 0, "y": 5.25 }, - { "label": "5,1", "w": 1.25, "x": 1.25, "y": 5.25 }, - { "label": "5,2", "w": 1.25, "x": 2.5, "y": 5.25 }, - { "label": "5,6", "w": 6.25, "x": 3.75, "y": 5.25 }, - { "label": "5,10", "w": 1.25, "x": 10, "y": 5.25 }, - { "label": "5,11", "w": 1.25, "x": 11.25, "y": 5.25 }, - { "label": "5,12", "w": 1.25, "x": 12.5, "y": 5.25 }, - { "label": "5,13", "w": 1.25, "x": 13.75, "y": 5.25 }, - { "label": "5,14", "x": 15.25, "y": 5.25 }, - { "label": "5,15", "x": 16.25, "y": 5.25 }, - { "label": "4,16", "x": 17.25, "y": 5.25 } + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1.25, "y":0}, + {"label":"K02", "x":2.25, "y":0}, + {"label":"K03", "x":3.25, "y":0}, + {"label":"K04", "x":4.25, "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.75, "y":0}, + {"label":"K0A", "x":10.75, "y":0}, + {"label":"K0B", "x":11.75, "y":0}, + {"label":"K0C", "x":12.75, "y":0}, + {"label":"K0D", "x":14, "y":0}, + {"label":"K0E", "x":15.25, "y":0}, + {"label":"K0F", "x":16.25, "y":0}, + {"label":"K0G", "x":17.25, "y":0}, + + {"label":"K10", "x":0, "y":1.25}, + {"label":"K11", "x":1, "y":1.25}, + {"label":"K12", "x":2, "y":1.25}, + {"label":"K13", "x":3, "y":1.25}, + {"label":"K14", "x":4, "y":1.25}, + {"label":"K15", "x":5, "y":1.25}, + {"label":"K16", "x":6, "y":1.25}, + {"label":"K17", "x":7, "y":1.25}, + {"label":"K18", "x":8, "y":1.25}, + {"label":"K19", "x":9, "y":1.25}, + {"label":"K1A", "x":10, "y":1.25}, + {"label":"K1B", "x":11, "y":1.25}, + {"label":"K1C", "x":12, "y":1.25}, + {"label":"K2C", "x":13, "y":1.25}, + {"label":"K1D", "x":14, "y":1.25}, + {"label":"K1E", "x":15.25, "y":1.25}, + {"label":"K1F", "x":16.25, "y":1.25}, + {"label":"K1G", "x":17.25, "y":1.25}, + + {"label":"K20", "x":0, "y":2.25, "w":1.5}, + {"label":"K21", "x":1.5, "y":2.25}, + {"label":"K22", "x":2.5, "y":2.25}, + {"label":"K23", "x":3.5, "y":2.25}, + {"label":"K24", "x":4.5, "y":2.25}, + {"label":"K25", "x":5.5, "y":2.25}, + {"label":"K26", "x":6.5, "y":2.25}, + {"label":"K27", "x":7.5, "y":2.25}, + {"label":"K28", "x":8.5, "y":2.25}, + {"label":"K29", "x":9.5, "y":2.25}, + {"label":"K2A", "x":10.5, "y":2.25}, + {"label":"K2B", "x":11.5, "y":2.25}, + {"label":"K3C", "x":12.5, "y":2.25}, + {"label":"K2D", "x":13.5, "y":2.25, "w":1.5}, + {"label":"K2E", "x":15.25, "y":2.25}, + {"label":"K2F", "x":16.25, "y":2.25}, + {"label":"K2G", "x":17.25, "y":2.25}, + + {"label":"K30", "x":0, "y":3.25, "w":1.75}, + {"label":"K31", "x":1.75, "y":3.25}, + {"label":"K32", "x":2.75, "y":3.25}, + {"label":"K33", "x":3.75, "y":3.25}, + {"label":"K34", "x":4.75, "y":3.25}, + {"label":"K35", "x":5.75, "y":3.25}, + {"label":"K36", "x":6.75, "y":3.25}, + {"label":"K37", "x":7.75, "y":3.25}, + {"label":"K38", "x":8.75, "y":3.25}, + {"label":"K39", "x":9.75, "y":3.25}, + {"label":"K3A", "x":10.75, "y":3.25}, + {"label":"K3B", "x":11.75, "y":3.25}, + {"label":"K3D", "x":12.75, "y":3.25, "w":2.25}, + + {"label":"K40", "x":0, "y":4.25, "w":1.25}, + {"label":"K41", "x":1.25, "y":4.25}, + {"label":"K42", "x":2.25, "y":4.25}, + {"label":"K43", "x":3.25, "y":4.25}, + {"label":"K44", "x":4.25, "y":4.25}, + {"label":"K45", "x":5.25, "y":4.25}, + {"label":"K46", "x":6.25, "y":4.25}, + {"label":"K47", "x":7.25, "y":4.25}, + {"label":"K48", "x":8.25, "y":4.25}, + {"label":"K49", "x":9.25, "y":4.25}, + {"label":"K4A", "x":10.25, "y":4.25}, + {"label":"K4B", "x":11.25, "y":4.25}, + {"label":"K4C", "x":12.25, "y":4.25, "w":1.75}, + {"label":"K4D", "x":14, "y":4.25}, + {"label":"K4F", "x":16.25, "y":4.25}, + + {"label":"K50", "x":0, "y":5.25, "w":1.25}, + {"label":"K51", "x":1.25, "y":5.25, "w":1.25}, + {"label":"K52", "x":2.5, "y":5.25, "w":1.25}, + {"label":"K56", "x":3.75, "y":5.25, "w":6.25}, + {"label":"K5A", "x":10, "y":5.25, "w":1.25}, + {"label":"K5B", "x":11.25, "y":5.25, "w":1.25}, + {"label":"K5C", "x":12.5, "y":5.25, "w":1.25}, + {"label":"K5D", "x":13.75, "y":5.25, "w":1.25}, + {"label":"K5E", "x":15.25, "y":5.25}, + {"label":"K5F", "x":16.25, "y":5.25}, + {"label":"K4G", "x":17.25, "y":5.25} + ] + }, + "LAYOUT_tkl_ansi_f13": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"F13", "x":14, "y":0}, + {"label":"Print Screen", "x":15.25, "y":0}, + {"label":"Scroll Lock", "x":16.25, "y":0}, + {"label":"Pause", "x":17.25, "y":0}, + + {"label":"`~", "x":0, "y":1.25}, + {"label":"1!", "x":1, "y":1.25}, + {"label":"2@", "x":2, "y":1.25}, + {"label":"3#", "x":3, "y":1.25}, + {"label":"4$", "x":4, "y":1.25}, + {"label":"5%", "x":5, "y":1.25}, + {"label":"6^", "x":6, "y":1.25}, + {"label":"7&", "x":7, "y":1.25}, + {"label":"8*", "x":8, "y":1.25}, + {"label":"9(", "x":9, "y":1.25}, + {"label":"0)", "x":10, "y":1.25}, + {"label":"-_", "x":11, "y":1.25}, + {"label":"=+", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, + {"label":"Insert", "x":15.25, "y":1.25}, + {"label":"Home", "x":16.25, "y":1.25}, + {"label":"Page Up", "x":17.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[{", "x":11.5, "y":2.25}, + {"label":"]}", "x":12.5, "y":2.25}, + {"label":"\\|", "x":13.5, "y":2.25, "w":1.5}, + {"label":"Delete", "x":15.25, "y":2.25}, + {"label":"End", "x":16.25, "y":2.25}, + {"label":"Page Down", "x":17.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":";:", "x":10.75, "y":3.25}, + {"label":"'\"", "x":11.75, "y":3.25}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":",<", "x":9.25, "y":4.25}, + {"label":".>", "x":10.25, "y":4.25}, + {"label":"/?", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, + {"label":"\u2191", "x":16.25, "y":4.25}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label":"GUI", "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + {"label":"Space", "x":3.75, "y":5.25, "w":6.25}, + {"label":"Alt", "x":10, "y":5.25, "w":1.25}, + {"label":"GUI", "x":11.25, "y":5.25, "w":1.25}, + {"label":"Menu", "x":12.5, "y":5.25, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, + {"label":"\u2190", "x":15.25, "y":5.25}, + {"label":"\u2193", "x":16.25, "y":5.25}, + {"label":"\u2192", "x":17.25, "y":5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan_f13": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"F13", "x":14, "y":0}, + {"label":"Print Screen", "x":15.25, "y":0}, + {"label":"Scroll Lock", "x":16.25, "y":0}, + {"label":"Pause", "x":17.25, "y":0}, + + {"label":"`~", "x":0, "y":1.25}, + {"label":"1!", "x":1, "y":1.25}, + {"label":"2@", "x":2, "y":1.25}, + {"label":"3#", "x":3, "y":1.25}, + {"label":"4$", "x":4, "y":1.25}, + {"label":"5%", "x":5, "y":1.25}, + {"label":"6^", "x":6, "y":1.25}, + {"label":"7&", "x":7, "y":1.25}, + {"label":"8*", "x":8, "y":1.25}, + {"label":"9(", "x":9, "y":1.25}, + {"label":"0)", "x":10, "y":1.25}, + {"label":"-_", "x":11, "y":1.25}, + {"label":"=+", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, + {"label":"Insert", "x":15.25, "y":1.25}, + {"label":"Home", "x":16.25, "y":1.25}, + {"label":"Page Up", "x":17.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[{", "x":11.5, "y":2.25}, + {"label":"]}", "x":12.5, "y":2.25}, + {"label":"\\|", "x":13.5, "y":2.25, "w":1.5}, + {"label":"Delete", "x":15.25, "y":2.25}, + {"label":"End", "x":16.25, "y":2.25}, + {"label":"Page Down", "x":17.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":";:", "x":10.75, "y":3.25}, + {"label":"'\"", "x":11.75, "y":3.25}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":",<", "x":9.25, "y":4.25}, + {"label":".>", "x":10.25, "y":4.25}, + {"label":"/?", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, + {"label":"\u2191", "x":16.25, "y":4.25}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, + {"label":"GUI", "x":1.5, "y":5.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.5}, + {"label":"Space", "x":4, "y":5.25, "w":7}, + {"label":"Alt", "x":11, "y":5.25, "w":1.5}, + {"label":"Menu", "x":12.5, "y":5.25}, + {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5}, + {"label":"\u2190", "x":15.25, "y":5.25}, + {"label":"\u2193", "x":16.25, "y":5.25}, + {"label":"\u2192", "x":17.25, "y":5.25} + ] + }, + "LAYOUT_tkl_iso_f13": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"F13", "x":14, "y":0}, + {"label":"Print Screen", "x":15.25, "y":0}, + {"label":"Scroll Lock", "x":16.25, "y":0}, + {"label":"Pause", "x":17.25, "y":0}, + + {"label":"`\u00ac", "x":0, "y":1.25}, + {"label":"1!", "x":1, "y":1.25}, + {"label":"2\"", "x":2, "y":1.25}, + {"label":"3\u00a3", "x":3, "y":1.25}, + {"label":"4$", "x":4, "y":1.25}, + {"label":"5%", "x":5, "y":1.25}, + {"label":"6^", "x":6, "y":1.25}, + {"label":"7&", "x":7, "y":1.25}, + {"label":"8*", "x":8, "y":1.25}, + {"label":"9(", "x":9, "y":1.25}, + {"label":"0)", "x":10, "y":1.25}, + {"label":"-_", "x":11, "y":1.25}, + {"label":"=+", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, + {"label":"Insert", "x":15.25, "y":1.25}, + {"label":"Home", "x":16.25, "y":1.25}, + {"label":"Page Up", "x":17.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[{", "x":11.5, "y":2.25}, + {"label":"]}", "x":12.5, "y":2.25}, + {"label":"Delete", "x":15.25, "y":2.25}, + {"label":"End", "x":16.25, "y":2.25}, + {"label":"Page Down", "x":17.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":";:", "x":10.75, "y":3.25}, + {"label":"'@", "x":11.75, "y":3.25}, + {"label":"#~", "x":12.75, "y":3.25}, + {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2}, + + {"label":"Shift", "x":0, "y":4.25, "w":1.25}, + {"label":"\\|", "x":1.25, "y":4.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":",<", "x":9.25, "y":4.25}, + {"label":".>", "x":10.25, "y":4.25}, + {"label":"/?", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, + {"label":"\u2191", "x":16.25, "y":4.25}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label":"GUI", "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + {"label":"Space", "x":3.75, "y":5.25, "w":6.25}, + {"label":"Alt", "x":10, "y":5.25, "w":1.25}, + {"label":"GUI", "x":11.25, "y":5.25, "w":1.25}, + {"label":"Menu", "x":12.5, "y":5.25, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, + {"label":"\u2190", "x":15.25, "y":5.25}, + {"label":"\u2193", "x":16.25, "y":5.25}, + {"label":"\u2192", "x":17.25, "y":5.25} + ] + }, + "LAYOUT_tkl_iso_tsangan_f13": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"F13", "x":14, "y":0}, + {"label":"Print Screen", "x":15.25, "y":0}, + {"label":"Scroll Lock", "x":16.25, "y":0}, + {"label":"Pause", "x":17.25, "y":0}, + + {"label":"`\u00ac", "x":0, "y":1.25}, + {"label":"1!", "x":1, "y":1.25}, + {"label":"2\"", "x":2, "y":1.25}, + {"label":"3\u00a3", "x":3, "y":1.25}, + {"label":"4$", "x":4, "y":1.25}, + {"label":"5%", "x":5, "y":1.25}, + {"label":"6^", "x":6, "y":1.25}, + {"label":"7&", "x":7, "y":1.25}, + {"label":"8*", "x":8, "y":1.25}, + {"label":"9(", "x":9, "y":1.25}, + {"label":"0)", "x":10, "y":1.25}, + {"label":"-_", "x":11, "y":1.25}, + {"label":"=+", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, + {"label":"Insert", "x":15.25, "y":1.25}, + {"label":"Home", "x":16.25, "y":1.25}, + {"label":"Page Up", "x":17.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[{", "x":11.5, "y":2.25}, + {"label":"]}", "x":12.5, "y":2.25}, + {"label":"Delete", "x":15.25, "y":2.25}, + {"label":"End", "x":16.25, "y":2.25}, + {"label":"Page Down", "x":17.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":";:", "x":10.75, "y":3.25}, + {"label":"'@", "x":11.75, "y":3.25}, + {"label":"#~", "x":12.75, "y":3.25}, + {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2}, + + {"label":"Shift", "x":0, "y":4.25, "w":1.25}, + {"label":"\\|", "x":1.25, "y":4.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":",<", "x":9.25, "y":4.25}, + {"label":".>", "x":10.25, "y":4.25}, + {"label":"/?", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, + {"label":"\u2191", "x":16.25, "y":4.25}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, + {"label":"GUI", "x":1.5, "y":5.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.5}, + {"label":"Space", "x":4, "y":5.25, "w":7}, + {"label":"Alt", "x":11, "y":5.25, "w":1.5}, + {"label":"Menu", "x":12.5, "y":5.25}, + {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5}, + {"label":"\u2190", "x":15.25, "y":5.25}, + {"label":"\u2193", "x":16.25, "y":5.25}, + {"label":"\u2192", "x":17.25, "y":5.25} ] } } -} \ No newline at end of file +} diff --git a/keyboards/kopibeng/mnk88/mnk88.h b/keyboards/kopibeng/mnk88/mnk88.h index 4fabf95df1..5bec9d1634 100644 --- a/keyboards/kopibeng/mnk88/mnk88.h +++ b/keyboards/kopibeng/mnk88/mnk88.h @@ -18,22 +18,104 @@ #include "quantum.h" -#define ____ KC_NO - +#define ___ KC_NO +/* + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ + * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0E │0F │0G │ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2C │1D ││1E │1F │1G │ │1D │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │3C │2D ││2E │2F │2G │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐2D │ ISO Enter + * LShift │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3D │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ ┌─┴───┴────┤ + * │40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │ │4C │ 2.75u RShift + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ └──────────┘ + * │50 │51 │52 │56 │5A │5B │5C │5D ││5E │5F │4G │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ + * │50 │51 │52 │56 │5B │5C │5D │ Tsangan/WKL + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + */ #define LAYOUT_all( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K212, K113, K114, K115, K116, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K312, K213, K214, K215, K216, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K415, \ - K500, K501, K502, K506, K510, K511, K512, K513, K514, K515, K416 \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K3C, K2D, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K4G \ ) { \ - {K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016}, \ - {K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116}, \ - {K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216}, \ - {K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, ____, ____, ____}, \ - {K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, ____, K415, K416}, \ - {K500, K501, K502, ____, ____, ____, K506, ____, ____, ____, K510, K511, K512, K513, K514, K515, ____} \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G}, \ + {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G}, \ + {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G}, \ + {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, ___, ___}, \ + {K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, ___, K4F, K4G}, \ + {K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F, ___} \ +} + +#define LAYOUT_tkl_ansi_f13( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K3C, K2D, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K4G \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G}, \ + {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G}, \ + {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, K2E, K2F, K2G}, \ + {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, ___, ___}, \ + {K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, K4G}, \ + {K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F, ___} \ +} + +#define LAYOUT_tkl_ansi_tsangan_f13( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K3C, K2D, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \ + K50, K51, K52, K56, K5B, K5C, K5D, K5E, K5F, K4G \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G}, \ + {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G}, \ + {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, K2E, K2F, K2G}, \ + {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, ___, ___}, \ + {K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, K4G}, \ + {K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, ___, K5B, K5C, K5D, K5E, K5F, ___} \ +} + +#define LAYOUT_tkl_iso_f13( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K3C, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K2D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K4G \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G}, \ + {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G}, \ + {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, K2E, K2F, K2G}, \ + {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, ___, ___}, \ + {K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, K4G}, \ + {K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F, ___} \ +} + +#define LAYOUT_tkl_iso_tsangan_f13( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K3C, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K2D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \ + K50, K51, K52, K56, K5B, K5C, K5D, K5E, K5F, K4G \ +) { \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G}, \ + {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G}, \ + {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, K2E, K2F, K2G}, \ + {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, ___, ___}, \ + {K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, ___, ___, K4F, K4G}, \ + {K50, K51, K52, ___, ___, ___, K56, ___, ___, ___, ___, K5B, K5C, K5D, K5E, K5F, ___} \ } From bc51e330c0c183e78e415b6cfbf475990eb1ba86 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 13 Oct 2021 05:47:54 +0000 Subject: [PATCH 16/48] Lucid Alexa layout macro rework (#14799) * refactor keymaps for readability - use QMK-native keycode aliases - physically align keycodes * rework layout macro A discrepancy between the default and via keymaps prompted a deep dive into the keyboard's switch matrix, which led to the discovery that (1) the layout macro's arguments were not arranged physically, and (2) the keymaps didn't assign the keycodes to the same switches (the default keymap's keycodes were in the wrong sequence). Additionally, the layout macro was built to support a split Backspace, but named as if it were for a 2u Backspace, which broke the enabled support for Community Layout keymaps. This commit: - arranges the layout macro arguments according to physical order - corrects the keymaps - renames the layout macro to specify the split Backspace - disables Community Layout support - updates the `info.json` data * add LAYOUT_65_ansi_blocker * enable Community Layout support * update `info.json` metadata - use full product listing URL - use GitHub username for maintainer field * update readme - fix vendor link in lead paragraph - update metadata list - use GitHub username of keyboard maintainer - correct Supported Hardware - add Hardware Availability link - add flashing and bootloader instructions --- keyboards/lucid/alexa/alexa.h | 46 +++- keyboards/lucid/alexa/info.json | 215 ++++++++++++------ .../lucid/alexa/keymaps/default/keymap.c | 27 ++- keyboards/lucid/alexa/keymaps/via/keymap.c | 54 ++--- keyboards/lucid/alexa/readme.md | 18 +- keyboards/lucid/alexa/rules.mk | 2 +- 6 files changed, 236 insertions(+), 126 deletions(-) diff --git a/keyboards/lucid/alexa/alexa.h b/keyboards/lucid/alexa/alexa.h index 3c6f9d4ace..9fd221fcea 100644 --- a/keyboards/lucid/alexa/alexa.h +++ b/keyboards/lucid/alexa/alexa.h @@ -16,17 +16,45 @@ along with this program. If not, see . #include "quantum.h" -/* Alexa Keymap Definitions */ +#define ___ KC_NO + +/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2D │0E │ │0D │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └───────┘ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │40 │41 │42 │45 │49 │4A │ │4C │4D │4E │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + +#define LAYOUT_65_ansi_blocker_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, 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, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K45, K49, K4A, 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, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ + { K40, K41, K42, ___, ___, K45, ___, ___, ___, K49, K4A, ___, K4C, K4D, K4E } \ +} + #define LAYOUT_65_ansi_blocker( \ 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, K3D, K3E, \ - K40, K41, K42, K45, K49, K4A, K4C, K4D, K4E \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K45, K49, K4A, 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, K2D, K2E }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \ - { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, KC_NO, 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, ___, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ + { K40, K41, K42, ___, ___, K45, ___, ___, ___, K49, K4A, ___, K4C, K4D, K4E } \ } diff --git a/keyboards/lucid/alexa/info.json b/keyboards/lucid/alexa/info.json index b00d1c15b6..91c3836444 100644 --- a/keyboards/lucid/alexa/info.json +++ b/keyboards/lucid/alexa/info.json @@ -1,82 +1,157 @@ { "keyboard_name": "Alexa", - "url": "http://www.makerkeyboards.com", - "maintainer": "Maker Keyboards", + "url": "https://www.makerkeyboards.com/products/alexa", + "maintainer": "mrnoisytiger", "layouts": { + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Delete", "x":14, "y":0}, + {"label":"Home", "x":15, "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":"PgUp", "x":15, "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":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"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}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"End", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Fn", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, "LAYOUT_65_ansi_blocker": { "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}, + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Home", "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}, + {"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":"PgUp", "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}, + {"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":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "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}, + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"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}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"End", "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} + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Fn", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} ] } } diff --git a/keyboards/lucid/alexa/keymaps/default/keymap.c b/keyboards/lucid/alexa/keymaps/default/keymap.c index 6faf5102e6..29efe094f5 100644 --- a/keyboards/lucid/alexa/keymaps/default/keymap.c +++ b/keyboards/lucid/alexa/keymaps/default/keymap.c @@ -21,19 +21,18 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_65_ansi_blocker( - 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_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_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + [_LAYER0] = LAYOUT_65_ansi_blocker_split_bs( + 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_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_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_LAYER1] = LAYOUT_65_ansi_blocker_split_bs( + KC_GESC, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ), - - [_LAYER1] = LAYOUT_65_ansi_blocker( - KC_GESC, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET, KC_PGUP, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK - ) }; diff --git a/keyboards/lucid/alexa/keymaps/via/keymap.c b/keyboards/lucid/alexa/keymaps/via/keymap.c index 1574c802de..8cfb97af10 100644 --- a/keyboards/lucid/alexa/keymaps/via/keymap.c +++ b/keyboards/lucid/alexa/keymaps/via/keymap.c @@ -23,36 +23,32 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_65_ansi_blocker( - 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_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_DEL,KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + [_LAYER0] = LAYOUT_65_ansi_blocker_split_bs( + 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_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_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - - [_LAYER1] = LAYOUT_65_ansi_blocker( - KC_GESC, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET, KC_PGUP, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK + [_LAYER1] = LAYOUT_65_ansi_blocker_split_bs( + KC_GESC, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ), - - [_LAYER2] = 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_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + [_LAYER2] = LAYOUT_65_ansi_blocker_split_bs( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - - [_LAYER3] = 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_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - + [_LAYER3] = LAYOUT_65_ansi_blocker_split_bs( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/lucid/alexa/readme.md b/keyboards/lucid/alexa/readme.md index 70142271a1..a0cef72913 100644 --- a/keyboards/lucid/alexa/readme.md +++ b/keyboards/lucid/alexa/readme.md @@ -1,13 +1,25 @@ # Alexa Hotswap PCB by Maker Keyboards -The following is the QMK Firmware for the Alexa Hotswap PCB for [MakerKeyboards](http://www.makerkeyboards.cm). +The following is the QMK Firmware for the Alexa Hotswap PCB for [Maker Keyboards](https://www.makerkeyboards.com/). --- -* Keyboard Maintainer: Maker Keyboards -* Hardware Supported: Phantom +* Keyboard Maintainer: [mrnoisytiger](https://github.com/mrnoisytiger) +* Hardware Supported: Alexa Hotswap PCB (ATmega32U4) +* Hardware Availability: [Maker Keyboards](https://www.makerkeyboards.com/products/alexa) Make example for this keyboard (after setting up your build environment): make lucid/alexa:default +Flashing example for this keyboard: + + make lucid/alexa:default:flash + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `RESET` if it is available (Fn+Backslash by 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/lucid/alexa/rules.mk b/keyboards/lucid/alexa/rules.mk index b1d63c6822..16bcdf2cfc 100644 --- a/keyboards/lucid/alexa/rules.mk +++ b/keyboards/lucid/alexa/rules.mk @@ -24,4 +24,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output KEYBOARD_LOCK_ENABLE = yes -LAYOUTS = 65_ansi_blocker +LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs From ec3236594407c27e9b8b323428de9c9c0af09681 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 13 Oct 2021 06:50:04 +0000 Subject: [PATCH 17/48] Kopibeng MNK88 Patch (#14807) * refactor default keymap - correct keycode sequence (`KC_RGHT` was in the wrong place) - change tabs to spaces (four-space indent) - update grid alignment * refactor via keymap - change tabs to spaces (four-space indent) - update grid alignment --- .../kopibeng/mnk88/keymaps/default/keymap.c | 76 +++++++++---------- keyboards/kopibeng/mnk88/keymaps/via/keymap.c | 76 +++++++++---------- 2 files changed, 76 insertions(+), 76 deletions(-) diff --git a/keyboards/kopibeng/mnk88/keymaps/default/keymap.c b/keyboards/kopibeng/mnk88/keymaps/default/keymap.c index 407daa0988..eb3748e277 100644 --- a/keyboards/kopibeng/mnk88/keymaps/default/keymap.c +++ b/keyboards/kopibeng/mnk88/keymaps/default/keymap.c @@ -18,44 +18,44 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Default layer - [0] = LAYOUT_all( - 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_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, - 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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2), KC_UP, KC_RGHT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN - ), + // Default layer + [0] = LAYOUT_all( + 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_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, + 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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), - // Fn1 Layer - [1] = LAYOUT_all( - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, - 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_MPLY, KC_MNXT, KC_VOLD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), + // Fn1 Layer + [1] = LAYOUT_all( + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, + 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_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + // Fn2 Layer + [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + // Fn3 Layer + [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), - // Fn2 Layer - [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - // Fn3 Layer - [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/kopibeng/mnk88/keymaps/via/keymap.c b/keyboards/kopibeng/mnk88/keymaps/via/keymap.c index 0fa17b2d08..eb3748e277 100644 --- a/keyboards/kopibeng/mnk88/keymaps/via/keymap.c +++ b/keyboards/kopibeng/mnk88/keymaps/via/keymap.c @@ -18,44 +18,44 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Default layer - [0] = LAYOUT_all( - 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_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, - 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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), + // Default layer + [0] = LAYOUT_all( + 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_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, + 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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), - // Fn1 Layer - [1] = LAYOUT_all( - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, - 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_MPLY, KC_MNXT, KC_VOLD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), + // Fn1 Layer + [1] = LAYOUT_all( + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, + 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_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + // Fn2 Layer + [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + // Fn3 Layer + [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), - // Fn2 Layer - [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - // Fn3 Layer - [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), }; - From 04cf161aa01fd433b5dae69d9fd31569ed5dca59 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 13 Oct 2021 08:56:48 +0000 Subject: [PATCH 18/48] maxr1998/pulse4k: use layout macros in keymaps (#14808) --- keyboards/maxr1998/pulse4k/keymaps/default/keymap.c | 8 ++++---- keyboards/maxr1998/pulse4k/keymaps/maxr1998/keymap.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/keyboards/maxr1998/pulse4k/keymaps/default/keymap.c b/keyboards/maxr1998/pulse4k/keymaps/default/keymap.c index e33dcad218..1ed4b5f1af 100644 --- a/keyboards/maxr1998/pulse4k/keymaps/default/keymap.c +++ b/keyboards/maxr1998/pulse4k/keymaps/default/keymap.c @@ -24,8 +24,8 @@ enum layers { const uint16_t PROGMEM led_adjust_combo[] = {KC_LEFT, KC_RGHT, COMBO_END}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [DEFAULT] = { - { KC_END, KC_UP, KC_MUTE }, - { KC_LEFT, KC_DOWN, KC_RGHT } - } + [DEFAULT] = LAYOUT( + KC_END, KC_UP, KC_MUTE, + KC_LEFT, KC_DOWN, KC_RGHT + ) }; diff --git a/keyboards/maxr1998/pulse4k/keymaps/maxr1998/keymap.c b/keyboards/maxr1998/pulse4k/keymaps/maxr1998/keymap.c index 4ef9779010..9eec3f0ae7 100644 --- a/keyboards/maxr1998/pulse4k/keymaps/maxr1998/keymap.c +++ b/keyboards/maxr1998/pulse4k/keymaps/maxr1998/keymap.c @@ -24,10 +24,10 @@ enum layers { const uint16_t PROGMEM led_adjust_combo[] = {KC_F22, KC_F24, COMBO_END}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [DEFAULT] = { - { KC_F20, KC_F21, KC_MUTE }, - { KC_F22, KC_F23, KC_F24 } - } + [DEFAULT] = LAYOUT( + KC_F20, KC_F21, KC_MUTE, + KC_F22, KC_F23, KC_F24 + ) }; void encoder_one_update(bool clockwise) { From f9f3a11c2076f6fc378beb8ccbc8500fb060fcf3 Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Thu, 14 Oct 2021 16:41:30 +0300 Subject: [PATCH 19/48] contra, fractal: Remove wrongly copypasted pin E6 manipulation code (#14818) Apparently the default keymaps for `contra` and `fractal` were derived from some `planck` keymap which contained code to control the status LED in the implementation of the `BACKLIT` custom keycode. Unfortunately, the code to control the LED manipulated the `E6` pin directly, and it was copied without changes, but the `contra` and `fractal` boards use the `E6` pin in the matrix, therefore pressing the key mapped to `BACKLIT` resulted in phantom keypresses for all keys in the corresponding column. --- keyboards/contra/keymaps/default/keymap.c | 2 -- keyboards/fractal/keymaps/default/keymap.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/keyboards/contra/keymaps/default/keymap.c b/keyboards/contra/keymaps/default/keymap.c index 31e90ed267..6a653d9cec 100644 --- a/keyboards/contra/keymaps/default/keymap.c +++ b/keyboards/contra/keymaps/default/keymap.c @@ -222,10 +222,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef BACKLIGHT_ENABLE backlight_step(); #endif - PORTE &= ~(1<<6); } else { unregister_code(KC_RSFT); - PORTE |= (1<<6); } return false; break; diff --git a/keyboards/fractal/keymaps/default/keymap.c b/keyboards/fractal/keymaps/default/keymap.c index 8bb1f98318..553dad034c 100644 --- a/keyboards/fractal/keymaps/default/keymap.c +++ b/keyboards/fractal/keymaps/default/keymap.c @@ -213,10 +213,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef BACKLIGHT_ENABLE backlight_step(); #endif - PORTE &= ~(1<<6); } else { unregister_code(KC_RSFT); - PORTE |= (1<<6); } return false; break; From b8de20f1e2bc2693f2dbf8f219a16eb8064120e9 Mon Sep 17 00:00:00 2001 From: Steven Karrmann Date: Thu, 14 Oct 2021 09:47:29 -0400 Subject: [PATCH 20/48] Add KC_BSLS key to Horizon keyboard default layout (#14815) * Define Horizon keyboard * Set indentation according to QMK coding convention * Update horizon keyboard readme to satisfy current QMK template * Use row-column order in horizon readme * Update keyboards/horizon/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/horizon/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/horizon/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/horizon/rules.mk Co-authored-by: Ryan * Update keyboards/horizon/rules.mk Co-authored-by: Ryan * Update keyboards/horizon/rules.mk Co-authored-by: Ryan * Update keyboards/horizon/info.json Co-authored-by: Ryan * Update keyboards/horizon/info.json Co-authored-by: Ryan * Add KC_BSLS to Horizon default keymap Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/horizon/keymaps/default/keymap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/horizon/keymaps/default/keymap.c b/keyboards/horizon/keymaps/default/keymap.c index b7581db2c3..29a9bec0d8 100644 --- a/keyboards/horizon/keymaps/default/keymap.c +++ b/keyboards/horizon/keymaps/default/keymap.c @@ -34,14 +34,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_SYMBOL] = LAYOUT( KC_TILD, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_UNDS, - KC_PLUS, KC_EXLM, KC_LPRN, KC_RPRN, KC_DLR , KC_AMPR, KC_PIPE, KC_EQL , KC_LCBR, KC_RCBR, KC_COLN, KC_DQUO, - _______, KC_AT , KC_LBRC, KC_RBRC, KC_HASH, KC_PERC, _______, _______, KC_CIRC, KC_ASTR, KC_LABK, KC_RABK, KC_QUES, _______, + KC_PLUS, KC_EXLM, KC_LPRN, KC_RPRN, KC_DLR , KC_AMPR, KC_PIPE, KC_HASH, KC_LCBR, KC_RCBR, KC_COLN, KC_DQUO, + _______, KC_AT , KC_LBRC, KC_RBRC, KC_BSLS, KC_PERC, _______, _______, KC_CIRC, KC_ASTR, KC_LABK, KC_RABK, KC_QUES, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_FUNCTION] = LAYOUT( _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_PSCR, KC_SLCK, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______, _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_INS , KC_CLCK, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, - _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, EEP_RST, _______, + _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; \ No newline at end of file From e8dadf51ad4f43a72d246c3db7efc75253a388b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reibl=20J=C3=A1nos=20D=C3=A1niel?= Date: Thu, 14 Oct 2021 19:28:06 +0200 Subject: [PATCH 21/48] [Keymap] Display default layer name (#14819) --- users/riblee/riblee.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/users/riblee/riblee.c b/users/riblee/riblee.c index 4bfa298c4a..ae3bd7a2b1 100644 --- a/users/riblee/riblee.c +++ b/users/riblee/riblee.c @@ -190,7 +190,19 @@ void oled_task_user(void) { switch (get_highest_layer(layer_state)) { case _QWERTY: - oled_write_P(PSTR("Default\n"), false); + if (layer_state_cmp(default_layer_state, _QWERTY)) { + oled_write_P(PSTR("Qwerty\n"), false); + } else if (layer_state_cmp(default_layer_state, _COLEMAK)) { + oled_write_P(PSTR("Colmak\n"), false); + } else if (layer_state_cmp(default_layer_state, _DVORAK)) { + oled_write_P(PSTR("Dvorak\n"), false); + } else if (layer_state_cmp(default_layer_state, _WORKMAN)) { + oled_write_P(PSTR("Workman\n"), false); + } else if (layer_state_cmp(default_layer_state, _HUNGARIAN)) { + oled_write_P(PSTR("HUN Qwerty\n"), false); + } else { + oled_write_P(PSTR("Undefined\n"), false); + } break; case _LOWER: oled_write_P(PSTR("Lower\n"), false); From a827adeaaedfbefc504c0f909a507706948cd40f Mon Sep 17 00:00:00 2001 From: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu, 14 Oct 2021 16:03:53 -0700 Subject: [PATCH 22/48] Documentation: Updated KBDFans readmes (#14725) Co-authored-by: Ryan --- keyboards/kbdfans/kbd4x/readme.md | 6 +++--- keyboards/kbdfans/kbd66/readme.md | 8 ++++---- keyboards/kbdfans/kbd67/hotswap/readme.md | 8 +++++--- .../kbdfans/kbd67/mkii_soldered/readme.md | 3 +-- keyboards/kbdfans/kbd67/mkiirgb/v1/readme.md | 4 +++- keyboards/kbdfans/kbd67/mkiirgb/v2/readme.md | 4 ++++ keyboards/kbdfans/kbd67/mkiirgb/v3/readme.md | 6 ++++++ keyboards/kbdfans/kbd67/readme.md | 19 ++++++++++--------- keyboards/kbdfans/kbd67/rev1/readme.md | 8 ++++---- keyboards/kbdfans/kbd67/rev2/readme.md | 8 ++++---- keyboards/kbdfans/kbd6x/readme.md | 6 +++--- keyboards/kbdfans/kbd75/readme.md | 14 ++++++++------ keyboards/kbdfans/kbd8x/readme.md | 8 +++----- keyboards/kbdfans/kbd8x_mk2/readme.md | 6 +++--- keyboards/kbdfans/kbdmini/readme.md | 2 -- 15 files changed, 61 insertions(+), 49 deletions(-) diff --git a/keyboards/kbdfans/kbd4x/readme.md b/keyboards/kbdfans/kbd4x/readme.md index 2e2a29290f..6220fe8249 100644 --- a/keyboards/kbdfans/kbd4x/readme.md +++ b/keyboards/kbdfans/kbd4x/readme.md @@ -4,9 +4,9 @@ A compact 40% (12x4) ortholinear keyboard kit sold by KBDFans. -Keyboard Maintainer: ![sevenseacat](https://github.com/sevenseacat) -Hardware Supported: KBD4x PCB -Hardware Availability: https://kbdfans.cn/collections/diy-kit/products/kbd4x-custom-mechanical-keyboard-hot-swap-diy-kit +* Keyboard Maintainer: ![sevenseacat](https://github.com/sevenseacat) +* Hardware Supported: KBD4x PCB +* Hardware Availability: https://kbdfans.cn/collections/diy-kit/products/kbd4x-custom-mechanical-keyboard-hot-swap-diy-kit Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbd66/readme.md b/keyboards/kbdfans/kbd66/readme.md index a2e5de0157..8979135c3f 100644 --- a/keyboards/kbdfans/kbd66/readme.md +++ b/keyboards/kbdfans/kbd66/readme.md @@ -2,11 +2,11 @@ ![KBD66](https://i.imgur.com/qtLuL2o.jpg) -A 65% keyboard from KBDFans. +A 66 key keyboard from KBDFans modeled after the FC660m. -Keyboard Maintainer: [Alex](https://github.com/allo-world) -Hardware Supported: KBD66, ATmega32U4 -Hardware Availability: [KBDFans](https://kbdfans.cn), [Massdrop](https://www.massdrop.com/buy/kbd66-mechanical-keyboard-kit?mode=guest_open) +* Keyboard Maintainer: [Alex](https://github.com/allo-world) +* Hardware Supported: KBD66, ATmega32U4 +* Hardware Availability: [KBDFans](https://kbdfans.cn), [Massdrop](https://www.massdrop.com/buy/kbd66-mechanical-keyboard-kit?mode=guest_open) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbd67/hotswap/readme.md b/keyboards/kbdfans/kbd67/hotswap/readme.md index bb64c03e3c..49a74f109a 100644 --- a/keyboards/kbdfans/kbd67/hotswap/readme.md +++ b/keyboards/kbdfans/kbd67/hotswap/readme.md @@ -2,9 +2,11 @@ A 65% hot swap board with blocker and USB Type C port. -Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) -Hardware Supported: KBD67 Hotswap -Hardware Availability: [KBDFans](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit) +This PCB was replaced by the hotswap variants of the kbd67mkii + +* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) +* Hardware Supported: KBD67 Hotswap +* Hardware Availability: [KBDFans](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/readme.md b/keyboards/kbdfans/kbd67/mkii_soldered/readme.md index d864c9e99b..deea30f4fb 100644 --- a/keyboards/kbdfans/kbd67/mkii_soldered/readme.md +++ b/keyboards/kbdfans/kbd67/mkii_soldered/readme.md @@ -2,8 +2,7 @@ ![Render](https://i.imgur.com/W8jBycQ.png) -A simple 65% keyboard -This is for the solderable PCB for the MKII. For hotswap PCB firmware, please check the other directories. +Solderable 65% PCB made originally for the KBD67mkii by ai03. For hotswap PCB firmware, please check the other directories. * Keyboard Maintainer: [ai03](https://github.com/ai03-2725) / [KBDfans](https://kbdfans.cn/) * Hardware Supported: KBD67 MKII Soldered PCB (Not hotswap) diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/readme.md b/keyboards/kbdfans/kbd67/mkiirgb/v1/readme.md index 94550ef320..a6d8578d7f 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v1/readme.md +++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/readme.md @@ -1,6 +1,8 @@ # KBD67 Mk.II RGB V1 (Hotswap) -A hotswap 65% keyboard with USB C and inswitch RGB. +An hotswap 65% keyboard with USB C and inswitch RGB. + +This was released along with the kbd67mkii keyboard that featured a top mount design, and brass weight. * Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) * Hardware Supported: KBD67 Mk.II RGB V1 diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/readme.md b/keyboards/kbdfans/kbd67/mkiirgb/v2/readme.md index 57683caab9..af25471fe5 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v2/readme.md +++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/readme.md @@ -2,6 +2,10 @@ A hotswap 65% keyboard with USB C, inswitch RGB, and ESD protection. +Originally sold as a replacement PCB for the kbd67mkii when the V1 PCB failed. + +It has since been sold along with the D64 and KBD67 Lite R1/R2. + * Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) * Hardware Supported: KBD67 Mk.II RGB V2 * Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/) diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/readme.md b/keyboards/kbdfans/kbd67/mkiirgb/v3/readme.md index d62d4a517c..7442df9c6e 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v3/readme.md +++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/readme.md @@ -2,6 +2,12 @@ A hotswap 65% keyboard with USB C, inswitch RGB, and ESD protection. +Originally sold as a replacement to the V2 as it offered a much simpler firmware flashing experience for customers. This board expects `.bin` files. + +As of 10/2021 this board has no visible markings differentiating it from the previous V2. + +It has since been sold with the KBD67Lite R2, D64, and Blade 65. + * Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) * Hardware Supported: KBD67 Mk.II RGB V3 * Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/) diff --git a/keyboards/kbdfans/kbd67/readme.md b/keyboards/kbdfans/kbd67/readme.md index 2f5d10fa07..f3aed999a1 100644 --- a/keyboards/kbdfans/kbd67/readme.md +++ b/keyboards/kbdfans/kbd67/readme.md @@ -1,19 +1,19 @@ # KBD67 -A 65% keyboard sold in several variants. +A 65% keyboard sold in several variants supporting KBDFan's different 65% lineups each with their own different revisions. -1. [Rev1](rev1/): Released in early 2018. Atmega32u4 soldered keyboard. Sold under the name "KBD65". -2. [HotSwap](hotswap/): Released in late 2018. Atmega32U4 hotswap single layout keyboard. +1. [Rev1](rev1/): Released in early 2018. Atmega32u4 soldered keyboard. Sold under the name "KBD65". +2. [HotSwap](hotswap/): Released in late 2018. Atmega32U4 hotswap single layout keyboard. 3. [Rev2](rev2/): Released in April/May 2019. Atmega32u4 soldered keyboard. 4. [MKII](mkii_soldered/): Released in September 2019, designed by ai03. Atmega32u4 soldered keyboard. ESD Protected -5. [MKII RGB V1](mkiirgb/v1/): Released in September 2019. Arm hotswap board. +5. [MKII RGB V1](mkiirgb/v1/): Released in September 2019. Arm hotswap board. 6. [MKII RGB V2](mkiirgb/v2/): Released in December 2019. Atmega32u4 hotswap board. ESD Protected. - +6. [MKII RGB V2*](mkiirgb/v3/): Released in March 2021. Atmega32u4 hotswap board. ESD Protected. Uses LUFA bootloader and different inswitch RGB implementation. No visible markings differentiating it from the previous V2. **Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.** Please use the `.hex` or `.bin` appropriate for your board. * Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin), [moyi4681](https://github.com/moyi4681) -* Hardware Supported: KBD67 rev1, rev2, hotswap, mkii, mkiirgb v1, mkiirgb v2 +* Hardware Supported: KBD67 rev1, rev2, hotswap, mkii, mkiirgb v1, mkiirgb v2, etc. * Hardware Availability: KBDFans Make examples for this keyboard (after setting up your build environment): @@ -21,8 +21,9 @@ Make examples for this keyboard (after setting up your build environment): make kbdfans/kbd67/rev1:default make kbdfans/kbd67/rev2:default make kbdfans/kbd67/hotswap:default - make kbdfans/kbd67/mkii_soldered:default - make kbdfans/kbd67/mkiirgb/v1:default - make kbdfans/kbd67/mkiirgb/v2:default + make kbdfans/kbd67/mkii_soldered:default + make kbdfans/kbd67/mkiirgb/v1:default + make kbdfans/kbd67/mkiirgb/v2:default + make kbdfans/kbd67/mkiirgb/v3: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/kbdfans/kbd67/rev1/readme.md b/keyboards/kbdfans/kbd67/rev1/readme.md index 1d92a41f7c..0e9c66b244 100644 --- a/keyboards/kbdfans/kbd67/rev1/readme.md +++ b/keyboards/kbdfans/kbd67/rev1/readme.md @@ -1,10 +1,10 @@ # KBD67 rev1 -65% keyboard with blocker. +65% keyboard with RGB underglow originally sold for the Tofu 65 and Tada 68 keyboards. -Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) -Hardware Supported: KBD67 PCB (Sometimes sold under the name "KBD65") -Hardware Availability: KBDFans [Keyboard Kit](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit), [PCB](https://kbdfans.cn/collections/65/products/kbd65-65-custom-mechanical-keyboard-pcb) +* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) +* Hardware Supported: KBD67 PCB (Sometimes sold under the name "KBD65") +* Hardware Availability: KBDFans [Keyboard Kit](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit), [PCB](https://kbdfans.cn/collections/65/products/kbd65-65-custom-mechanical-keyboard-pcb) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbd67/rev2/readme.md b/keyboards/kbdfans/kbd67/rev2/readme.md index 0909f781d0..5181de3a99 100644 --- a/keyboards/kbdfans/kbd67/rev2/readme.md +++ b/keyboards/kbdfans/kbd67/rev2/readme.md @@ -1,10 +1,10 @@ # KBD67 rev2 -65% pcb with blocker. Revision 2 (Manufactured after 05/01/19). +65% keyboard with RGB underglow originally sold for the Tofu 65 and Tada 68 keyboards. -Keyboard Maintainer: [Vorror](https://github.com/vorror) -Hardware Supported: KBD67v2 PCB (Sometimes sold under the name "KBD65") -Hardware Availability: KBDFans [Keyboard Kit](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit), [PCB](https://kbdfans.cn/collections/65/products/kbd65-65-custom-mechanical-keyboard-pcb) +* Keyboard Maintainer: [Vorror](https://github.com/vorror) +* Hardware Supported: KBD67v2 PCB (Sometimes sold under the name "KBD65") +* Hardware Availability: KBDFans [Keyboard Kit](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit), [PCB](https://kbdfans.cn/collections/65/products/kbd65-65-custom-mechanical-keyboard-pcb) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbd6x/readme.md b/keyboards/kbdfans/kbd6x/readme.md index 1728c8c21b..1fd1d2848a 100644 --- a/keyboards/kbdfans/kbd6x/readme.md +++ b/keyboards/kbdfans/kbd6x/readme.md @@ -2,9 +2,9 @@ A WKL Hot Swap Double USB C 60% -Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) -Hardware Supported: KBD6x PCB -Hardware Availability: [KBDFans](https://kbdfans.cn/products/kbd6x-wkl-hot-swap-60-double-type-c-pcb) +* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) +* Hardware Supported: KBD6x PCB +* Hardware Availability: [KBDFans](https://kbdfans.cn/products/kbd6x-wkl-hot-swap-60-double-type-c-pcb) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbd75/readme.md b/keyboards/kbdfans/kbd75/readme.md index c2bbdbb8b7..b7bf379c10 100644 --- a/keyboards/kbdfans/kbd75/readme.md +++ b/keyboards/kbdfans/kbd75/readme.md @@ -1,11 +1,5 @@ # KBD75 -Keyboard Maintainer: QMK Community -Hardware Supported: KBD75 PCB rev 1 and 2 -Hardware Availability: -* https://kbdfans.com/collections/75-diy-kit/products/kbd75-keyboard-set -* https://kbdfans.com/collections/75-diy-kit/products/kbd75v2-custom-keyboard-diy-kit - The KBD75 was sold through various rounds, with various PCB changes between them. * **Round 1 (2017)**: Black PCB - Bootmapper Client, atmega32a MCU (Use [Winkeyless.kr B.mini](../../winkeyless/bmini/) firmware) @@ -14,6 +8,14 @@ The KBD75 was sold through various rounds, with various PCB changes between them * **Round 6 (2019)**: White PCB with USB C - QMK Firmware, atmega32u4 MCU (Use KBD75 rev1 or rev2(with numpad support)) * **V2 (2019-)**: Same as **Round 6** (above). +**Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.** + +* Keyboard Maintainer: QMK Community +* Hardware Supported: KBD75 PCB rev 1 and 2 +* Hardware Availability: + * https://kbdfans.com/collections/75-diy-kit/products/kbd75-keyboard-set + * https://kbdfans.com/collections/75-diy-kit/products/kbd75v2-custom-keyboard-diy-kit + Make example for this keyboard (after setting up your build environment): make kbdfans/kbd75/rev1:default diff --git a/keyboards/kbdfans/kbd8x/readme.md b/keyboards/kbdfans/kbd8x/readme.md index 9f8555560a..d95d51533d 100644 --- a/keyboards/kbdfans/kbd8x/readme.md +++ b/keyboards/kbdfans/kbd8x/readme.md @@ -1,12 +1,10 @@ # KBD8X -![kbd8x](imgur.com image replace me!) - TKL Keyboard from KBDFans -Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) -Hardware Supported: kbd8x -Hardware Availability: [KBDFans](https://kbdfans.cn/blogs/updates/kbd-8x-update-40) +* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) +* Hardware Supported: kbd8x +* Hardware Availability: [KBDFans](https://kbdfans.cn/blogs/updates/kbd-8x-update-40) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbd8x_mk2/readme.md b/keyboards/kbdfans/kbd8x_mk2/readme.md index fbd6504609..d20a17da4d 100644 --- a/keyboards/kbdfans/kbd8x_mk2/readme.md +++ b/keyboards/kbdfans/kbd8x_mk2/readme.md @@ -4,9 +4,9 @@ A fairly typical TKL -Keyboard Maintainer: [ai03](https://github.com/ai03-2725) / [KBDfans](https://kbdfans.cn/) -Hardware Supported: KBD8X MKII PCB/case -Hardware Availability: [KBDfans](https://kbdfans.com/collections/90-kbd19x/products/gb-kbd8x-mkii-pcb) +* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) / [KBDfans](https://kbdfans.cn/) +* Hardware Supported: KBD8X MKII PCB/case +* Hardware Availability: [KBDfans](https://kbdfans.com/collections/90-kbd19x/products/gb-kbd8x-mkii-pcb) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbdmini/readme.md b/keyboards/kbdfans/kbdmini/readme.md index 5d5ebe2a7a..8b5e0478d3 100644 --- a/keyboards/kbdfans/kbdmini/readme.md +++ b/keyboards/kbdfans/kbdmini/readme.md @@ -1,7 +1,5 @@ # KBDMINI -![KBDMINI](imgur.com image replace me!) - * Keyboard Maintainer: [DZTECH](https://github.com/moyi4681) * Hardware Supported: KBDMINI * Hardware Availability: [KBDFans](https://kbdfans.cn/) From 943ca36accbb71be38387634caf09667e0e53911 Mon Sep 17 00:00:00 2001 From: rhmokey <57172003+rhmokey@users.noreply.github.com> Date: Fri, 15 Oct 2021 07:55:51 +0800 Subject: [PATCH 23/48] [Keyboard] Add ginkgo65 (#14802) Co-authored-by: Ryan --- keyboards/mokey/ginkgo65/config.h | 41 ++ keyboards/mokey/ginkgo65/ginkgo65.c | 16 + keyboards/mokey/ginkgo65/ginkgo65.h | 188 +++++++ keyboards/mokey/ginkgo65/info.json | 469 ++++++++++++++++++ .../mokey/ginkgo65/keymaps/default/keymap.c | 43 ++ keyboards/mokey/ginkgo65/keymaps/via/keymap.c | 50 ++ keyboards/mokey/ginkgo65/keymaps/via/rules.mk | 2 + keyboards/mokey/ginkgo65/readme.md | 21 + keyboards/mokey/ginkgo65/rules.mk | 21 + 9 files changed, 851 insertions(+) create mode 100644 keyboards/mokey/ginkgo65/config.h create mode 100644 keyboards/mokey/ginkgo65/ginkgo65.c create mode 100644 keyboards/mokey/ginkgo65/ginkgo65.h create mode 100644 keyboards/mokey/ginkgo65/info.json create mode 100644 keyboards/mokey/ginkgo65/keymaps/default/keymap.c create mode 100644 keyboards/mokey/ginkgo65/keymaps/via/keymap.c create mode 100644 keyboards/mokey/ginkgo65/keymaps/via/rules.mk create mode 100644 keyboards/mokey/ginkgo65/readme.md create mode 100644 keyboards/mokey/ginkgo65/rules.mk diff --git a/keyboards/mokey/ginkgo65/config.h b/keyboards/mokey/ginkgo65/config.h new file mode 100644 index 0000000000..3660989267 --- /dev/null +++ b/keyboards/mokey/ginkgo65/config.h @@ -0,0 +1,41 @@ +/* +Copyright 2021 Kyle McCreery +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 0x6653 +#define PRODUCT_ID 0x3365 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Mokey +#define PRODUCT ginkgo 65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + /* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ +#define MATRIX_ROW_PINS { F7, B7, F5, F1, B0 } +#define MATRIX_COL_PINS { C7, F6, B2, F4, B3, E6, D0, D1, D2, D3, D5, D4, D6, D7, B4, B1 } +#define UNUSED_PINS +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_LEVELS 6 +#define BACKLIGHT_CAPS_LOCK +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 5 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/mokey/ginkgo65/ginkgo65.c b/keyboards/mokey/ginkgo65/ginkgo65.c new file mode 100644 index 0000000000..4ab3aae51f --- /dev/null +++ b/keyboards/mokey/ginkgo65/ginkgo65.c @@ -0,0 +1,16 @@ +/* Copyright 2021 Ocean + * 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 "ginkgo65.h" + diff --git a/keyboards/mokey/ginkgo65/ginkgo65.h b/keyboards/mokey/ginkgo65/ginkgo65.h new file mode 100644 index 0000000000..72342f08bb --- /dev/null +++ b/keyboards/mokey/ginkgo65/ginkgo65.h @@ -0,0 +1,188 @@ +/* Copyright 2021 Ocean + * + * 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 + +/*LAYOUT + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │k00│k01│k02│k03│k04│k05│k06│k07│k08│k09│k0A│k0B│k0C│ k0D │k0F│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │ 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│ k2D │k2E│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ k30 │k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │k40 │k41 │k42 │ k44 │k49 │k4A │ │k4C│k4D│k4E│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +*/ +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0F, \ + 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, k2D, k2E, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \ + k40, k41, k42, k44, k49, k4A, k4C, k4D, k4E \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \ + { k40, k41, k42, XXX, k44, XXX, XXX, XXX, XXX, k49, k4A, XXX, k4C, k4D, k4E, XXX }, \ +} + +/*LAYOUT_iso + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │k00│k01│k02│k03│k04│k05│k06│k07│k08│k09│k0A│k0B│k0C│k0D│k0E│k0F│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ k10 │k11│k12│k13│k14│k15│k16│k17│k18│k19│k1A│k1B│k1C│ K2D │k1E│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ + * │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│k1D│ │k2E│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │ k30 │k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │k40 │k41 │k42 │ k44 │k49 │k4A │ │k4C│k4D│k4E│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +*/ +#define LAYOUT_iso( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k1E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2E, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \ + k40, k41, k42, k44, k49, k4A, k4C, k4D, k4E \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k1E, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \ + { k40, k41, k42, XXX, k44, XXX, XXX, XXX, XXX, k49, k4A, XXX, k4C, k4D, k4E, XXX }, \ +} + +/*LAYOUT_split_left_shift + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │k00│k01│k02│k03│k04│k05│k06│k07│k08│k09│k0A│k0B│k0C│k0D│k0E│k0F│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ k10 │k11│k12│k13│k14│k15│k16│k17│k18│k19│k1A│k1B│k1C│ K2D │k1E│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ + * │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│k1D│ │k2E│ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │k30 │k31│k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │k40 │k41 │k42 │ k44 │k49 │k4A │ │k4C│k4D│k4E│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +*/ +#define LAYOUT_split_left_shift( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k1E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \ + k40, k41, k42, k44, k49, k4A, k4C, k4D, k4E \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k1E, XXX, }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \ + { k40, k41, k42, XXX, k44, XXX, XXX, XXX, XXX, k49, k4A, XXX, k4C, k4D, k4E, XXX }, \ +} + +/*LAYOUT_7u_space + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │k00│k01│k02│k03│k04│k05│k06│k07│k08│k09│k0A│k0B│k0C│k0D│k0E│k0F│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ k10 │k11│k12│k13│k14│k15│k16│k17│k18│k19│k1A│k1B│k1C│ K2D │k1E│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ + * │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│k1D│ │k2E│ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │k30 │k31│k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + * │k40 │k41 │k42 │ k44 │k4A │ │k4C│k4D│k4E│ + * └────┴────┴────┴────────────────────────────┴─────┘ └───┴───┴───┘ + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +*/ +#define LAYOUT_7u_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k1E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \ + k40, k41, k42, k44, k4A, k4C, k4D, k4E \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k1E, XXX, }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \ + { k40, k41, k42, XXX, k44, XXX, XXX, XXX, XXX, XXX, k4A, XXX, k4C, k4D, k4E, XXX }, \ +} + +/*LAYOUT_split_space_1 + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │k00│k01│k02│k03│k04│k05│k06│k07│k08│k09│k0A│k0B│k0C│k0D│k0E│k0F│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ k10 │k11│k12│k13│k14│k15│k16│k17│k18│k19│k1A│k1B│k1C│ K2D │k1E│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ + * │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│k1D│ │k2E│ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │k30 │k31│k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│ + * ├────┼───┴┬──┴─┬─┴───┴───┴┬──┴─┬─┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │k40 │k41 │k42 │k43 │K44 │ K46 │K49 │k4A │ │k4C│k4D│k4E│ + * └────┴────┴────┴──────────┴────┴────────┴────┴────┘ └───┴───┴───┘ + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +*/ +#define LAYOUT_split_space_1( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k1E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \ + k40, k41, k42, K43, k44, K46, K49, k4A, k4C, k4D, k4E \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k1E, XXX, }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \ + { k40, k41, k42, K43, k44, XXX, K46, XXX, XXX, XXX, k4A, XXX, k4C, k4D, k4E, XXX }, \ +} + +/*LAYOUT_split_space_2 + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │k00│k01│k02│k03│k04│k05│k06│k07│k08│k09│k0A│k0B│k0C│k0D│k0E│k0F│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ k10 │k11│k12│k13│k14│k15│k16│k17│k18│k19│k1A│k1B│k1C│ K2D │k1E│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ + * │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│k1D│ │k2E│ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │k30 │k31│k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│ + * ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │k40 │k41 │k42 │k43 │K44 │ K46 │K49 │k4A │ │k4C│k4D│k4E│ + * └────┴────┴────┴────────┴────┴──────────┴────┴────┘ └───┴───┴───┘ + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +*/ +#define LAYOUT_split_space_2( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k1E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \ + k40, k41, k42, K43, k44, K46, K49, k4A, k4C, k4D, k4E \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2D, k1E, XXX, }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \ + { k40, k41, k42, K43, k44, XXX, K46, XXX, XXX, XXX, k4A, XXX, k4C, k4D, k4E, XXX }, \ +} diff --git a/keyboards/mokey/ginkgo65/info.json b/keyboards/mokey/ginkgo65/info.json new file mode 100644 index 0000000000..116b3e057a --- /dev/null +++ b/keyboards/mokey/ginkgo65/info.json @@ -0,0 +1,469 @@ +{ + "keyboard_name": "ginkgo65", + "url": "", + "maintainer": "mokey", + "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":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0e", "x":13, "y":0, "w":2}, + {"label":"k0f", "x":15, "y":0}, + + {"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, "w":1.5}, + {"label":"k1e", "x":15, "y":1,}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2d", "x":12.75, "y":2, "w":2.25}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":2.25}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k44", "x":3.75, "y":4, "w":6.25}, + {"label":"k49", "x":10, "y":4, "w":1.25}, + {"label":"k4a", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_iso":{ + "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":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k0e", "x":14, "y":0}, + {"label":"k0f", "x":15, "y":0}, + + {"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":"k2d", "x":13.75, "y":1, "w":1.25}, + {"label":"k1e", "x":15, "y":1,}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k1d", "x":12.75, "y":2}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":2.25}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k44", "x":3.75, "y":4, "w":6.25}, + {"label":"k49", "x":10, "y":4, "w":1.25}, + {"label":"k4a", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_split_left_shift":{ + "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":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k0e", "x":14, "y":0}, + {"label":"k0f", "x":15, "y":0}, + + {"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":"k2d", "x":13.75, "y":1, "w":1.25}, + {"label":"k1e", "x":15, "y":1,}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k1d", "x":12.75, "y":2}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":1.25}, + {"label":"k31", "x":1.25, "y":3}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k44", "x":3.75, "y":4, "w":6.25}, + {"label":"k49", "x":10, "y":4, "w":1.25}, + {"label":"k4a", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_7u_space":{ + "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":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k0e", "x":14, "y":0}, + {"label":"k0f", "x":15, "y":0}, + + {"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":"k2d", "x":13.75, "y":1, "w":1.25}, + {"label":"k1e", "x":15, "y":1,}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k1d", "x":12.75, "y":2}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":1.25}, + {"label":"k31", "x":1.25, "y":3}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.5}, + {"label":"k41", "x":1.5, "y":4,}, + {"label":"k42", "x":2.5, "y":4, "w":1.5}, + {"label":"k44", "x":4, "y":4, "w":7}, + {"label":"k49", "x":11, "y":4, "w":1.5}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_split_space_1":{ + "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":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k0e", "x":14, "y":0}, + {"label":"k0f", "x":15, "y":0}, + + {"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":"k2d", "x":13.75, "y":1, "w":1.25}, + {"label":"k1e", "x":15, "y":1,}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k1d", "x":12.75, "y":2}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":1.25}, + {"label":"k31", "x":1.25, "y":3}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k43", "x":3.75, "y":4, "w":2.75}, + {"label":"k44", "x":6.5, "y":4, "w":1.25}, + {"label":"k46", "x":7.75, "y":4, "w":2.25}, + {"label":"k49", "x":10, "y":4, "w":1.25}, + {"label":"k4a", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_split_space_2":{ + "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":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k0e", "x":14, "y":0}, + {"label":"k0f", "x":15, "y":0}, + + {"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":"k2d", "x":13.75, "y":1, "w":1.25}, + {"label":"k1e", "x":15, "y":1,}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k1d", "x":12.75, "y":2}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":1.25}, + {"label":"k31", "x":1.25, "y":3}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k43", "x":3.75, "y":4, "w":2.25}, + {"label":"k44", "x":6, "y":4, "w":1.25}, + {"label":"k46", "x":7.25, "y":4, "w":2.75}, + {"label":"k49", "x":10, "y":4, "w":1.25}, + {"label":"k4a", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/mokey/ginkgo65/keymaps/default/keymap.c b/keyboards/mokey/ginkgo65/keymaps/default/keymap.c new file mode 100644 index 0000000000..0d411bc9d2 --- /dev/null +++ b/keyboards/mokey/ginkgo65/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2021 Ocean + * 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] = { + + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bspace │Ins│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgU│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ LShift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RShift│ ↑ │PgD│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │LCtl│LGui│LAlt│ Space │RAlt│ Fn │ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + + LAYOUT( + /* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + 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_INS, + 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_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 + ), +}; diff --git a/keyboards/mokey/ginkgo65/keymaps/via/keymap.c b/keyboards/mokey/ginkgo65/keymaps/via/keymap.c new file mode 100644 index 0000000000..90e7a8e904 --- /dev/null +++ b/keyboards/mokey/ginkgo65/keymaps/via/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2021 Ocean + * 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_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_INS, + 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_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( + 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, _______, _______, + BL_TOGG, BL_STEP, BL_DEC, BL_INC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/mokey/ginkgo65/keymaps/via/rules.mk b/keyboards/mokey/ginkgo65/keymaps/via/rules.mk new file mode 100644 index 0000000000..36b7ba9cbc --- /dev/null +++ b/keyboards/mokey/ginkgo65/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/mokey/ginkgo65/readme.md b/keyboards/mokey/ginkgo65/readme.md new file mode 100644 index 0000000000..8caa629aef --- /dev/null +++ b/keyboards/mokey/ginkgo65/readme.md @@ -0,0 +1,21 @@ +# Ginkgo65 Multi PCB + +![Ginkgo65](https://raw.githubusercontent.com/rhmokey/123.github.io/main/2021/08/15/hello-world/ginkgo65.png) + +Support Atmega32u4 keyboard,With a variety of configurations + +* Keyboard Maintainer: [mokey](https://github.com/rhmokey) +* Hardware Supported: Atmega32u4 +## Bootloader +* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmware + + +Make example for this keyboard (after setting up your build environment): + + make mokey/ginkgo65:default + +Flashing example for this keyboard: + + make mokey/ginkgo65: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). \ No newline at end of file diff --git a/keyboards/mokey/ginkgo65/rules.mk b/keyboards/mokey/ginkgo65/rules.mk new file mode 100644 index 0000000000..4f1faaec80 --- /dev/null +++ b/keyboards/mokey/ginkgo65/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# 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 = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output From 44bfe04f53f7402b1b1934c0353dd70ee3d94a49 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 15 Oct 2021 00:00:08 +0000 Subject: [PATCH 24/48] [Keyboard] PLX Refactor (#14809) --- keyboards/plx/info.json | 221 ++++++++++++++++++++- keyboards/plx/keymaps/default/keymap.c | 45 +++-- keyboards/plx/keymaps/default_all/keymap.c | 45 +++-- keyboards/plx/keymaps/via/keymap.c | 44 ++-- keyboards/plx/plx.h | 33 ++- keyboards/plx/rules.mk | 2 +- 6 files changed, 315 insertions(+), 75 deletions(-) diff --git a/keyboards/plx/info.json b/keyboards/plx/info.json index a338f1de2c..47f73ada61 100644 --- a/keyboards/plx/info.json +++ b/keyboards/plx/info.json @@ -1,10 +1,219 @@ { - "keyboard_name": "PLX", - "url": "https://peac.design/", - "maintainer": "2Moons", + "keyboard_name": "PLX", + "url": "https://peac.design/", + "maintainer": "2Moons-JP", + "layout_aliases": { + "LAYOUT": "LAYOUT_60_ansi_tsangan" + }, "layouts": { - "LAYOUT": { - "layout": [{"label":"Esc", "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":"Backspace", "x":13, "y":0, "w":2}, {"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":"Caps Lock", "x":0, "y":2, "w":1.25}, {"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":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"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":2.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}] + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"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":"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":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"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":2.75}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Alt", "x":11, "y":4, "w":1.5}, + {"label":"Win", "x":12.5, "y":4}, + {"label":"Ctrl", "x":13.5, "y":4, "w":1.5} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2\"", "x":2, "y":0}, + {"label":"3\u00a3", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"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":"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":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "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":2.75}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Alt", "x":11, "y":4, "w":1.5}, + {"label":"Win", "x":12.5, "y":4}, + {"label":"Ctrl", "x":13.5, "y":4, "w":1.5} + ] + }, + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1!", "x":1, "y":0}, + {"label":"2@", "x":2, "y":0}, + {"label":"3#", "x":3, "y":0}, + {"label":"4$", "x":4, "y":0}, + {"label":"5%", "x":5, "y":0}, + {"label":"6^", "x":6, "y":0}, + {"label":"7&", "x":7, "y":0}, + {"label":"8*", "x":8, "y":0}, + {"label":"9(", "x":9, "y":0}, + {"label":"0)", "x":10, "y":0}, + {"label":"-_", "x":11, "y":0}, + {"label":"=+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Backspace", "x":14, "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":"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":"#~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\|", "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}, + {"label":"Fn", "x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Alt", "x":11, "y":4, "w":1.5}, + {"label":"Win", "x":12.5, "y":4}, + {"label":"Ctrl", "x":13.5, "y":4, "w":1.5} + ] } } -} \ No newline at end of file +} diff --git a/keyboards/plx/keymaps/default/keymap.c b/keyboards/plx/keymaps/default/keymap.c index 9702b27bd2..31273405f8 100644 --- a/keyboards/plx/keymaps/default/keymap.c +++ b/keyboards/plx/keymaps/default/keymap.c @@ -20,30 +20,31 @@ enum layer_names { _BASE, _FN, - _MEDIA }; + _MEDIA +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = 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_EQL, KC_BSPC, - 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL - ), + [_BASE] = LAYOUT_60_ansi_tsangan( + 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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), - [_FN] = LAYOUT( - 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, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ), + [_FN] = LAYOUT_60_ansi_tsangan( + 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, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), - [_MEDIA] = LAYOUT( - 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, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) + [_MEDIA] = LAYOUT_60_ansi_tsangan( + 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, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ) }; diff --git a/keyboards/plx/keymaps/default_all/keymap.c b/keyboards/plx/keymaps/default_all/keymap.c index 40350c4759..cf460e5234 100644 --- a/keyboards/plx/keymaps/default_all/keymap.c +++ b/keyboards/plx/keymaps/default_all/keymap.c @@ -20,30 +20,31 @@ enum layer_names { _BASE, _FN, - _MEDIA }; + _MEDIA +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, - KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL - ), + [_BASE] = 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), - [_FN] = LAYOUT( - 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, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ), + [_FN] = LAYOUT_all( + 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, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), - [_MEDIA] = LAYOUT( - 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, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) + [_MEDIA] = LAYOUT_all( + 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, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ) }; diff --git a/keyboards/plx/keymaps/via/keymap.c b/keyboards/plx/keymaps/via/keymap.c index e988833c2e..cf460e5234 100644 --- a/keyboards/plx/keymaps/via/keymap.c +++ b/keyboards/plx/keymaps/via/keymap.c @@ -20,31 +20,31 @@ enum layer_names { _BASE, _FN, - _MEDIA, + _MEDIA }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, - KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL - ), + [_BASE] = 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), - [_FN] = LAYOUT_all( - 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, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ), + [_FN] = LAYOUT_all( + 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, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), - [_MEDIA] = LAYOUT_all( - 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, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) + [_MEDIA] = LAYOUT_all( + 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, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ) }; diff --git a/keyboards/plx/plx.h b/keyboards/plx/plx.h index 9776905f80..22d7bd0213 100644 --- a/keyboards/plx/plx.h +++ b/keyboards/plx/plx.h @@ -17,7 +17,21 @@ #include "quantum.h" -#define XXX KC_NO//readabilty +#define XXX KC_NO // readability + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ │0D │ 2u Backspace + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │ + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter + * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌─┴───┴────┤ + * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift + * └────────┘ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ └──────────┘ + * │40 │41 │42 │46 │4B │4C │4D │ + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + */ /* This a shortcut to help you visually see your layout. * @@ -27,7 +41,7 @@ * The second converts the arguments into a two-dimensional array which * represents the switch matrix. */ -#define LAYOUT( \ +#define LAYOUT_60_ansi_tsangan( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, \ @@ -42,6 +56,21 @@ { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D} \ } +#define LAYOUT_60_iso_tsangan( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ + 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, k2D, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \ + k40, k41, k42, k46, k4B, k4C, k4D \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX}, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX}, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D}, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, XXX}, \ + { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D} \ +} + #define LAYOUT_all( \ 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, \ diff --git a/keyboards/plx/rules.mk b/keyboards/plx/rules.mk index a3ee665756..419033f64c 100644 --- a/keyboards/plx/rules.mk +++ b/keyboards/plx/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug From c2d72a60f0f874e5f0c6836ef94526a2704a2e0b Mon Sep 17 00:00:00 2001 From: Alex Meyer Date: Thu, 14 Oct 2021 20:54:19 -0400 Subject: [PATCH 25/48] remove Bracket Pair Colorizer recommendation (#14816) As of v1.60, vscode has a much faster built-in method of colorizing bracket pairs, making the extension unnecessary. https://code.visualstudio.com/blogs/2021/09/29/bracket-pair-colorization --- .vscode/extensions.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 697686cd59..889d9d610e 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -5,7 +5,6 @@ "xaver.clang-format", "ms-vscode.cpptools", "bierner.github-markdown-preview", - "donjayamanne.git-extension-pack", - "CoenraadS.bracket-pair-colorizer-2" + "donjayamanne.git-extension-pack" ] } From dd42387d9fd288db22bd5c73664471220a6de8c2 Mon Sep 17 00:00:00 2001 From: Tom Date: Fri, 15 Oct 2021 03:11:01 +0200 Subject: [PATCH 26/48] [Keymap] Add keebio iris layout beakl 15 (#14762) --- keyboards/keebio/iris/keymaps/sq5rix/config.h | 25 +++ keyboards/keebio/iris/keymaps/sq5rix/keymap.c | 185 ++++++++++++++++++ .../keebio/iris/keymaps/sq5rix/readme.md | 17 ++ keyboards/keebio/iris/keymaps/sq5rix/rules.mk | 4 + 4 files changed, 231 insertions(+) create mode 100644 keyboards/keebio/iris/keymaps/sq5rix/config.h create mode 100644 keyboards/keebio/iris/keymaps/sq5rix/keymap.c create mode 100644 keyboards/keebio/iris/keymaps/sq5rix/readme.md create mode 100644 keyboards/keebio/iris/keymaps/sq5rix/rules.mk diff --git a/keyboards/keebio/iris/keymaps/sq5rix/config.h b/keyboards/keebio/iris/keymaps/sq5rix/config.h new file mode 100644 index 0000000000..8c576917e8 --- /dev/null +++ b/keyboards/keebio/iris/keymaps/sq5rix/config.h @@ -0,0 +1,25 @@ +/* +Copyright 2017 Danny Nguyen + +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 EE_HANDS +#define TAPPING_TERM 164 +#define IGNORE_MOD_TAP_INTERRUPT +#define PERMISSIVE_HOLD +#define RGBLIGHT_LAYERS +#define ENCODER_RESOLUTION 4 +#define ENCODER_DEFAULT_POS 0x3 diff --git a/keyboards/keebio/iris/keymaps/sq5rix/keymap.c b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c new file mode 100644 index 0000000000..19a939a55b --- /dev/null +++ b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c @@ -0,0 +1,185 @@ +// Copyright 2021 Tomasz Wawer (@sq5rix) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _BEAKL15, + _LOWER, + _RAISE, + _MOUSE +}; + +enum custom_keycodes { + LT_DAT = SAFE_RANGE, + LT_COM, + LT_QUOT +}; + +#define LOWER LT(_LOWER, KC_ENT) +#define LOWER2 LT(_LOWER, KC_T) +#define RAISE LT(_RAISE, KC_SPC) +#define RAISE2 LT(_RAISE, KC_BSPC) +#define MOUSE LT(_MOUSE, KC_A) + +#define SH_ESC MT(MOD_LSFT, KC_ESC) +#define SH_CWD MT(MOD_LALT, KC_BSPC) +#define SH_LTAB MT(MOD_LALT, KC_TAB) +#define SH_UND MT(MOD_LCTL, KC_UNDS) +#define SH_Z MT(MOD_LCTL, KC_Z) + +#define SH_LGS MT(MOD_LGUI, KC_B) +#define AL_I ALGR_T(KC_I) +#define AL_N ALGR_T(KC_N) + +// Tap Dance definitions +enum { + TD_S +}; +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_S] = ACTION_TAP_DANCE_DOUBLE(KC_S, KC_Z), +}; + +bool sh_key(keyrecord_t *record, uint8_t sk, uint8_t nk); +bool sh_key8(keyrecord_t *record, uint8_t sk, uint8_t nk); + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BEAKL15] = LAYOUT( + TG(_RAISE), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + SH_LTAB, KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, KC_LGUI, + SH_UND, KC_Y, AL_I, KC_E, MOUSE, LT_DAT, KC_D, TD(TD_S),LOWER2, AL_N, KC_B, KC_SCLN, + KC_LSFT, KC_J, KC_SLSH, LT_COM, KC_K, LT_QUOT, RGB_TOG, BL_TOGG, KC_W, KC_M, KC_L, KC_P, KC_V, KC_RSFT, + SH_Z, LOWER, RAISE, SH_ESC, RAISE2, SH_LTAB + ), + + [_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_LT, KC_DLR, KC_GT, KC_EXLM, _______, KC_LBRC, KC_UNDS, KC_RBRC, KC_EXLM, _______, + _______, KC_BSLS, KC_LPRN, KC_DQUO, KC_RPRN, KC_HASH, KC_PERC, KC_LCBR, KC_EQL, KC_RCBR, KC_PIPE, _______, + _______, KC_SCLN, KC_SLSH, KC_ASTR, KC_PLUS, _______, _______, _______, _______, KC_AMPR, KC_CIRC, KC_TILD, KC_SCLN, _______, + _______, _______, _______, _______, _______, _______ + + ), + + [_RAISE] = LAYOUT( + _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP, KC_PSCREEN, _______, _______, _______, _______, RESET, + _______, KC_SLSH, KC_6, KC_5, KC_4, KC_EQL, KC_CIRC, KC_PGUP, KC_UP, KC_PGDN, _______, RGB_VAI, + _______, KC_3, KC_2, KC_1, KC_0, KC_DOT, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + _______, KC_ASTR, KC_9, KC_8, KC_7, KC_PLUS, _______, _______, KC_PLUS, KC_HOME, KC_COLN, KC_END, _______, RGB_MOD, + _______, _______, _______, _______, _______, _______ + ), + + [_MOUSE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, + _______, _______, _______, KC_BTN1, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN3, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LT_DAT: + return sh_key8(record, KC_2, KC_DOT); + case LT_COM: + return sh_key8(record, KC_1, KC_COMM); + case LT_QUOT: + return sh_key(record, KC_GRV, KC_QUOT); + default: + return true; + } +} + +bool sh_key(keyrecord_t *record, uint8_t sk, uint8_t nk){ + if (record->event.pressed) { + if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ + unregister_code(KC_LSFT); + unregister_code(KC_RSFT); + register_code(sk); + } else { + register_code(nk); + } + } + else { + unregister_code16(sk); + unregister_code(nk); + } + return false; +} + +bool sh_key8(keyrecord_t *record, uint8_t sk, uint8_t nk){ + if (record->event.pressed) { + if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ + register_code(sk); + } else { + register_code(nk); + } + } + else { + unregister_code(sk); + unregister_code(nk); + } + return false; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code16(C(G(KC_LEFT))); + } else { + tap_code16(C(G(KC_RGHT))); + } + } + // tmux screen + else if (index == 1) { + switch(biton32(layer_state)){ + case 0: + if (clockwise) { + send_string(SS_LCTL("B")"p"); + } else { + send_string(SS_LCTL("B")"n"); + } + break; + case _RAISE: + if (clockwise) { + tap_code16(C(G(KC_PGUP))); + } else { + tap_code16(C(G(KC_PGDN))); + } + break; + } + } + return true; +} + +const rgblight_segment_t PROGMEM raise_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {1, 12, HSV_RED} +); +const rgblight_segment_t PROGMEM lower_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {1, 12, HSV_BLUE} +); +const rgblight_segment_t PROGMEM mouse_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {1, 12, HSV_GREEN} +); + +// Now define the array of layers. Later layers take precedence +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + lower_layer, + raise_layer, + mouse_layer +); + +void keyboard_post_init_user(void) { + // Enable the LED layers + rgblight_layers = my_rgb_layers; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, layer_state_cmp(state, 2)); + rgblight_set_layer_state(1, layer_state_cmp(state, 3)); + rgblight_set_layer_state(2, layer_state_cmp(state, 4)); + return state; +} + diff --git a/keyboards/keebio/iris/keymaps/sq5rix/readme.md b/keyboards/keebio/iris/keymaps/sq5rix/readme.md new file mode 100644 index 0000000000..96370c74cd --- /dev/null +++ b/keyboards/keebio/iris/keymaps/sq5rix/readme.md @@ -0,0 +1,17 @@ +BEAKL-15 keymap for keebio iris +@sq5rix tom wawer +https://deskthority.net/wiki/BEAKL#BEAKL_15 + +Modern keyboard map easy to learn +very effective to type + +esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Del + q h o u x g c r f z + - y i e a . d s t n b ; + j / , , k w m l p v + + z enter space esc bkspc tab + +lots of special functions +three layers with puncs, numbers and mouse + diff --git a/keyboards/keebio/iris/keymaps/sq5rix/rules.mk b/keyboards/keebio/iris/keymaps/sq5rix/rules.mk new file mode 100644 index 0000000000..3fc2bd9768 --- /dev/null +++ b/keyboards/keebio/iris/keymaps/sq5rix/rules.mk @@ -0,0 +1,4 @@ +RGBLIGHT_ENABLE = yes +TAP_DANCE_ENABLE = yes +LTO_ENABLE = yes +MOUSEKEY_ENABLE = yes From b7a346600c0bf1292800bbbbe48e658718722d90 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 15 Oct 2021 12:45:33 +1100 Subject: [PATCH 27/48] [Docs] Clean up reference_info_json.md (#14806) --- docs/reference_info_json.md | 94 ++++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 43 deletions(-) diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 646b6b5cc9..b2e6cae28e 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -9,33 +9,39 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/ Date: Thu, 14 Oct 2021 23:22:55 -0500 Subject: [PATCH 28/48] [Keyboard] Add MK61-RGB-ANSI keyboard (#14795) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/fjlabs/mk61rgbansi/config.h | 121 ++++++++++++++++++ keyboards/fjlabs/mk61rgbansi/info.json | 76 +++++++++++ .../mk61rgbansi/keymaps/default/keymap.c | 40 ++++++ .../fjlabs/mk61rgbansi/keymaps/via/keymap.c | 58 +++++++++ .../fjlabs/mk61rgbansi/keymaps/via/rules.mk | 1 + keyboards/fjlabs/mk61rgbansi/mk61rgbansi.c | 13 ++ keyboards/fjlabs/mk61rgbansi/mk61rgbansi.h | 32 +++++ keyboards/fjlabs/mk61rgbansi/readme.md | 14 ++ keyboards/fjlabs/mk61rgbansi/rules.mk | 26 ++++ 9 files changed, 381 insertions(+) create mode 100644 keyboards/fjlabs/mk61rgbansi/config.h create mode 100644 keyboards/fjlabs/mk61rgbansi/info.json create mode 100644 keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c create mode 100644 keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c create mode 100644 keyboards/fjlabs/mk61rgbansi/keymaps/via/rules.mk create mode 100644 keyboards/fjlabs/mk61rgbansi/mk61rgbansi.c create mode 100644 keyboards/fjlabs/mk61rgbansi/mk61rgbansi.h create mode 100644 keyboards/fjlabs/mk61rgbansi/readme.md create mode 100644 keyboards/fjlabs/mk61rgbansi/rules.mk diff --git a/keyboards/fjlabs/mk61rgbansi/config.h b/keyboards/fjlabs/mk61rgbansi/config.h new file mode 100644 index 0000000000..4d459b6f88 --- /dev/null +++ b/keyboards/fjlabs/mk61rgbansi/config.h @@ -0,0 +1,121 @@ +/* +Copyright 2021 + +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 0x7074 // FJLabs +#define PRODUCT_ID 0x1011 // mk61-rgb-ansi +#define DEVICE_VER 0x0001 // Version 1 +#define MANUFACTURER Mechanical Keyboards LLC +#define PRODUCT MK61-RGB-ANSI + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* + * 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) + * +*/ + +// Checked with Eagle Schematic +#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 } +#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* 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 + +/* Define RGB Underglow */ +#define RGB_DI_PIN F7 +#define RGBLED_NUM 64 +#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 +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLIGHT_LIMIT_VAL 108 +#define RGB_VAL_STEP 12 +#define RGBLIGHT_DEFAULT_SPD 144 +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL +/* #define RGBLIGHT_LAYER_BLINK*/ + +/* Define less important options */ + +/* + * 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/fjlabs/mk61rgbansi/info.json b/keyboards/fjlabs/mk61rgbansi/info.json new file mode 100644 index 0000000000..84cc8a46ae --- /dev/null +++ b/keyboards/fjlabs/mk61rgbansi/info.json @@ -0,0 +1,76 @@ +{ + "keyboard_name": "MK61-RGB-ANSI", + "url": "https://www.fjlaboratories.com/", + "maintainer": "Mechanical Keyboards, LLC", + "layouts": { + "LAYOUT_60_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": 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": 2.75}, + + {"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} + ] + } + } +} diff --git a/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c b/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c new file mode 100644 index 0000000000..7873f0e5e5 --- /dev/null +++ b/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2021 +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 layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_60_ansi( + 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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTRL + ), + + [_LAYER1] = LAYOUT_60_ansi( + KC_GESC, 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_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET, + KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; \ No newline at end of file diff --git a/keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c b/keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c new file mode 100644 index 0000000000..2e4dac7fc2 --- /dev/null +++ b/keyboards/fjlabs/mk61rgbansi/keymaps/via/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2021 +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 layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_60_ansi( + 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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTRL + ), + + [_LAYER1] = LAYOUT_60_ansi( + KC_GESC, 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_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET, + KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER2] = LAYOUT_60_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 + ), + + [_LAYER3] = LAYOUT_60_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 + ), + +}; diff --git a/keyboards/fjlabs/mk61rgbansi/keymaps/via/rules.mk b/keyboards/fjlabs/mk61rgbansi/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/fjlabs/mk61rgbansi/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.c b/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.c new file mode 100644 index 0000000000..5bf82ad443 --- /dev/null +++ b/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.c @@ -0,0 +1,13 @@ +/* Copyright 2021 +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 "mk61rgbansi.h" diff --git a/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.h b/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.h new file mode 100644 index 0000000000..8ab4873e08 --- /dev/null +++ b/keyboards/fjlabs/mk61rgbansi/mk61rgbansi.h @@ -0,0 +1,32 @@ +/* +Copyright 2021 +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" + +/* MK61-RGB-ANSI Keymap Definitions */ +#define LAYOUT_60_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, \ + K40, K41, K42, K45, K49, K4A, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, KC_NO }, \ + { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, KC_NO, K4C, K4D } \ +} diff --git a/keyboards/fjlabs/mk61rgbansi/readme.md b/keyboards/fjlabs/mk61rgbansi/readme.md new file mode 100644 index 0000000000..6425f09406 --- /dev/null +++ b/keyboards/fjlabs/mk61rgbansi/readme.md @@ -0,0 +1,14 @@ +# Mechanical Keyboards, LLC MK61-RGB-ANSI + +The following is the QMK Firmware for the Mechanical Keyboards, LLC MK61-RGB-ANSI PCB. + +--- + +* Keyboard Maintainer: Mechanical Keyboards, LLC +* Hardware Supported: MK61-RGB-ANSI + +Make example for this keyboard (after setting up your build environment): + + make fjlabs/mk61-rgb-ansi: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). You can enter the bootloader by pressing the reset button on the back of the PCB. diff --git a/keyboards/fjlabs/mk61rgbansi/rules.mk b/keyboards/fjlabs/mk61rgbansi/rules.mk new file mode 100644 index 0000000000..dbd20b9e1e --- /dev/null +++ b/keyboards/fjlabs/mk61rgbansi/rules.mk @@ -0,0 +1,26 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency +F_CPU = 8000000 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = 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 +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 60_ansi From c8b00b2e913bac3d7ad495f6a00cfc30b65952c7 Mon Sep 17 00:00:00 2001 From: Aaron Paterson Date: Fri, 15 Oct 2021 20:43:03 -0400 Subject: [PATCH 29/48] Update documentation because GPIO functions are no longer in quantum.h (#14826) * GPIO functions are no longer in quantum.h * Update docs/internals_gpio_control.md Co-authored-by: Ryan Co-authored-by: Ryan --- docs/internals_gpio_control.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/internals_gpio_control.md b/docs/internals_gpio_control.md index dcff928c70..21a3bd661e 100644 --- a/docs/internals_gpio_control.md +++ b/docs/internals_gpio_control.md @@ -4,7 +4,7 @@ QMK has a GPIO control abstraction layer which is microcontroller agnostic. This ## Functions :id=functions -The following functions can provide basic control of GPIOs and are found in `quantum/quantum.h`. +The following functions provide basic control of GPIOs and are found in `tmk_core/common//gpio.h`. |Function |Description | Old AVR Examples | Old ChibiOS/ARM Examples | |------------------------|--------------------------------------------------|-------------------------------------------------|-------------------------------------------------| From 8bb1fd04d4d4501a7bc1312e10d1fa639851fd8f Mon Sep 17 00:00:00 2001 From: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Fri, 15 Oct 2021 22:00:19 -0400 Subject: [PATCH 30/48] [Keymap] Userspace updates (#14832) --- users/stanrc85/rgblight_layers_osa.c | 4 ++-- users/stanrc85/rules.mk | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/users/stanrc85/rgblight_layers_osa.c b/users/stanrc85/rgblight_layers_osa.c index 59366fa34a..aff96c9699 100644 --- a/users/stanrc85/rgblight_layers_osa.c +++ b/users/stanrc85/rgblight_layers_osa.c @@ -11,7 +11,7 @@ const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( {2, 2, HSV_GREEN}, {6, 2, HSV_GREEN} -); +); const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( {2, 2, HSV_BLUE}, @@ -60,7 +60,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { } bool led_update_user(led_t led_state) { - //rgblight_set_layer_state(0, led_state.caps_lock); + rgblight_set_layer_state(0, led_state.caps_lock); writePin(C7, led_state.caps_lock); writePin(C6, middle); writePin(B6, bottom); diff --git a/users/stanrc85/rules.mk b/users/stanrc85/rules.mk index cafda97b1a..d17f2df007 100644 --- a/users/stanrc85/rules.mk +++ b/users/stanrc85/rules.mk @@ -26,6 +26,7 @@ endif ifeq ($(strip $(KEYBOARD)), tkc/osav2) SRC += rgblight_layers_osa.c VELOCIKEY_ENABLE=yes + SRC += rgb_timeout.c endif ifeq ($(strip $(KEYBOARD)), boardsource/the_mark) RGB_MATRIX_ENABLE = yes From b0d293a841977d393c81bef443f7e28f7764ee30 Mon Sep 17 00:00:00 2001 From: floookay <33830863+floookay@users.noreply.github.com> Date: Sat, 16 Oct 2021 04:01:35 +0200 Subject: [PATCH 31/48] [Keyboard] add Pluckey (#14672) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/pluckey/config.h | 90 ++++++++++++ keyboards/pluckey/info.json | 149 ++++++++++++++++++++ keyboards/pluckey/keymaps/default/keymap.c | 77 ++++++++++ keyboards/pluckey/keymaps/default/readme.md | 4 + keyboards/pluckey/pluckey.c | 38 +++++ keyboards/pluckey/pluckey.h | 46 ++++++ keyboards/pluckey/readme.md | 19 +++ keyboards/pluckey/rules.mk | 23 +++ 8 files changed, 446 insertions(+) create mode 100644 keyboards/pluckey/config.h create mode 100644 keyboards/pluckey/info.json create mode 100644 keyboards/pluckey/keymaps/default/keymap.c create mode 100644 keyboards/pluckey/keymaps/default/readme.md create mode 100644 keyboards/pluckey/pluckey.c create mode 100644 keyboards/pluckey/pluckey.h create mode 100644 keyboards/pluckey/readme.md create mode 100644 keyboards/pluckey/rules.mk diff --git a/keyboards/pluckey/config.h b/keyboards/pluckey/config.h new file mode 100644 index 0000000000..295fe93a85 --- /dev/null +++ b/keyboards/pluckey/config.h @@ -0,0 +1,90 @@ +/* +Copyright 2021 floookay + +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 0xF100 +#define PRODUCT_ID 0x91CE +#define DEVICE_VER 0x0001 +#define MANUFACTURER floookay +#define PRODUCT pluckey + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 7 + +/* + * Keyboard Matrix Assignments + * + * 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 { B4, F5, F6, B6, B5 } +#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6, F7 } +#define UNUSED_PINS { F4, B1 } +#define DIODE_DIRECTION COL2ROW + +/* encoder support */ +#define ENCODERS_PAD_A { B3 } +#define ENCODERS_PAD_B { B2 } +#define ENCODER_RESOLUTION 2 +#define ENCODERS_PAD_A_RIGHT { B2 } +#define ENCODERS_PAD_B_RIGHT { B3 } +#define ENCODER_RESOLUTION_RIGHT 2 + +/* communication between sides */ +#define USE_SERIAL +#define SOFT_SERIAL_PIN D2 + +/* 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 + +/* + * 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 + +/* 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/pluckey/info.json b/keyboards/pluckey/info.json new file mode 100644 index 0000000000..0a6bd1832d --- /dev/null +++ b/keyboards/pluckey/info.json @@ -0,0 +1,149 @@ +{ + "keyboard_name": "pluckey", + "url": "https://github.com/floookay/pluckey", + "maintainer": "floookay", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":3.5, "y":0}, + {"x":15, "y":0}, + {"x":2.5, "y":0.125}, + {"x":4.5, "y":0.125}, + {"x":14, "y":0.125}, + {"x":16, "y":0.125}, + {"x":5.5, "y":0.25}, + {"x":6.5, "y":0.25}, + {"x":12, "y":0.25}, + {"x":13, "y":0.25}, + {"x":0, "y":0.625, "w":1.5}, + {"x":1.5, "y":0.625}, + {"x":17, "y":0.625}, + {"x":18, "y":0.625, "w":1.5}, + {"x":3.5, "y":1.0}, + {"x":15, "y":1.0}, + {"x":2.5, "y":1.125}, + {"x":4.5, "y":1.125}, + {"x":14, "y":1.125}, + {"x":16, "y":1.125}, + {"x":5.5, "y":1.25}, + {"x":6.5, "y":1.25}, + {"x":12, "y":1.25}, + {"x":13, "y":1.25}, + {"x":0, "y":1.625, "w":1.5}, + {"x":1.5, "y":1.625}, + {"x":17, "y":1.625}, + {"x":18, "y":1.625, "w":1.5}, + {"x":3.5, "y":2}, + {"x":15, "y":2}, + {"x":2.5, "y":2.125}, + {"x":4.5, "y":2.125}, + {"x":14, "y":2.125}, + {"x":16, "y":2.125}, + {"x":5.5, "y":2.25}, + {"x":6.5, "y":2.25}, + {"x":12, "y":2.25}, + {"x":13, "y":2.25}, + {"x":0, "y":2.625, "w":1.5}, + {"x":1.5, "y":2.625}, + {"x":17, "y":2.625}, + {"x":18, "y":2.625, "w":1.5}, + {"x":6.5, "y":3.25}, + {"x":12, "y":3.25}, + {"x":3.5, "y":3}, + {"x":15, "y":3}, + {"x":2.5, "y":3.125}, + {"x":4.5, "y":3.125}, + {"x":14, "y":3.125}, + {"x":16, "y":3.125}, + {"x":5.5, "y":3.25}, + {"x":13, "y":3.25}, + {"x":0, "y":3.625, "w":1.5}, + {"x":1.5, "y":3.625}, + {"x":17, "y":3.625}, + {"x":18, "y":3.625, "w":1.5}, + {"x":7.5, "y":3.75}, + {"x":11, "y":3.75}, + {"x":3.5, "y":4}, + {"x":15, "y":4}, + {"x":2.5, "y":4.125}, + {"x":4.5, "y":4.125}, + {"x":14, "y":4.125}, + {"x":16, "y":4.125}, + {"x":5.75, "y":4.5, "w":1.5}, + {"x":12.25, "y":4.5, "w":1.5}, + {"x":7.25, "y":4.75}, + {"x":11.25, "y":4.75} + ] + }, + "LAYOUT_ergo": { + "layout": [ + {"x":3.5, "y":0}, + {"x":15, "y":0}, + {"x":2.5, "y":0.125}, + {"x":4.5, "y":0.125}, + {"x":14, "y":0.125}, + {"x":16, "y":0.125}, + {"x":5.5, "y":0.25}, + {"x":6.5, "y":0.25}, + {"x":12, "y":0.25}, + {"x":13, "y":0.25}, + {"x":0, "y":0.625, "w":1.5}, + {"x":1.5, "y":0.625}, + {"x":17, "y":0.625}, + {"x":18, "y":0.625, "w":1.5}, + {"x":3.5, "y":1.0}, + {"x":15, "y":1.0}, + {"x":2.5, "y":1.125}, + {"x":4.5, "y":1.125}, + {"x":14, "y":1.125}, + {"x":16, "y":1.125}, + {"x":5.5, "y":1.25}, + {"x":6.5, "y":1.25, "h":1.5}, + {"x":12, "y":1.25, "h":1.5}, + {"x":13, "y":1.25}, + {"x":0, "y":1.625, "w":1.5}, + {"x":1.5, "y":1.625}, + {"x":17, "y":1.625}, + {"x":18, "y":1.625, "w":1.5}, + {"x":3.5, "y":2}, + {"x":15, "y":2}, + {"x":2.5, "y":2.125}, + {"x":4.5, "y":2.125}, + {"x":14, "y":2.125}, + {"x":16, "y":2.125}, + {"x":5.5, "y":2.25}, + {"x":13, "y":2.25}, + {"x":0, "y":2.625, "w":1.5}, + {"x":1.5, "y":2.625}, + {"x":17, "y":2.625}, + {"x":18, "y":2.625, "w":1.5}, + {"x":6.5, "y":2.75, "h":1.5}, + {"x":12, "y":2.75, "h":1.5}, + {"x":3.5, "y":3}, + {"x":15, "y":3}, + {"x":2.5, "y":3.125}, + {"x":4.5, "y":3.125}, + {"x":14, "y":3.125}, + {"x":16, "y":3.125}, + {"x":5.5, "y":3.25}, + {"x":13, "y":3.25}, + {"x":0, "y":3.625, "w":1.5}, + {"x":1.5, "y":3.625}, + {"x":17, "y":3.625}, + {"x":18, "y":3.625, "w":1.5}, + {"x":7.5, "y":3.75}, + {"x":11, "y":3.75}, + {"x":3.5, "y":4}, + {"x":15, "y":4}, + {"x":2.5, "y":4.125}, + {"x":4.5, "y":4.125}, + {"x":14, "y":4.125}, + {"x":16, "y":4.125}, + {"x":5.75, "y":4.5, "w":1.5}, + {"x":12.25, "y":4.5, "w":1.5}, + {"x":7.25, "y":4.75}, + {"x":11.25, "y":4.75} + ] + } + } +} diff --git a/keyboards/pluckey/keymaps/default/keymap.c b/keyboards/pluckey/keymaps/default/keymap.c new file mode 100644 index 0000000000..31042fc692 --- /dev/null +++ b/keyboards/pluckey/keymaps/default/keymap.c @@ -0,0 +1,77 @@ +/* Copyright 2021 floookay + * + * 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 + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + M_ARROW +}; + +#define MO_LOW MO(_LOWER) +#define MO_RAIS MO(_RAISE) +#define MO_ADJU MO(_ADJUST) +#define MO_CURR _______ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, 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_LCBR, KC_HOME, KC_END, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LGUI, KC_LALT, MO_LOW, KC_SPC, KC_BSPC, KC_ENT, KC_SPC, MO_RAIS, KC_RALT, KC_MEH + ), + [_LOWER] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR, + _______, _______, _______, _______, KC_PIPE, KC_UNDS, KC_LPRN, KC_RPRN, KC_PLUS, KC_PIPE, _______, _______, _______, _______, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LPRN, KC_RPRN, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, _______, _______, _______, _______, _______, M_ARROW, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, + _______, _______, MO_CURR, _______, KC_DEL, _______, _______, MO_ADJU, _______, _______ + ), + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, + _______, _______, _______, KC_VOLU, _______, _______, KC_LPRN, KC_RPRN, _______, KC_BTN4, KC_UP, KC_BTN5, _______, _______, + _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_LPRN, KC_RPRN, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, + _______, _______, _______, KC_VOLD, _______, _______, M_ARROW, KC_PGUP, KC_PGDN, _______, _______, _______, KC_PGDN, _______, _______, _______, + _______, _______, MO_ADJU, _______, KC_DEL, _______, _______, MO_CURR, _______, _______ + ), + [_ADJUST] = LAYOUT( + KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_CLR, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case M_ARROW: + if (record->event.pressed) { + SEND_STRING("->"); + } + break; + } + return true; +} diff --git a/keyboards/pluckey/keymaps/default/readme.md b/keyboards/pluckey/keymaps/default/readme.md new file mode 100644 index 0000000000..d94d03e588 --- /dev/null +++ b/keyboards/pluckey/keymaps/default/readme.md @@ -0,0 +1,4 @@ +# Default keymap + +![keymap](https://gist.githubusercontent.com/floookay/ea7313862e407c9b5aaea3d6ed3ce233/raw/0a37fe682f76bbaa55cbc56527e4666bedbf5761/layout.png) +[Keyboard-Layout-Editor](http://www.keyboard-layout-editor.com/#/gists/13c9d00bd0c0c9e3fe3b3d8d98672ef9) [(raw)](https://gist.github.com/floookay/13c9d00bd0c0c9e3fe3b3d8d98672ef9) diff --git a/keyboards/pluckey/pluckey.c b/keyboards/pluckey/pluckey.c new file mode 100644 index 0000000000..d9025726fd --- /dev/null +++ b/keyboards/pluckey/pluckey.c @@ -0,0 +1,38 @@ +/* Copyright 2021 floookay + * + * 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 "pluckey.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } + else if (index == 1) { + if (clockwise) { + tap_code(KC_WH_U); + } else { + tap_code(KC_WH_D); + } + } + return true; +} +#endif diff --git a/keyboards/pluckey/pluckey.h b/keyboards/pluckey/pluckey.h new file mode 100644 index 0000000000..628a89baa9 --- /dev/null +++ b/keyboards/pluckey/pluckey.h @@ -0,0 +1,46 @@ +/* Copyright 2021 floookay + * + * 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( \ + l00, l01, l02, l03, l04, l05, l06, r00, r01, r02, r03, r04, r05, r06, \ + l10, l11, l12, l13, l14, l15, l16, r10, r11, r12, r13, r14, r15, r16, \ + l20, l21, l22, l23, l24, l25, l26, r20, r21, r22, r23, r24, r25, r26, \ + l30, l31, l32, l33, l34, l35, l36, l41, r45, r30, r31, r32, r33, r34, r35, r36, \ + l42, l43, l44, l45, l46, r40, r41, r42, r43, r44 \ +){ \ + { l00, l01, l02, l03, l04, l05, l06 }, \ + { l10, l11, l12, l13, l14, l15, l16 }, \ + { l20, l21, l22, l23, l24, l25, l26 }, \ + { l30, l31, l32, l33, l34, l35, l36 }, \ + { KC_NO, l41, l42, l43, l44, l45, l46 }, \ + { r06, r05, r04, r03, r02, r01, r00 }, \ + { r16, r15, r14, r13, r12, r11, r10 }, \ + { r26, r25, r24, r23, r22, r21, r20 }, \ + { r36, r35, r34, r33, r32, r31, r30 }, \ + { KC_NO, r45, r44, r43, r42, r41, r40 } \ +} diff --git a/keyboards/pluckey/readme.md b/keyboards/pluckey/readme.md new file mode 100644 index 0000000000..b0a1af99b8 --- /dev/null +++ b/keyboards/pluckey/readme.md @@ -0,0 +1,19 @@ +# Pluckey + +![pluckey](https://gist.githubusercontent.com/floookay/ea7313862e407c9b5aaea3d6ed3ce233/raw/1757078b1adf7ac4d51d74f445107bdb46e013a3/sandwich%2520angle.jpg) + +The pluckey is an ergodox like split keyboard with moderate columnal stagger and a horizontal space key. + +* Keyboard Maintainer: [floookay](https://github.com/floookay) +* Hardware Supported: pluckey pcbs with pro micro controllers +* Hardware Availability: [pcb & case files](https://github.com/floookay/pluckey) + +Make example for this keyboard (after setting up your build environment): + + make pluckey:default + +Flashing example for this keyboard: + + make pluckey: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/pluckey/rules.mk b/keyboards/pluckey/rules.mk new file mode 100644 index 0000000000..4f4954434b --- /dev/null +++ b/keyboards/pluckey/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# 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 = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +SPLIT_KEYBOARD = yes From 40badc4413d97226398302fb7a84c83c5c4f03a8 Mon Sep 17 00:00:00 2001 From: Sergi Meseguer Date: Sat, 16 Oct 2021 04:02:04 +0200 Subject: [PATCH 32/48] [Keymap] zigotica userspace (#14670) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../splitkb/kyria/keymaps/zigotica/config.h | 44 ++++ .../splitkb/kyria/keymaps/zigotica/keymap.c | 58 ++++++ .../splitkb/kyria/keymaps/zigotica/oled.c | 87 ++++++++ .../splitkb/kyria/keymaps/zigotica/oled.h | 18 ++ .../splitkb/kyria/keymaps/zigotica/rules.mk | 10 + keyboards/z12/keymaps/zigotica/config.h | 30 +++ keyboards/z12/keymaps/zigotica/encoder.c | 114 ++++++++++ keyboards/z12/keymaps/zigotica/encoder.h | 18 ++ keyboards/z12/keymaps/zigotica/keymap.c | 126 ++++++++++++ keyboards/z12/keymaps/zigotica/oled.c | 43 ++++ keyboards/z12/keymaps/zigotica/oled.h | 18 ++ keyboards/z12/keymaps/zigotica/rules.mk | 4 + keyboards/z12/z12.c | 18 +- keyboards/z34/keymaps/default/rules.mk | 4 +- keyboards/z34/keymaps/zigotica/config.h | 28 +++ keyboards/z34/keymaps/zigotica/keymap.c | 57 +++++ keyboards/z34/keymaps/zigotica/rules.mk | 7 + users/zigotica/combos.c | 40 ++++ users/zigotica/combos.h | 17 ++ users/zigotica/rows.h | 194 ++++++++++++++++++ users/zigotica/rules.mk | 18 ++ users/zigotica/tapdances.c | 34 +++ users/zigotica/tapdances.h | 24 +++ users/zigotica/zigotica.c | 14 ++ users/zigotica/zigotica.h | 51 +++++ 25 files changed, 1057 insertions(+), 19 deletions(-) create mode 100644 keyboards/splitkb/kyria/keymaps/zigotica/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/zigotica/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/zigotica/oled.c create mode 100644 keyboards/splitkb/kyria/keymaps/zigotica/oled.h create mode 100644 keyboards/splitkb/kyria/keymaps/zigotica/rules.mk create mode 100644 keyboards/z12/keymaps/zigotica/config.h create mode 100644 keyboards/z12/keymaps/zigotica/encoder.c create mode 100644 keyboards/z12/keymaps/zigotica/encoder.h create mode 100644 keyboards/z12/keymaps/zigotica/keymap.c create mode 100644 keyboards/z12/keymaps/zigotica/oled.c create mode 100644 keyboards/z12/keymaps/zigotica/oled.h create mode 100644 keyboards/z12/keymaps/zigotica/rules.mk create mode 100644 keyboards/z34/keymaps/zigotica/config.h create mode 100644 keyboards/z34/keymaps/zigotica/keymap.c create mode 100644 keyboards/z34/keymaps/zigotica/rules.mk create mode 100644 users/zigotica/combos.c create mode 100644 users/zigotica/combos.h create mode 100644 users/zigotica/rows.h create mode 100644 users/zigotica/rules.mk create mode 100644 users/zigotica/tapdances.c create mode 100644 users/zigotica/tapdances.h create mode 100644 users/zigotica/zigotica.c create mode 100644 users/zigotica/zigotica.h diff --git a/keyboards/splitkb/kyria/keymaps/zigotica/config.h b/keyboards/splitkb/kyria/keymaps/zigotica/config.h new file mode 100644 index 0000000000..b59e04474b --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/zigotica/config.h @@ -0,0 +1,44 @@ +/* Copyright 2020 Sergi Meseguer + +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 SPLIT_LAYER_STATE_ENABLE +#define SPLIT_LED_STATE_ENABLE +#define MASTER_RIGHT// EE_HANDS MASTER_RIGHT + +// these should work better for homerow modifiers +#define TAPPING_TERM 350 +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_FORCE_HOLD + +#define LEADER_PER_KEY_TIMING +#define LEADER_TIMEOUT 300 + +#ifdef OLED_ENABLE + #define OLED_DISPLAY_128X64 + #define OLED_TIMEOUT 10000 +#endif + +#ifdef ENCODER_ENABLE + // EC11K encoders have a different resolution than other EC11 encoders. + // When using the default resolution of 4, if you notice your encoder skipping + // every other tick, lower the resolution to 2. + #define ENCODER_RESOLUTION 2 + // Also, flip direction + #define ENCODER_DIRECTION_FLIP +#endif diff --git a/keyboards/splitkb/kyria/keymaps/zigotica/keymap.c b/keyboards/splitkb/kyria/keymaps/zigotica/keymap.c new file mode 100644 index 0000000000..2671f07463 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/zigotica/keymap.c @@ -0,0 +1,58 @@ +/* Copyright 2020 Sergi Meseguer + +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 "zigotica.h" + +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [BASE] = LAYOUT_wrapper( + _______, _STENAI_L1, _STENAI_R1, _______, + _______, _STENAI_L2, _STENAI_R2, _______, + _______, _STENAI_L3, _______, _______, _______, _______, _STENAI_R3, _______, + _______, _______, _STENAI_LT, _______, _______, _STENAI_RT, _______, _______ + ), + + [_NUM] = LAYOUT_wrapper( + _______, ____NUM_L1, ____NUM_R1, _______, + _______, ____NUM_L2, ____NUM_R2, _______, + _______, ____NUM_L3, _______, _______, _______, _______, ____NUM_R3, _______, + _______, _______, ____NUM_LT, _______, _______, ____NUM_RT, _______, _______ + ), + + [_NAV] = LAYOUT_wrapper( + _______, ____NAV_L1, ____NAV_R1, _______, + _______, ____NAV_L2, ____NAV_R2, _______, + _______, ____NAV_L3, _______, _______, _______, _______, ____NAV_R3, _______, + _______, _______, ____NAV_LT, _______, _______, ____NAV_RT, _______, _______ + ), + + [_SYM] = LAYOUT_wrapper( + _______, ____SYM_L1, ____SYM_R1, _______, + _______, ____SYM_L2, ____SYM_R2, _______, + _______, ____SYM_L3, _______, _______, _______, _______, ____SYM_R3, _______, + _______, _______, ____SYM_LT, _______, _______, ____SYM_RT, _______, _______ + ), + + [_FN] = LAYOUT_wrapper( + _______, ____FN_L1, ____FN_R1, _______, + _______, ____FN_L2, ____FN_R2, _______, + _______, ____FN_L3, _______, _______, _______, _______, ____FN_R3, _______, + _______, _______, ____FN_LT, _______, _______, ____FN_RT, _______, _______ + ), +}; + diff --git a/keyboards/splitkb/kyria/keymaps/zigotica/oled.c b/keyboards/splitkb/kyria/keymaps/zigotica/oled.c new file mode 100644 index 0000000000..46bb2c3cea --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/zigotica/oled.c @@ -0,0 +1,87 @@ +/* Copyright 2020 Sergi Meseguer + +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 "zigotica.h" + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + +static void render_kyria_logo(void) { + static const char PROGMEM kyria_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,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, 0, 0, 0, 0, 0, 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,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 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, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 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 + }; + oled_write_raw_P(kyria_logo, sizeof(kyria_logo)); +} + +static void render_qmk_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; + + oled_write_P(qmk_logo, false); +} + +static void render_status(void) { + // QMK Logo and version information + render_qmk_logo(); + oled_write_P(PSTR("Kyria v1.2\n\n"), false); + + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state)) { + case BASE: + oled_write_P(PSTR("STENAI\n"), false); + break; + case _NUM: + oled_write_P(PSTR("NUM\n"), false); + break; + case _NAV: + oled_write_P(PSTR("NAV\n"), false); + break; + case _SYM: + oled_write_P(PSTR("SYM\n"), false); + break; + case _FN: + oled_write_P(PSTR("FN\n"), false); + break; + default: + oled_write_P(PSTR("Undef\n"), false); + } + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); +} + +void oled_task_user(void) { + if (!is_keyboard_left()) { + render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_kyria_logo(); + } +} + diff --git a/keyboards/splitkb/kyria/keymaps/zigotica/oled.h b/keyboards/splitkb/kyria/keymaps/zigotica/oled.h new file mode 100644 index 0000000000..2422c68f28 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/zigotica/oled.h @@ -0,0 +1,18 @@ +/* Copyright 2020 Sergi Meseguer + +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 "zigotica.h" diff --git a/keyboards/splitkb/kyria/keymaps/zigotica/rules.mk b/keyboards/splitkb/kyria/keymaps/zigotica/rules.mk new file mode 100644 index 0000000000..29d98d7019 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/zigotica/rules.mk @@ -0,0 +1,10 @@ +OLED_ENABLE = yes +ENCODER_ENABLE = no +RGBLIGHT_ENABLE = no + +COMBO_ENABLE = yes +TAP_DANCE_ENABLE = yes +LEADER_ENABLE = no +UNICODE_ENABLE = no +MOUSEKEY_ENABLE = yes + diff --git a/keyboards/z12/keymaps/zigotica/config.h b/keyboards/z12/keymaps/zigotica/config.h new file mode 100644 index 0000000000..fbab76d5f0 --- /dev/null +++ b/keyboards/z12/keymaps/zigotica/config.h @@ -0,0 +1,30 @@ +/* Copyright 2020 Sergi Meseguer + +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" + +#ifdef OLED_ENABLE + #define OLED_DISPLAY_128X32 +#endif + +// EC11 encoders' resolution. +// Reduce the value to 2 if you feel missing values: +#define ENCODER_RESOLUTION 4 + +// Allows correct registered values by rotary encoder: +#define TAP_CODE_DELAY 10 diff --git a/keyboards/z12/keymaps/zigotica/encoder.c b/keyboards/z12/keymaps/zigotica/encoder.c new file mode 100644 index 0000000000..49a3d859b6 --- /dev/null +++ b/keyboards/z12/keymaps/zigotica/encoder.c @@ -0,0 +1,114 @@ +/* Copyright 2020 Sergi Meseguer + +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 "zigotica.h" + +bool encoder_update_user(uint8_t index, bool clockwise) { + switch(get_highest_layer(layer_state)){ + case _VIM: + if (index == 0) { // LEFT + // Cycle through buffers + if (clockwise) { + register_code(KC_ESC); + SEND_STRING(":bprevious"); + register_code(KC_ENT); + unregister_code(KC_ESC); + unregister_code(KC_ENT); + } else { + register_code(KC_ESC); + SEND_STRING(":bnext"); + register_code(KC_ENT); + unregister_code(KC_ESC); + unregister_code(KC_ENT); + } + } else { // RIGHT + // Scroll + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + break; + case _BROWSER: + if (index == 0) { // LEFT + // Cycle through Tabs + if (clockwise) { + tap_code16(C(KC_TAB)); + /* register_code16(G(KC_RCBR)); */ + /* unregister_code16(G(KC_RCBR)); */ + } else { + tap_code16(S(C(KC_TAB))); + /* register_code16(G(KC_LCBR)); */ + /* unregister_code16(G(KC_LCBR)); */ + } + } else { // RIGHT + // Scroll up/down + if (clockwise) { + register_code(KC_WH_U); + unregister_code(KC_WH_U); + } else { + register_code(KC_WH_D); + unregister_code(KC_WH_D); + } + } + break; + case _FIGMA: + if (index == 0) { // LEFT + // Volume control. + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else { // RIGHT + // Zoom in/out + if (clockwise) { + register_code(KC_LGUI); + register_code(KC_WH_D); + unregister_code(KC_WH_D); + unregister_code(KC_LGUI); + } else { + register_code(KC_LGUI); + register_code(KC_WH_U); + unregister_code(KC_WH_U); + unregister_code(KC_LGUI); + } + } + break; + case _TERMINAL: + default: + if (index == 0) { // LEFT + // Volume control. + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else { // RIGHT + // Scroll + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + break; + } + return false; +} + + diff --git a/keyboards/z12/keymaps/zigotica/encoder.h b/keyboards/z12/keymaps/zigotica/encoder.h new file mode 100644 index 0000000000..2422c68f28 --- /dev/null +++ b/keyboards/z12/keymaps/zigotica/encoder.h @@ -0,0 +1,18 @@ +/* Copyright 2020 Sergi Meseguer + +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 "zigotica.h" diff --git a/keyboards/z12/keymaps/zigotica/keymap.c b/keyboards/z12/keymaps/zigotica/keymap.c new file mode 100644 index 0000000000..7e969de96e --- /dev/null +++ b/keyboards/z12/keymaps/zigotica/keymap.c @@ -0,0 +1,126 @@ +/* Copyright 2020 + Sergi Meseguer + +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 "zigotica.h" + +// Custom Keycodes +#define MODE_1 TO(_TERMINAL) +#define MODE_2 TO(_FIGMA) +#define MODE_3 TO(_BROWSER) +#define MODE_4 TO(_VIM) + +enum custom_keycodes { + VIM_SIP = SAFE_RANGE +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case VIM_SIP: + if (record->event.pressed) { + register_code(KC_ESC); + SEND_STRING(":Ag "); + } else { + // released + unregister_code(KC_ESC); + } + break; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * TERMINAL Layer + * + * ,-----------------------------. + * | | TERM | FIGM | | + * |-------+------+------+-------| + * | VOL | BROW | VIM | SCROLL| + * |-------+------+------+-------| + * |-------+-------+-------| + * | MEDIA | o | o | + * |-------+-------+-------| + * | o | o | o | + * |-------+-------+-------| + */ + [_TERMINAL] = LAYOUT( + MODE_1, MODE_2, + ZK_MEDIA, MODE_3, MODE_4, _______, + _______, _______, _______, + _______, _______, _______ + ), +/* + * VIM Layer + * + * ,-----------------------------. + * | | TERM | FIGM | | + * |-------+------+------+-------| + * |BUFFER | BROW | VIM | SCROLL| + * |-------+------+------+-------| + * |-------+-------+-------| + * |SEARCH | o | o | + * |-------+-------+-------| + * | o | o | o | + * |-------+-------+-------| + */ + [_VIM] = LAYOUT( + _______, _______, + _______, _______, _______, _______, + VIM_SIP, _______, _______, + _______, _______, _______ + ), +/* + * FIGMA Layer + * + * ,-----------------------------. + * | | TERM | FIGM | | + * |-------+------+------+-------| + * | VOL | BROW | VIM | ZOOM | + * |-------+------+------+-------| + * |-------+-------+-------| + * | ZOOM | GRIDS | FULL | + * |-------+-------+-------| + * | o | o | o | + * |-------+-------+-------| + */ + [_FIGMA] = LAYOUT( + _______, _______, + _______, _______, _______, _______, + LSFT(KC_1), LCTL(KC_G), LGUI(KC_BSLS), + _______, _______, _______ + ), +/* + * BROWSER Layer + * + * ,-----------------------------. + * | | TERM | FIGM | | + * |-------+------+------+-------| + * | TABS | BROW | VIM | SCROLL| + * |-------+------+------+-------| + * |-------+-------+-------| + * |SEARCH | BOOKM | DEVTL | + * |-------+-------+-------| + * | o | o | o | + * |-------+-------+-------| + */ + [_BROWSER] = LAYOUT( + _______, _______, + _______, _______, _______, _______, + G(KC_F), G(KC_D), G(A(KC_I)), + _______, _______, _______ + ), +}; diff --git a/keyboards/z12/keymaps/zigotica/oled.c b/keyboards/z12/keymaps/zigotica/oled.c new file mode 100644 index 0000000000..4b428a42b1 --- /dev/null +++ b/keyboards/z12/keymaps/zigotica/oled.c @@ -0,0 +1,43 @@ +/* Copyright 2020 Sergi Meseguer + +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 "zigotica.h" + +static void render_status(void) { + oled_write_P(PSTR("z12 v1.0\n"), false); + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state)) { + case _VIM: + oled_write_P(PSTR("VIM\n\nBUFFER SCROLL"), false); + break; + case _FIGMA: + oled_write_P(PSTR("FIGMA\n\nVOLUME ZOOM"), false); + break; + case _BROWSER: + oled_write_P(PSTR("BROWSER\n\nTABS SCROLL"), false); + break; + case _TERMINAL: + oled_write_P(PSTR("TERMINAL\n\nVOLUME SCROLL"), false); + break; + default: + oled_write_P(PSTR("Undef\n"), false); + } +} + +void oled_task_user(void) { + render_status(); +} + diff --git a/keyboards/z12/keymaps/zigotica/oled.h b/keyboards/z12/keymaps/zigotica/oled.h new file mode 100644 index 0000000000..2422c68f28 --- /dev/null +++ b/keyboards/z12/keymaps/zigotica/oled.h @@ -0,0 +1,18 @@ +/* Copyright 2020 Sergi Meseguer + +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 "zigotica.h" diff --git a/keyboards/z12/keymaps/zigotica/rules.mk b/keyboards/z12/keymaps/zigotica/rules.mk new file mode 100644 index 0000000000..02e37aa80b --- /dev/null +++ b/keyboards/z12/keymaps/zigotica/rules.mk @@ -0,0 +1,4 @@ +OLED_ENABLE = yes # Enables the use of OLED displays +RAW_ENABLE = yes +TAP_DANCE_ENABLE = yes +MOUSEKEY_ENABLE = yes diff --git a/keyboards/z12/z12.c b/keyboards/z12/z12.c index 99fe62ab93..2af8836cab 100644 --- a/keyboards/z12/z12.c +++ b/keyboards/z12/z12.c @@ -18,22 +18,6 @@ #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - if (index == 0) { // LEFT - // Scroll - if (clockwise) { - tap_code_delay(KC_PGDN, 10); - } else { - tap_code_delay(KC_PGUP, 10); - } - } else { // RIGHT - // Volume control. - if (clockwise) { - tap_code_delay(KC_VOLU, 10); - } else { - tap_code_delay(KC_VOLD, 10); - } - } - return false; + return encoder_update_user(index, clockwise); } #endif diff --git a/keyboards/z34/keymaps/default/rules.mk b/keyboards/z34/keymaps/default/rules.mk index 9281e9843b..827811a362 100644 --- a/keyboards/z34/keymaps/default/rules.mk +++ b/keyboards/z34/keymaps/default/rules.mk @@ -1,3 +1,3 @@ # There are no extra pins, so we make sure to disable OLED and Encoders -OLED_ENABLE = no # Enables the use of OLED displays -ENCODER_ENABLE = no # Enables the use of encoders +OLED_SUPPORTED = no +ENCODER_SUPPORTED = no diff --git a/keyboards/z34/keymaps/zigotica/config.h b/keyboards/z34/keymaps/zigotica/config.h new file mode 100644 index 0000000000..1b223cb71d --- /dev/null +++ b/keyboards/z34/keymaps/zigotica/config.h @@ -0,0 +1,28 @@ +/* Copyright 2020 Sergi Meseguer + +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 MASTER_RIGHT + +// these should work better for homerow modifiers +#define TAPPING_TERM 350 +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_FORCE_HOLD + diff --git a/keyboards/z34/keymaps/zigotica/keymap.c b/keyboards/z34/keymaps/zigotica/keymap.c new file mode 100644 index 0000000000..88c6a3db1b --- /dev/null +++ b/keyboards/z34/keymaps/zigotica/keymap.c @@ -0,0 +1,57 @@ +/* Copyright 2020 Sergi Meseguer + +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 "zigotica.h" + +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [BASE] = LAYOUT_wrapper( + _STENAI_L1, _STENAI_R1, + _STENAI_L2, _STENAI_R2, + _STENAI_L3, _STENAI_R3, + _STENAI_LT, _STENAI_RT + ), + + [_NUM] = LAYOUT_wrapper( + ____NUM_L1, ____NUM_R1, + ____NUM_L2, ____NUM_R2, + ____NUM_L3, ____NUM_R3, + ____NUM_LT, ____NUM_RT + ), + + [_NAV] = LAYOUT_wrapper( + ____NAV_L1, ____NAV_R1, + ____NAV_L2, ____NAV_R2, + ____NAV_L3, ____NAV_R3, + ____NAV_LT, ____NAV_RT + ), + + [_SYM] = LAYOUT_wrapper( + ____SYM_L1, ____SYM_R1, + ____SYM_L2, ____SYM_R2, + ____SYM_L3, ____SYM_R3, + ____SYM_LT, ____SYM_RT + ), + + [_FN] = LAYOUT_wrapper( + ____FN_L1, ____FN_R1, + ____FN_L2, ____FN_R2, + ____FN_L3, ____FN_R3, + ____FN_LT, ____FN_RT + ), +}; + diff --git a/keyboards/z34/keymaps/zigotica/rules.mk b/keyboards/z34/keymaps/zigotica/rules.mk new file mode 100644 index 0000000000..9abdfb40b4 --- /dev/null +++ b/keyboards/z34/keymaps/zigotica/rules.mk @@ -0,0 +1,7 @@ +# There are no extra pins, so we make sure to disable OLED and Encoders +OLED_SUPPORTED = no +ENCODER_SUPPORTED = no + +MOUSEKEY_ENABLE = yes +COMBO_ENABLE = yes +TAP_DANCE_ENABLE = yes diff --git a/users/zigotica/combos.c b/users/zigotica/combos.c new file mode 100644 index 0000000000..8fb5b3c9fc --- /dev/null +++ b/users/zigotica/combos.c @@ -0,0 +1,40 @@ +/* Copyright 2020 Sergi Meseguer +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 "combos.h" + +enum combos { + EM_EMAIL, + CL_CAPSL, + COMBO_LENGTH +}; +uint16_t COMBO_LEN = COMBO_LENGTH; + +const uint16_t PROGMEM email_combo[] = {LT(_SYM, KC_E), KC_M, COMBO_END}; +const uint16_t PROGMEM caps_combo[] = {KC_C, KC_L, COMBO_END}; + +combo_t key_combos[] = { + [EM_EMAIL] = COMBO_ACTION(email_combo), + [CL_CAPSL] = COMBO(caps_combo, KC_CAPSLOCK), +}; + +void process_combo_event(uint16_t combo_index, bool pressed) { + switch(combo_index) { + case EM_EMAIL: + if (pressed) { + SEND_STRING("zigotica@gmail.com"); + } + break; + } +} + diff --git a/users/zigotica/combos.h b/users/zigotica/combos.h new file mode 100644 index 0000000000..c75a107b9a --- /dev/null +++ b/users/zigotica/combos.h @@ -0,0 +1,17 @@ +/* Copyright 2020 Sergi Meseguer +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 "zigotica.h" + diff --git a/users/zigotica/rows.h b/users/zigotica/rows.h new file mode 100644 index 0000000000..e73d72bbe2 --- /dev/null +++ b/users/zigotica/rows.h @@ -0,0 +1,194 @@ +/* Copyright 2020 Sergi Meseguer +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 "zigotica.h" + +// clang-format off +#define _BLANK_ROW _______, _______, _______, _______, _______ +#define _BLANK_THUMB _______, _______ + +/* + * STENAI Layer + * + * ,---------------------------------------. ,---------------------------------------. + * | | | | | | | | | | | | + * | ` ~ | W | D | P | F | | K | Y | U | Q | ' " | + * | | | | | | | | | | | | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | | | | | | | | | | | | + * | H | R | S | T | G | | M | N | A | I | O | + * | alt | ctrl | shft | meta | | | | meta | shft | ctrl | alt | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | | | | | | | | | | | | + * | B | X | C | V | [ { | | , < | L | Z | J | . > | + * | | | | | TD ]} | | TD ; | | | | TD : | + * `-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------. + * | | | | | | + * | ESC | SPC | | E | INTRO | + * | num | nav | | sym | fn | + * `---------------' `---------------' + * + */ +#define _STENAI_L1 KC_GRV, KC_W, KC_D, KC_P, KC_F +#define _STENAI_L2 LALT_T(KC_H), LCTL_T(KC_R), LSFT_T(KC_S), LGUI_T(KC_T), KC_G +#define _STENAI_L3 KC_B, KC_X, KC_C, KC_V, ZK_BRC +#define _STENAI_LT LT(_NUM, KC_ESC), LT(_NAV, KC_SPC) + +#define _STENAI_R1 KC_K, KC_Y, KC_U, KC_Q, KC_QUOT +#define _STENAI_R2 KC_M, RGUI_T(KC_N), RSFT_T(KC_A), RCTL_T(KC_I), RALT_T(KC_O) +#define _STENAI_R3 ZK_SEMI, KC_L, KC_Z, KC_J, ZK_COLON +#define _STENAI_RT LT(_SYM, KC_E), LT(_FN, KC_ENT) + + +#define _COLEMAK_L1 KC_Q, KC_W, KC_F, KC_P, KC_G +#define _COLEMAK_L2 KC_A, KC_R, KC_S, KC_T, KC_D +#define _COLEMAK_L3 KC_Z, KC_X, KC_C, KC_V, KC_B + +#define _COLEMAK_R1 KC_J, KC_L, KC_U, KC_Y, KC_SCLN +#define _COLEMAK_R2 KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT +#define _COLEMAK_R3 KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH + +#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, KC_QUOT +#define _QWERTY_R3 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH + +/* + * NUM Layer + * + * ,---------------------------------------. ,---------------------------------------. + * | | | | | | | | | | | | + * | | - | + | = | | | | 7 | 8 | 9 | | + * | | | | | | | | | | | | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | | | | | | | | | | | | + * | | | | | | | | 1 | 2 | 3 | | + * | | | | | | | | | | | | + * |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| + * | | | | | | | | | | | | + * | | | / | * | | | | 4 | 5 | 6 | | + * | | | | | | | | | | | | + * `-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------. + * |:::::::| | | | | + * |:::::::| | | 0 | BACK | + * |:::::::| | | | | + * `---------------' `---------------' + * + */ +#define ____NUM_L1 _______, KC_MINS, KC_PLUS, KC_EQL, _______ +#define ____NUM_L2 _BLANK_ROW +#define ____NUM_L3 _______, _______, KC_SLSH, KC_ASTR, _______ +#define ____NUM_LT _BLANK_THUMB + +#define ____NUM_R1 _______, KC_7, KC_8, KC_9, _______ +#define ____NUM_R2 _______, KC_1, KC_2, KC_3, _______ +#define ____NUM_R3 _______, KC_4, KC_5, KC_6, _______ +#define ____NUM_RT KC_0, KC_BSPC + +/* +* NAVIGATION Layer +* +* ,---------------------------------------. ,---------------------------------------. +* | | | | | | | | | | | | +* | | PREV | PLAY | NEXT | | | WHDN | HOME | UP | PGUP | | +* | | | | | | | | | | | | +* |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| +* | | | | | | | | | | | | +* | | | | | | | WHUP | LF | DN | RG | | +* | | | | | | | | | | | | +* |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| +* | | | | | | | | | | | | +* | | | | | | | | END | | PGDN | | +* | | | | | | | | | | | | +* `-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------. +* | |:::::::| | | | +* | |:::::::| | | DEL | +* | |:::::::| | | | +* `---------------' `---------------' +*/ +#define ____NAV_L1 _______, KC_MPRV, KC_MPLY, KC_MNXT, _______ +#define ____NAV_L2 _BLANK_ROW +#define ____NAV_L3 _BLANK_ROW +#define ____NAV_LT _BLANK_THUMB + +#define ____NAV_R1 KC_WH_D, KC_HOME, KC_UP, KC_PGUP, _______ +#define ____NAV_R2 KC_WH_U, KC_LEFT, KC_DOWN, KC_RGHT, _______ +#define ____NAV_R3 _______, KC_END, _______, KC_PGDN, _______ +#define ____NAV_RT _______, KC_DEL + +/* +* SYMBOLS Layer +* +* ,---------------------------------------. ,---------------------------------------. +* | | | | | | | | | | | | +* | % | & | ? | | | ! | | | | | | | +* | | | | | | | | | | | | +* |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| +* | | | | | | | | | | | | +* | # | @ | : | ; | $ | | | | | | | +* | | | | | | | | | | | | +* |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| +* | | | | | | | | | | | | +* | ( | ~ | / | \ | ^ | | | | | | | +* | | | | | | | | | | | | +* `-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------. +* | | | |:::::::| | +* | | TAB | |:::::::| | +* | | | |:::::::| | +* `---------------' `---------------' +*/ +#define ____SYM_L1 KC_PERC, KC_AMPR, KC_QUES, KC_PIPE, KC_EXLM +#define ____SYM_L2 KC_HASH, KC_AT, KC_COLN, KC_SCLN, KC_DLR +#define ____SYM_L3 ZK_PRN, KC_TILD, KC_SLSH, KC_BSLS, KC_CIRC +#define ____SYM_LT _______, KC_TAB + +#define ____SYM_R1 _BLANK_ROW +#define ____SYM_R2 _BLANK_ROW +#define ____SYM_R3 _BLANK_ROW +#define ____SYM_RT _BLANK_THUMB + +/* +* FUNCTION KEYS Layer +* +* ,---------------------------------------. ,---------------------------------------. +* | | | | | | | | | | | | +* | | | | | | | | F7 | F8 | F9 | F10 | +* | | | | | | | | | | | | +* |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| +* | | | | | | | | | | | | +* | | | | | | | | F1 | F2 | F3 | F11 | +* | | | | | | | | | | | | +* |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| +* | | | | | | | | | | | | +* | | | | | | | | F4 | F5 | F6 | F12 | +* | | | | | | | | | | | | +* `-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------. +* | | | | |:::::::| +* | | TAB | | |:::::::| +* | | | | |:::::::| +* `---------------' `---------------' +*/ +#define ____FN_L1 _BLANK_ROW +#define ____FN_L2 _BLANK_ROW +#define ____FN_L3 _BLANK_ROW +#define ____FN_LT _______, KC_TAB + +#define ____FN_R1 _______, KC_F7, KC_F8, KC_F9, KC_F10 +#define ____FN_R2 _______, KC_F1, KC_F2, KC_F3, KC_F11 +#define ____FN_R3 _______, KC_F4, KC_F5, KC_F6, KC_F12 +#define ____FN_RT _BLANK_THUMB +// clang-format on diff --git a/users/zigotica/rules.mk b/users/zigotica/rules.mk new file mode 100644 index 0000000000..019e6f6dda --- /dev/null +++ b/users/zigotica/rules.mk @@ -0,0 +1,18 @@ +SRC += zigotica.c + +ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) + SRC += tapdances.c +endif + +ifeq ($(strip $(COMBO_ENABLE)), yes) + SRC += combos.c +endif + +ifeq ($(strip $(OLED_ENABLE)), yes) + SRC += oled.c +endif + +ifeq ($(strip $(ENCODER_ENABLE)), yes) + SRC += encoder.c +endif + diff --git a/users/zigotica/tapdances.c b/users/zigotica/tapdances.c new file mode 100644 index 0000000000..74bb1b605e --- /dev/null +++ b/users/zigotica/tapdances.c @@ -0,0 +1,34 @@ +/* Copyright 2020 Sergi Meseguer +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 "tapdances.h" + +void ios_media(qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + tap_code(KC_MPLY); + } else if (state->count == 2) { + tap_code(KC_MNXT); + } else if (state->count == 3) { + tap_code(KC_MPRV); + } else { + reset_tap_dance(state); + } +} + +qk_tap_dance_action_t tap_dance_actions[] = { + [0] = ACTION_TAP_DANCE_FN(ios_media), + [1] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_SCOLON), + [2] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_COLON), + [3] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), + [4] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_RPRN), +}; diff --git a/users/zigotica/tapdances.h b/users/zigotica/tapdances.h new file mode 100644 index 0000000000..051c8a90bc --- /dev/null +++ b/users/zigotica/tapdances.h @@ -0,0 +1,24 @@ +/* Copyright 2020 Sergi Meseguer +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 "zigotica.h" + +#ifdef TAP_DANCE_ENABLE + #define ZK_MEDIA TD(0) + #define ZK_SEMI TD(1) + #define ZK_COLON TD(2) + #define ZK_BRC TD(3) + #define ZK_PRN TD(4) +#endif diff --git a/users/zigotica/zigotica.c b/users/zigotica/zigotica.c new file mode 100644 index 0000000000..9de57406c4 --- /dev/null +++ b/users/zigotica/zigotica.c @@ -0,0 +1,14 @@ +/* Copyright 2020 Sergi Meseguer +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 "zigotica.h" diff --git a/users/zigotica/zigotica.h b/users/zigotica/zigotica.h new file mode 100644 index 0000000000..e9ff5ff16c --- /dev/null +++ b/users/zigotica/zigotica.h @@ -0,0 +1,51 @@ +/* Copyright 2020 Sergi Meseguer +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 QMK_KEYBOARD_H + +#include "rows.h" + +#ifdef SPLIT_KEYBOARD +enum userspace_layers { + BASE = 0, + _NUM, + _NAV, + _SYM, + _FN, +}; +#else +enum userspace_layers { + _TERMINAL = 0, + _FIGMA, + _BROWSER, + _VIM, +}; +#endif + + +#ifdef TAP_DANCE_ENABLE +# include "tapdances.h" +#endif + +#ifdef COMBO_ENABLE +# include "combos.h" +#endif + +#ifdef OLED_ENABLE + #include "oled.h" +#endif + +#ifdef ENCODER_ENABLE + #include "encoder.h" +#endif From 4db5d85273c455f9520de28417b8105d902da402 Mon Sep 17 00:00:00 2001 From: BenSchaeff <56860818+BenSchaeff@users.noreply.github.com> Date: Fri, 15 Oct 2021 21:02:19 -0500 Subject: [PATCH 33/48] [Keymap] Added GMMK Pro keymap with RGB (#14648) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../gmmk/pro/ansi/keymaps/benschaeff/keymap.c | 127 ++++++++++++++++++ .../pro/ansi/keymaps/benschaeff/readme.md | 19 +++ 2 files changed, 146 insertions(+) create mode 100644 keyboards/gmmk/pro/ansi/keymaps/benschaeff/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/benschaeff/readme.md diff --git a/keyboards/gmmk/pro/ansi/keymaps/benschaeff/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/benschaeff/keymap.c new file mode 100644 index 0000000000..834727827c --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/benschaeff/keymap.c @@ -0,0 +1,127 @@ +/* Copyright 2021 Glorious, LLC +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 userspace_layers { + QWERTY, + FNLAYER, + POPTAB, +}; + +//custom keycodes +#define MODS_ALT_MASK (MOD_BIT(KC_LALT)) // Make ALT layer for encoder use +#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)) // Make CTRL layer for encoder use +#define SWAP_L SGUI(KC_LEFT) // Swap application to left display +#define SWAP_R SGUI(KC_RGHT) // Swap application to right display +#define MINI LGUI(KC_DOWN) // Shrink window +#define MAXI LGUI(KC_UP) // Maximize window +#define CLOSEAPPLICATION LALT(KC_F4) // Kill application +#define CLOSETAB LCTL(KC_W) // Kill current tab +#define POPOUT LCTL(LSFT(KC_K)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + + [QWERTY] = 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, KC_PSCR, 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_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_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(FNLAYER), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [FNLAYER] = LAYOUT( + CLOSEAPPLICATION, CLOSETAB,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PLAY_PAUSE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, SWAP_L , MAXI , SWAP_R , _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET , _______, + _______, _______, MINI , _______, POPOUT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_TRNS, _______, _______, _______ + ), + + +}; + + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (get_mods() & MODS_ALT_MASK) { + if (clockwise) { + tap_code(KC_TAB); + } else { + tap_code16(S(KC_TAB)); + } + } else if (get_mods() & MODS_CTRL_MASK) { + if (clockwise) { + tap_code(KC_TAB); + } else { + tap_code16(S(KC_TAB)); + } + } else if(IS_LAYER_ON(FNLAYER)) { + if (clockwise) { + tap_code(KC_MEDIA_NEXT_TRACK); + } else { + tap_code(KC_MEDIA_PREV_TRACK); + } + } else { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return false; +} + +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + switch(get_highest_layer(layer_state)) { + // special handling per layer + case 0: //layer one + if (host_keyboard_led_state().caps_lock) + rgb_matrix_set_color_all(255,0,0); + else + rgb_matrix_set_color_all(0,255,56); + break; + case 1: + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_INDICATOR_SET_COLOR(i,0,0,0); + } + RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 255) //esc + RGB_MATRIX_INDICATOR_SET_COLOR(6, 0, 0, 255) //f1 + RGB_MATRIX_INDICATOR_SET_COLOR(8, 0, 0, 255) //q + RGB_MATRIX_INDICATOR_SET_COLOR(14, 0, 0, 255) //w + RGB_MATRIX_INDICATOR_SET_COLOR(20, 0, 0, 255) //e + RGB_MATRIX_INDICATOR_SET_COLOR(15, 0, 0, 255) //s + RGB_MATRIX_INDICATOR_SET_COLOR(26, 0, 0, 255) //f + RGB_MATRIX_INDICATOR_SET_COLOR(49, 0, 0, 255) //R_Alt + break; + default: + break; + } +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/benschaeff/readme.md b/keyboards/gmmk/pro/ansi/keymaps/benschaeff/readme.md new file mode 100644 index 0000000000..8162002892 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/benschaeff/readme.md @@ -0,0 +1,19 @@ +# Description +Pretty simple keymap with a few handy tools on a 2nd layer and rotary encoder. + +# Encoder +Holding tab and scrolling encoder will allow scrolling through applications, as if using alt + tab +Holding ctrl and scrolling encoder will allow scrolling through chrome tabs +FN + Encoder scroll is media next/prev +FN + Encoder press is media pause +default encoder behavior is volume up/down + +# Function Layer +FN + \ is used to put keyboard into bootloader mode +FN + ESC is the same as alt F4, for closing applications +FN + F1 is to close current browser tab +FN + Q moves current application one monitor to the left +FN + W maximizes current application +FN + E moves current application one monitor to the right +FN + S minimizes current application +FN + F is used in junction with the "Popout tab" extension to chrome (https://chrome.google.com/webstore/detail/popout-tab/pcfcieidiaaobigemjnkclebhnmgfbco) to pop out current tab to its own window From a8422cca0324ce61247dd0d8320a3d11a433cecf Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 15 Oct 2021 22:09:40 -0700 Subject: [PATCH 34/48] [Keyboard] Tractyl Manuform Updates (#14841) --- .../tractyl_manuform/5x6_right/5x6_right.h | 4 ++ .../tractyl_manuform/5x6_right/config.h | 2 + .../5x6_right/elite_c/config.h | 52 +++++++++++++++++++ .../5x6_right/elite_c/elite_c.h | 19 +++++++ .../5x6_right/elite_c/rules.mk | 11 ++++ .../tractyl_manuform/5x6_right/f411/config.h | 3 +- .../tractyl_manuform/5x6_right/f411/readme.md | 3 +- .../5x6_right/keymaps/drashna/config.h | 5 -- .../5x6_right/keymaps/drashna/keymap.c | 9 +++- .../5x6_right/teensy2pp/config.h | 1 + 10 files changed, 101 insertions(+), 8 deletions(-) create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/elite_c/elite_c.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/elite_c/rules.mk diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h index e481e7841d..f171d41181 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h @@ -17,13 +17,17 @@ #pragma once #include "tractyl_manuform.h" + #if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_f411) # include "f411.h" #elif defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_f303) # include "f303.h" #elif defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_teensy2pp) # include "teensy2pp.h" +#elif defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_elite_c) +# include "elite_c.h" #endif + #include "quantum.h" #define ___ KC_NO diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h index d1860c3378..cd42364b4f 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h @@ -50,3 +50,5 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION + +#define OLED_DISPLAY_128X64 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h new file mode 100644 index 0000000000..9daec0cd8f --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h @@ -0,0 +1,52 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 PRODUCT Tractyl Manuform(5x6) Elite C + +// wiring of each half +#define MATRIX_COL_PINS \ + { D4, D7, E6, B4, B5, B7 } +#define MATRIX_ROW_PINS \ + { F7, F6, F5, F4, F1, F0 } + +#define DIODE_DIRECTION COL2ROW + +// WS2812 RGB LED strip input and number of LEDs +#define RGB_DI_PIN D3 +#define RGBLED_NUM 20 +#define RGBLIGHT_SPLIT +#define RGBLED_SPLIT \ + { 10, 10 } +#define RGBLIGHT_LIMIT_VAL 80 +#define OLED_BRIGHTNESS 50 + +#define AUDIO_PIN C6 + +/* serial.c configuration for split keyboard */ +#define SOFT_SERIAL_PIN D2 +#define EE_HANDS + +#define ENCODERS_PAD_A \ + { D5 } +#define ENCODERS_PAD_B \ + { C7 } + +/* PMW3360 Settings */ +#define PMW3360_CS_PIN B6 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/elite_c.h b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/elite_c.h new file mode 100644 index 0000000000..525b0378b4 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/elite_c.h @@ -0,0 +1,19 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "5x6_right.h" diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/rules.mk new file mode 100644 index 0000000000..e594097f8b --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/rules.mk @@ -0,0 +1,11 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +LTO_ENABLE := yes +RGBLIGHT_ENABLE = no +OLED_ENABLE = no +AUDIO_ENABLE = no +ENCODER_ENABLE = no diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index b2a240f9ff..172ccf7bc2 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h @@ -39,6 +39,7 @@ along with this program. If not, see . #define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 #define WS2812_PWM_CHANNEL 2 // default: 2 #define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 +#define WS2812_EXTERNAL_PULLUP //#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy). #define WS2812_DMA_STREAM STM32_DMA1_STREAM7 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. @@ -47,7 +48,7 @@ along with this program. If not, see . #define RGBLIGHT_SPLIT #define RGBLED_SPLIT \ { 10, 10 } -#define RGBLIGHT_LIMIT_VAL 80 +#define RGBLIGHT_LMIT_VAL 80 #define DEBUG_LED_PIN C13 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md index 6377613814..5fb2c0fc72 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md @@ -9,7 +9,8 @@ * 8KB SPI EEPROM chip sharing PA5-PA7 on SPI1 with PA4 as CS pin * Encoder using PA13 and PA14 * SSD1306 OLED display (128x64) using PB8-PB9 on I2C1 -* Pull-up resistor (22k) on A10 to fix reset issue. +* Pull-up resistor (22k) on PA10 to fix reset issue. +* Pull-up resistor (5.1k) on PA1 for WS2812 LED support, and wire it's VCC to the 5V pin. * Keyboard Maintainer: [Drashna Jael're](https://github.com/drashna) * Hardware Supported: [Design files](https://gitlab.com/keyboards1/dm_r_track/-/tree/master/boolean), [WeAct BlackPill (F411)](https://github.com/WeActTC/MiniSTM32F4x1), [PMW3360 Optical Sensor](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/) diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h index 21bc8e616a..df3e877f98 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h @@ -24,13 +24,8 @@ #define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 } -#define RGBLIGHT_MAX_BRIGHTNESS 60 - #undef DEBOUNCE #define DEBOUNCE 10 #define SOLENOID_PIN F1 #define SOLENOID_DEFAULT_DWELL 8 - -#define OLED_DISPLAY_128X64 -#define OLED_BRIGHTNESS 50 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c index f209206337..be2938ebf6 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c @@ -348,9 +348,16 @@ void render_kitty(void) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 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}}; // assumes 1 frame prep stage +#ifdef SWAP_HANDS_ENABLE extern bool swap_hands; +#endif void animation_phase(void) { - if (tap_toggling) { +# ifdef SWAP_HANDS_ENABLE + if (swap_hands) +#else + if (tap_toggling) +#endif + { anim_frame_duration = 300; current_rtogi_frame = (current_rtogi_frame + 1) % RTOGI_FRAMES; oled_write_raw_P(rtogi[abs((RTOGI_FRAMES - 1) - current_rtogi_frame)], ANIM_SIZE); diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h index 2391020598..442d474920 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h @@ -35,6 +35,7 @@ along with this program. If not, see . #define RGBLED_SPLIT \ { 10, 10 } #define RGBLIGHT_LIMIT_VAL 80 +#define OLED_BRIGHTNESS 50 #define DEBUG_LED_PIN D6 From 9a0addc77e3e48b908b846fc78326d4a20c30bc9 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 15 Oct 2021 22:30:23 -0700 Subject: [PATCH 35/48] [Keymap] Drashna Keymap Updates (#14842) * Fix issues with user split transport code * Improve OLED (More font stuff, improved keylogger, etc) * Add `KEYLOCK` macro to disable USB, borrowed from command feature. * Convert Kyria fully to proton C (no more AVR kyria) * Add Work Louder Work Board keymap --- .../5x6_right/keymaps/drashna/keymap.c | 2 +- keyboards/moonlander/keymaps/drashna/keymap.c | 2 +- .../splitkb/kyria/keymaps/drashna/keymap.c | 4 +- .../splitkb/kyria/keymaps/drashna/rules.mk | 40 +- .../splitkb/zima/keymaps/drashna/config.h | 3 + .../work_board/keymaps/drashna/config.h | 17 + .../work_board/keymaps/drashna/keymap.c | 217 +++ .../work_board/keymaps/drashna/rules.mk | 6 + layouts/community/ergodox/drashna/keymap.c | 2 +- layouts/community/ortho_4x12/drashna/keymap.c | 2 +- layouts/community/ortho_5x12/drashna/keymap.c | 2 +- .../community/split_3x6_3/drashna/keymap.c | 2 +- users/drashna/drashna.c | 5 +- users/drashna/drashna_font.h | 1692 +++++++---------- users/drashna/oled_stuff.c | 36 +- users/drashna/process_records.c | 19 +- users/drashna/process_records.h | 1 + users/drashna/transport_sync.c | 20 +- users/drashna/transport_sync.h | 16 +- 19 files changed, 1035 insertions(+), 1053 deletions(-) create mode 100644 keyboards/work_louder/work_board/keymaps/drashna/config.h create mode 100644 keyboards/work_louder/work_board/keymaps/drashna/keymap.c create mode 100644 keyboards/work_louder/work_board/keymaps/drashna/rules.mk diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c index be2938ebf6..abfec41a62 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c @@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_5x6_right_wrapper( KC_MAKE, ___________________BLANK___________________, _________________ADJUST_R1_________________, KC_RST, VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST, - _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS, + KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS, UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, HPT_DWLI, HPT_DWLD, TG_GAME, TG_DBLO, HPT_TOG, HPT_BUZ, KC_NUKE, diff --git a/keyboards/moonlander/keymaps/drashna/keymap.c b/keyboards/moonlander/keymaps/drashna/keymap.c index f6af7e53af..257959c07f 100644 --- a/keyboards/moonlander/keymaps/drashna/keymap.c +++ b/keyboards/moonlander/keymaps/drashna/keymap.c @@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MAKE, _________________FUNC_LEFT_________________, UC_MOD, KC_NUKE, _________________ADJUST_R1_________________, KC_RST, VRSN, _________________ADJUST_L1_________________, _______, _______, _________________ADJUST_R1_________________, EEP_RST, _______, _________________ADJUST_L2_________________, _______, _______, _________________ADJUST_R2_________________, RGB_IDL, - _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS, + KEYLOCK, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c index 2dc9346442..6c7ac34d51 100644 --- a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c @@ -92,8 +92,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_wrapper( KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET, VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, - _______, _________________ADJUST_L3_________________, HPT_TOG, HPT_FBK, MG_NKRO, UC_MOD, _________________ADJUST_R3_________________, TG_MODS, - _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, _______ + UC_MOD, _________________ADJUST_L3_________________, HPT_TOG, HPT_FBK, MG_NKRO, UC_MOD, _________________ADJUST_R3_________________, TG_MODS, + _______, _______, KEYLOCK, KC_NUKE, _______, _______, _______, _______, _______, _______ ), // [_LAYERINDEX] = LAYOUT_wrapper( // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk index b51cc1b626..6accf8cc03 100644 --- a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk @@ -1,23 +1,19 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays -ENCODER_ENABLE = yes # ENables the use of one or more encoders -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -RGBLIGHT_STARTUP_ANIMATION = no +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # USB Nkey Rollover +UNICODE_ENABLE = yes # Unicode +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays +ENCODER_ENABLE = yes # Enables the use of one or more encoders -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # USB Nkey Rollover -UNICODE_ENABLE = no # Unicode -KEY_LOCK_ENABLE = no - - -BOOTLOADER = hid -BOOTLOADER_SIZE = 512 -PROGRAM_CMD = $(HID_BOOTLOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex -# TAP_DANCE_ENABLE = yes - -WPM_ENABLE = yes -SWAP_HANDS_ENABLE = yes +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGBLIGHT_STARTUP_ANIMATION = yes +RGB_MATRIX_ENABLE = yes +TAP_DANCE_ENABLE = yes +KEY_LOCK_ENABLE = no +WPM_ENABLE = yes +SWAP_HANDS_ENABLE = yes +LTO_ENABLE = no diff --git a/keyboards/splitkb/zima/keymaps/drashna/config.h b/keyboards/splitkb/zima/keymaps/drashna/config.h index 133ab6a914..8d0908182e 100644 --- a/keyboards/splitkb/zima/keymaps/drashna/config.h +++ b/keyboards/splitkb/zima/keymaps/drashna/config.h @@ -32,3 +32,6 @@ #define OLED_LOGO_SCIFI #define ENCODER_RESOLUTION 2 + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_TWINKLE+4 +#define RGBLIGHT_DEFAULT_HUE 213 diff --git a/keyboards/work_louder/work_board/keymaps/drashna/config.h b/keyboards/work_louder/work_board/keymaps/drashna/config.h new file mode 100644 index 0000000000..5ea4dc7e48 --- /dev/null +++ b/keyboards/work_louder/work_board/keymaps/drashna/config.h @@ -0,0 +1,17 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 diff --git a/keyboards/work_louder/work_board/keymaps/drashna/keymap.c b/keyboards/work_louder/work_board/keymaps/drashna/keymap.c new file mode 100644 index 0000000000..fb86275da9 --- /dev/null +++ b/keyboards/work_louder/work_board/keymaps/drashna/keymap.c @@ -0,0 +1,217 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "drashna.h" + +#define PLNK_1 SP_LWER +#define PLNK_2 BK_LWER +#define PLNK_3 DL_RAIS +#define PLNK_4 ET_RAIS + +/* + * The `LAYOUT_ortho_4x12_base` macro is a template to allow the use of identical + * modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so + * that there is no need to set them up for each layout, and modify all of + * them if I want to change them. This helps to keep consistency and ease + * of use. K## is a placeholder to pass through the individual keycodes + */ +// clang-format off +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) +#define LAYOUT_base( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ + ) \ + LAYOUT_wrapper( \ + KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_DEL, KC_MUTE, \ + LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ + KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \ + OS_LSFT, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1, PLNK_2, PLNK_3, PLNK_4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ + ) +#define LAYOUT_base_wrapper(...) LAYOUT_base(__VA_ARGS__) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper( + _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, + _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, + _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ + ), + + [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper( + ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, + ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, + ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ + ), + [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper( + _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, + _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, + _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ + ), + + [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper( + _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, + _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, + _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ + ), + + [_LOWER] = LAYOUT_wrapper( + KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC, _______, + KC_DEL, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, + _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT_wrapper( + KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_BSPC, _______, + KC_DEL, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, + _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, + _______, _______, _______, _______, _______, _______, _______, _________________RAISE_R3__________________ + ), + + [_ADJUST] = LAYOUT_wrapper( + KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST, _______, + VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, + _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL, + KEYLOCK, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS + ) + +}; + +#ifdef ENCODER_ENABLE +# ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_DEFAULT_LAYER_1] = { { KC_DOWN, KC_UP } }, + [_DEFAULT_LAYER_2] = { { _______, _______ } }, + [_DEFAULT_LAYER_3] = { { _______, _______ } }, + [_DEFAULT_LAYER_4] = { { _______, _______ } }, + [_GAMEPAD] = { { _______, _______ } }, + [_DIABLO] = { { _______, _______ } }, + [_MOUSE] = { { KC_WH_D, KC_WH_U } }, + [_MEDIA] = { { _______, _______ } }, + [_RAISE] = { { KC_VOLD, KC_VOLU } }, + [_LOWER] = { { RGB_MOD, RGB_RMOD} }, + [_ADJUST] = { { CK_DOWN, CK_UP } }, +}; +// clang-format on +# else +bool encoder_update_user(uint8_t index, bool clockwise) { + switch (get_highest_layer(layer_state)) { + case _RAISE: + clockwise ? rgblight_step() : rgblight_step_reverse(); + break; + case _LOWER: + clockwise ? rgb_matrix_step() : rgb_matrix_step_reverse(); + break; + default: + clockwise ? tap_code(KC_VOLD) : tap_code(KC_VOLU); + break; + } + return false; +} +# endif // ENCODER_ENABLE + +#endif + +void rgb_matrix_indicators_user(void) {} + +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + uint8_t this_mod = get_mods(); + uint8_t this_led = host_keyboard_leds(); + uint8_t this_osm = get_oneshot_mods(); +#define THUMB_LED 6 +#define RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(...) RGB_MATRIX_INDICATOR_SET_COLOR(__VA_ARGS__) + if (!userspace_config.rgb_layer_change) { + switch (get_highest_layer(layer_state | default_layer_state)) { + case _GAMEPAD: + rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); + break; + case _DIABLO: + rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed * 8, LED_FLAG_MODIFIER, led_min, led_max); + break; + case _RAISE: + rgb_matrix_layer_helper(HSV_YELLOW, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); + break; + case _LOWER: + rgb_matrix_layer_helper(HSV_GREEN, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); + break; + case _ADJUST: + rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); + break; + case _DEFAULT_LAYER_1: + rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); + break; + case _DEFAULT_LAYER_2: + rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); + break; + case _DEFAULT_LAYER_3: + rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); + break; + case _DEFAULT_LAYER_4: + rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); + break; + } + } + + extern bool host_driver_disabled; + if (host_driver_disabled) { + RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, RGB_OFF); + } else { + switch (get_highest_layer(default_layer_state)) { + case _DEFAULT_LAYER_1: + RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_1_RGB); + break; + case _DEFAULT_LAYER_2: + RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_2_RGB); + break; + case _DEFAULT_LAYER_3: + RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_3_RGB); + break; + case _DEFAULT_LAYER_4: + RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_4_RGB); + break; + } + } + + if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1 << USB_LED_CAPS_LOCK)) { + if (!layer_state_is(_ADJUST)) { + RGB_MATRIX_INDICATOR_SET_COLOR(12, 0x00, 0xFF, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(13, 0x00, 0xFF, 0x00); + } + RGB_MATRIX_INDICATOR_SET_COLOR(24, 0x00, 0xFF, 0x00); + } + if ((this_mod | this_osm) & MOD_MASK_CTRL) { + RGB_MATRIX_INDICATOR_SET_COLOR(11, 0xFF, 0x00, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(23, 0xFF, 0x00, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(14, 0xFF, 0x00, 0x00); + } + if ((this_mod | this_osm) & MOD_MASK_GUI) { + RGB_MATRIX_INDICATOR_SET_COLOR(9, 0xFF, 0xD9, 0x00); + } + if ((this_mod | this_osm) & MOD_MASK_ALT) { + RGB_MATRIX_INDICATOR_SET_COLOR(10, 0x00, 0x00, 0xFF); + RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x00, 0x00, 0xFF); + RGB_MATRIX_INDICATOR_SET_COLOR(36, 0x00, 0x00, 0xFF); + } + if (layer_state_is(_LOWER)) { + RGB_MATRIX_INDICATOR_SET_COLOR(7, 0x00, 0xFF, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(8, 0x00, 0xFF, 0x00); + } + if (layer_state_is(_RAISE)) { + RGB_MATRIX_INDICATOR_SET_COLOR(4, 0xFF, 0xFF, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(5, 0xFF, 0xFF, 0x00); + } +} diff --git a/keyboards/work_louder/work_board/keymaps/drashna/rules.mk b/keyboards/work_louder/work_board/keymaps/drashna/rules.mk new file mode 100644 index 0000000000..6a4558aa0e --- /dev/null +++ b/keyboards/work_louder/work_board/keymaps/drashna/rules.mk @@ -0,0 +1,6 @@ +BOOTMAGIC_ENABLE = lite +EXTRAKEY_ENABLE = yes +TAP_DANCE_ENABLE = no +NKRO_ENABLE = yes +RGBLIGHT_STARTUP_ANIMATION = yes +ENCODER_MAP_ENABLE = yes diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index 430328fed7..dd47899d7a 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c @@ -174,7 +174,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MAKE, _______, _______, _______, _______, _______, UC_MOD, KC_NUKE, _________________ADJUST_R1_________________, KC_RST, VRSN, _________________ADJUST_L1_________________, _______, _______, _________________ADJUST_R1_________________, EEP_RST, _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, RGB_IDL, - _______, _________________ADJUST_L3_________________, _______, _______, _________________ADJUST_R3_________________, TG_MODS, + KEYLOCK, _________________ADJUST_L3_________________, _______, _______, _________________ADJUST_R3_________________, TG_MODS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c index cb3166c940..3ba9cf64f9 100644 --- a/layouts/community/ortho_4x12/drashna/keymap.c +++ b/layouts/community/ortho_4x12/drashna/keymap.c @@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST, VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, TH_LVL, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL, - HPT_TOG, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS + KEYLOCK, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS ) }; diff --git a/layouts/community/ortho_5x12/drashna/keymap.c b/layouts/community/ortho_5x12/drashna/keymap.c index 01b06d627d..ab70be2822 100644 --- a/layouts/community/ortho_5x12/drashna/keymap.c +++ b/layouts/community/ortho_5x12/drashna/keymap.c @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RST, VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST, _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, RGB_IDL, - _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS, + KEYLOCK, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/layouts/community/split_3x6_3/drashna/keymap.c b/layouts/community/split_3x6_3/drashna/keymap.c index a3145a4044..7c31972e3f 100644 --- a/layouts/community/split_3x6_3/drashna/keymap.c +++ b/layouts/community/split_3x6_3/drashna/keymap.c @@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_split_3x6_3_wrapper( \ KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET, VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, - MG_NKRO, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL, + KEYLOCK, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL, HPT_TOG, KC_NUKE, _______, _______, TG_MODS, HPT_FBK ) }; diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index 871136c137..71539e8b80 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c @@ -103,8 +103,11 @@ void shutdown_user(void) { #ifdef RGB_MATRIX_ENABLE rgb_matrix_set_color_all(0xFF, 0x00, 0x00); rgb_matrix_update_pwm_buffers(); - #endif // RGB_MATRIX_ENABLE +#ifdef OLED_ENABLE + oled_off(); +#endif + shutdown_keymap(); } diff --git a/users/drashna/drashna_font.h b/users/drashna/drashna_font.h index e9353e62a9..27dc8b1b5d 100644 --- a/users/drashna/drashna_font.h +++ b/users/drashna/drashna_font.h @@ -6,660 +6,559 @@ #if __has_include("../../../../Documents/qmk/oled_font.h") # include "../../../../Documents/qmk/oled_font.h" #else + +// additional fonts from +// https://github.com/datacute/TinyOLED-Fonts + # include "progmem.h" // clang-format off static const unsigned char font[] PROGMEM = { - 0x07, 0x08, 0x7F, 0x08, 0x07, 0x00, // 0x00 0 - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, // 0x01 1 - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, // 0x02 2 - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, // 0x03 3 ♥ - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, // 0x04 4 ♦ - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, // 0x05 5 ♧ - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, // 0x06 6 ♤ - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, // 0x07 7 - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, // 0x08 8 - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, // 0x09 9 - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, // 0x0A 10 - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, // 0x0B 11 ♂ - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, // 0x0C 12 ♀ - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, // 0x0D 13 ♪ - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, // 0x0E 14 ♫ - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, // 0x0F 15 - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, // 0x10 16 - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, // 0x11 17 - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, // 0x12 18 ↕ - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, // 0x13 19 ‼ - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, // 0x14 20 ¶ - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, // 0x15 21 § - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, // 0x16 22 _ - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, // 0x17 23 ↨ - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, // 0x18 24 ↑ - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, // 0x19 25 ↓ - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, // 0x1A 26 → - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, // 0x1B 27 ← - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, // 0x1C 28 ⌙h - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, // 0x1D 29 ↭ - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, // 0x1E 30 - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, // 0x1F 31 + 0x07, 0x08, 0x7F, 0x08, 0x07, 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, + # if defined(OLED_FONT_5X5) - 0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32 - 0x5c,0x00,0x00,0x00,0x00,0x00, // 0x21 33 ! - 0x06,0x00,0x06,0x00,0x00,0x00, // 0x22 34 " - 0x28,0x7c,0x28,0x7c,0x28,0x00, // 0x23 35 # - 0x5c,0x54,0xfe,0x54,0x74,0x00, // 0x24 36 $ - 0x44,0x20,0x10,0x08,0x44,0x00, // 0x25 37 % - 0x28,0x54,0x54,0x20,0x50,0x00, // 0x26 38 & - 0x06,0x00,0x00,0x00,0x00,0x00, // 0x27 39 ' - 0x38,0x44,0x00,0x00,0x00,0x00, // 0x28 40 ( - 0x44,0x38,0x00,0x00,0x00,0x00, // 0x29 41 ) - 0x02,0x07,0x02,0x00,0x00,0x00, // 0x2A 42 * - 0x10,0x10,0x7c,0x10,0x10,0x00, // 0x2B 43 + - 0xc0,0x00,0x00,0x00,0x00,0x00, // 0x2C 44 , - 0x10,0x10,0x10,0x10,0x10,0x00, // 0x2D 45 - - 0x40,0x00,0x00,0x00,0x00,0x00, // 0x2E 46 . - 0x60,0x10,0x0c,0x00,0x00,0x00, // 0x2F 47 / - 0x7c,0x64,0x54,0x4c,0x7c,0x00, // 0x30 48 0 - 0x48,0x7c,0x40,0x00,0x00,0x00, // 0x31 49 1 - 0x64,0x54,0x54,0x54,0x48,0x00, // 0x32 50 2 - 0x44,0x54,0x54,0x54,0x6c,0x00, // 0x33 51 3 - 0x3c,0x20,0x70,0x20,0x20,0x00, // 0x34 52 4 - 0x5c,0x54,0x54,0x54,0x24,0x00, // 0x35 53 5 - 0x7c,0x54,0x54,0x54,0x74,0x00, // 0x36 54 6 - 0x04,0x04,0x64,0x14,0x0c,0x00, // 0x37 55 7 - 0x7c,0x54,0x54,0x54,0x7c,0x00, // 0x38 56 8 - 0x5c,0x54,0x54,0x54,0x7c,0x00, // 0x39 57 9 - 0x44,0x00,0x00,0x00,0x00,0x00, // 0x3A 58 : - 0xc4,0x00,0x00,0x00,0x00,0x00, // 0x3B 59 ; - 0x10,0x28,0x44,0x00,0x00,0x00, // 0x3C 60 < - 0x28,0x28,0x28,0x28,0x28,0x00, // 0x3D 61 = - 0x44,0x28,0x10,0x00,0x00,0x00, // 0x3E 62 > - 0x08,0x04,0x54,0x08,0x00,0x00, // 0x3F 63 ? - 0x7c,0x44,0x54,0x54,0x5c,0x00, // 0x40 64 @ - 0x7c,0x24,0x24,0x24,0x7c,0x00, // 0x41 65 A - 0x7c,0x54,0x54,0x54,0x6c,0x00, // 0x42 66 B - 0x7c,0x44,0x44,0x44,0x44,0x00, // 0x43 67 C - 0x7c,0x44,0x44,0x44,0x38,0x00, // 0x44 68 D - 0x7c,0x54,0x54,0x54,0x44,0x00, // 0x45 69 E - 0x7c,0x14,0x14,0x14,0x04,0x00, // 0x46 70 F - 0x7c,0x44,0x44,0x54,0x74,0x00, // 0x47 71 G - 0x7c,0x10,0x10,0x10,0x7c,0x00, // 0x48 72 H - 0x44,0x44,0x7c,0x44,0x44,0x00, // 0x49 73 I - 0x60,0x40,0x40,0x44,0x7c,0x00, // 0x4A 74 J - 0x7c,0x10,0x10,0x28,0x44,0x00, // 0x4B 75 K - 0x7c,0x40,0x40,0x40,0x40,0x00, // 0x4C 76 L - 0x7c,0x08,0x10,0x08,0x7c,0x00, // 0x4D 77 M - 0x7c,0x08,0x10,0x20,0x7c,0x00, // 0x4E 78 N - 0x38,0x44,0x44,0x44,0x38,0x00, // 0x4F 79 O - 0x7c,0x14,0x14,0x14,0x08,0x00, // 0x50 80 P - 0x3c,0x24,0x64,0x24,0x3c,0x00, // 0x51 81 Q - 0x7c,0x14,0x14,0x14,0x68,0x00, // 0x52 82 R - 0x5c,0x54,0x54,0x54,0x74,0x00, // 0x53 83 S - 0x04,0x04,0x7c,0x04,0x04,0x00, // 0x54 84 T - 0x7c,0x40,0x40,0x40,0x7c,0x00, // 0x55 85 U - 0x0c,0x30,0x40,0x30,0x0c,0x00, // 0x56 86 V - 0x3c,0x40,0x30,0x40,0x3c,0x00, // 0x57 87 W - 0x44,0x28,0x10,0x28,0x44,0x00, // 0x58 88 X - 0x0c,0x10,0x60,0x10,0x0c,0x00, // 0x59 89 Y - 0x44,0x64,0x54,0x4c,0x44,0x00, // 0x5A 90 Z - 0x7c,0x44,0x00,0x00,0x00,0x00, // 0x5B 91 [ - 0x0c,0x10,0x60,0x00,0x00,0x00, // 0x5C 92 \ backslash - 0x44,0x7c,0x00,0x00,0x00,0x00, // 0x5D 93 ] - 0x00,0x01,0x00,0x01,0x00,0x00, // 0x5E 94 ^ - 0x40,0x40,0x40,0x40,0x40,0x40, // 0x5F 95 _ - 0x00,0x01,0x00,0x00,0x00,0x00, // 0x60 96 ` - 0x7c,0x24,0x24,0x24,0x7c,0x00, // 0x61 97 a - 0x7c,0x54,0x54,0x54,0x6c,0x00, // 0x62 98 b - 0x7c,0x44,0x44,0x44,0x44,0x00, // 0x63 99 c - 0x7c,0x44,0x44,0x44,0x38,0x00, // 0x64 100 d - 0x7c,0x54,0x54,0x54,0x44,0x00, // 0x65 101 e - 0x7c,0x14,0x14,0x14,0x04,0x00, // 0x66 102 f - 0x7c,0x44,0x44,0x54,0x74,0x00, // 0x67 103 g - 0x7c,0x10,0x10,0x10,0x7c,0x00, // 0x68 104 h - 0x44,0x44,0x7c,0x44,0x44,0x00, // 0x69 105 i - 0x60,0x40,0x40,0x44,0x7c,0x00, // 0x6A 106 j - 0x7c,0x10,0x10,0x28,0x44,0x00, // 0x6B 107 k - 0x7c,0x40,0x40,0x40,0x40,0x00, // 0x6C 108 l - 0x7c,0x08,0x10,0x08,0x7c,0x00, // 0x6D 109 m - 0x7c,0x08,0x10,0x20,0x7c,0x00, // 0x6E 110 n - 0x38,0x44,0x44,0x44,0x38,0x00, // 0x6F 111 o - 0x7c,0x14,0x14,0x14,0x08,0x00, // 0x70 112 p - 0x3c,0x24,0x64,0x24,0x3c,0x00, // 0x71 113 q - 0x7c,0x14,0x14,0x14,0x68,0x00, // 0x72 114 r - 0x5c,0x54,0x54,0x54,0x74,0x00, // 0x73 115 s - 0x04,0x04,0x7c,0x04,0x04,0x00, // 0x74 116 t - 0x7c,0x40,0x40,0x40,0x7c,0x00, // 0x75 117 u - 0x0c,0x30,0x40,0x30,0x0c,0x00, // 0x76 118 v - 0x3c,0x40,0x30,0x40,0x3c,0x00, // 0x77 119 w - 0x44,0x28,0x10,0x28,0x44,0x00, // 0x78 120 x - 0x0c,0x10,0x60,0x10,0x0c,0x00, // 0x79 121 y - 0x44,0x64,0x54,0x4c,0x44,0x00, // 0x7A 122 z - 0x10,0x7c,0x44,0x00,0x00,0x00, // 0x7B 123 { - 0x6c,0x00,0x00,0x00,0x00,0x00, // 0x7C 124 | - 0x44,0x7c,0x10,0x00,0x00,0x00, // 0x7D 125 } - 0x02,0x01,0x02,0x01,0x00,0x00, // 0x7E 126 ~ - 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x28, 0x7c, 0x28, 0x7c, 0x28, 0x00, + 0x5c, 0x54, 0xfe, 0x54, 0x74, 0x00, + 0x44, 0x20, 0x10, 0x08, 0x44, 0x00, + 0x28, 0x54, 0x54, 0x20, 0x50, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x38, 0x44, 0x00, 0x00, 0x00, 0x00, + 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x07, 0x02, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x10, 0x0c, 0x00, 0x00, 0x00, + 0x7c, 0x64, 0x54, 0x4c, 0x7c, 0x00, + 0x48, 0x7c, 0x40, 0x00, 0x00, 0x00, + 0x64, 0x54, 0x54, 0x54, 0x48, 0x00, + 0x44, 0x54, 0x54, 0x54, 0x6c, 0x00, + 0x3c, 0x20, 0x70, 0x20, 0x20, 0x00, + 0x5c, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x7c, 0x54, 0x54, 0x54, 0x74, 0x00, + 0x04, 0x04, 0x64, 0x14, 0x0c, 0x00, + 0x7c, 0x54, 0x54, 0x54, 0x7c, 0x00, + 0x5c, 0x54, 0x54, 0x54, 0x7c, 0x00, + 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x00, + 0x44, 0x28, 0x10, 0x00, 0x00, 0x00, + 0x08, 0x04, 0x54, 0x08, 0x00, 0x00, + 0x7c, 0x44, 0x54, 0x54, 0x5c, 0x00, + 0x7c, 0x24, 0x24, 0x24, 0x7c, 0x00, + 0x7c, 0x54, 0x54, 0x54, 0x6c, 0x00, + 0x7c, 0x44, 0x44, 0x44, 0x44, 0x00, + 0x7c, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7c, 0x54, 0x54, 0x54, 0x44, 0x00, + 0x7c, 0x14, 0x14, 0x14, 0x04, 0x00, + 0x7c, 0x44, 0x44, 0x54, 0x74, 0x00, + 0x7c, 0x10, 0x10, 0x10, 0x7c, 0x00, + 0x44, 0x44, 0x7c, 0x44, 0x44, 0x00, + 0x60, 0x40, 0x40, 0x44, 0x7c, 0x00, + 0x7c, 0x10, 0x10, 0x28, 0x44, 0x00, + 0x7c, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7c, 0x08, 0x10, 0x08, 0x7c, 0x00, + 0x7c, 0x08, 0x10, 0x20, 0x7c, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7c, 0x14, 0x14, 0x14, 0x08, 0x00, + 0x3c, 0x24, 0x64, 0x24, 0x3c, 0x00, + 0x7c, 0x14, 0x14, 0x14, 0x68, 0x00, + 0x5c, 0x54, 0x54, 0x54, 0x74, 0x00, + 0x04, 0x04, 0x7c, 0x04, 0x04, 0x00, + 0x7c, 0x40, 0x40, 0x40, 0x7c, 0x00, + 0x0c, 0x30, 0x40, 0x30, 0x0c, 0x00, + 0x3c, 0x40, 0x30, 0x40, 0x3c, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x0c, 0x10, 0x60, 0x10, 0x0c, 0x00, + 0x44, 0x64, 0x54, 0x4c, 0x44, 0x00, + 0x7c, 0x44, 0x00, 0x00, 0x00, 0x00, + 0x0c, 0x10, 0x60, 0x00, 0x00, 0x00, + 0x44, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x7c, 0x24, 0x24, 0x24, 0x7c, 0x00, + 0x7c, 0x54, 0x54, 0x54, 0x6c, 0x00, + 0x7c, 0x44, 0x44, 0x44, 0x44, 0x00, + 0x7c, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7c, 0x54, 0x54, 0x54, 0x44, 0x00, + 0x7c, 0x14, 0x14, 0x14, 0x04, 0x00, + 0x7c, 0x44, 0x44, 0x54, 0x74, 0x00, + 0x7c, 0x10, 0x10, 0x10, 0x7c, 0x00, + 0x44, 0x44, 0x7c, 0x44, 0x44, 0x00, + 0x60, 0x40, 0x40, 0x44, 0x7c, 0x00, + 0x7c, 0x10, 0x10, 0x28, 0x44, 0x00, + 0x7c, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7c, 0x08, 0x10, 0x08, 0x7c, 0x00, + 0x7c, 0x08, 0x10, 0x20, 0x7c, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7c, 0x14, 0x14, 0x14, 0x08, 0x00, + 0x3c, 0x24, 0x64, 0x24, 0x3c, 0x00, + 0x7c, 0x14, 0x14, 0x14, 0x68, 0x00, + 0x5c, 0x54, 0x54, 0x54, 0x74, 0x00, + 0x04, 0x04, 0x7c, 0x04, 0x04, 0x00, + 0x7c, 0x40, 0x40, 0x40, 0x7c, 0x00, + 0x0c, 0x30, 0x40, 0x30, 0x0c, 0x00, + 0x3c, 0x40, 0x30, 0x40, 0x3c, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x0c, 0x10, 0x60, 0x10, 0x0c, 0x00, + 0x44, 0x64, 0x54, 0x4c, 0x44, 0x00, + 0x10, 0x7c, 0x44, 0x00, 0x00, 0x00, + 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x44, 0x7c, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # lif defined(OLED_FONT_AZTECH) - 0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32 - 0x00,0x2e,0x00,0x00,0x00,0x00, // 0x21 33 ! - 0x00,0x02,0x00,0x02,0x00,0x00, // 0x22 34 " - 0x00,0x0a,0x1e,0x0a,0x1e,0x00, // 0x23 35 # - 0x00,0x0e,0x2a,0x6b,0x2a,0x3a, // 0x24 36 $ - 0x00,0x06,0x06,0x26,0x18,0x06, // 0x25 37 % - 0x38,0x3e,0x2a,0x2a,0x28,0x38, // 0x26 38 & - 0x18,0x02,0x00,0x00,0x00,0x00, // 0x27 39 ' - 0x00,0x3e,0x22,0x00,0x00,0x00, // 0x28 40 ( - 0x00,0x22,0x3e,0x00,0x00,0x00, // 0x29 41 ) - 0x00,0x0e,0x0e,0x0e,0x04,0x00, // 0x2A 42 * - 0x00,0x08,0x1c,0x08,0x00,0x00, // 0x2B 43 + - 0x00,0x20,0x00,0x00,0x00,0x00, // 0x2C 44 , - 0x00,0x08,0x08,0x08,0x00,0x00, // 0x2D 45 - - 0x00,0x20,0x00,0x00,0x00,0x00, // 0x2E 46 . - 0x00,0x20,0x18,0x06,0x00,0x00, // 0x2F 47 / - 0x00,0x3e,0x22,0x2a,0x22,0x3e, // 0x30 48 0 - 0x02,0x3e,0x00,0x00,0x00,0x00, // 0x31 49 1 - 0x00,0x38,0x28,0x2a,0x2a,0x2e, // 0x32 50 2 - 0x00,0x22,0x2a,0x2e,0x38,0x00, // 0x33 51 3 - 0x00,0x0e,0x08,0x08,0x3e,0x08, // 0x34 52 4 - 0x00,0x2e,0x2a,0x2a,0x28,0x38, // 0x35 53 5 - 0x00,0x3e,0x2a,0x2a,0x28,0x38, // 0x36 54 6 - 0x00,0x06,0x02,0x02,0x0a,0x3e, // 0x37 55 7 - 0x00,0x38,0x2e,0x2a,0x2e,0x38, // 0x38 56 8 - 0x00,0x0e,0x0a,0x2a,0x2a,0x3e, // 0x39 57 9 - 0x00,0x28,0x00,0x00,0x00,0x00, // 0x3A 58 : - 0x00,0x28,0x00,0x00,0x00,0x00, // 0x3B 59 ; - 0x00,0x08,0x14,0x22,0x00,0x00, // 0x3C 60 < - 0x00,0x14,0x14,0x14,0x14,0x00, // 0x3D 61 = - 0x00,0x22,0x14,0x08,0x00,0x00, // 0x3E 62 > - 0x00,0x06,0x02,0x2a,0x0a,0x06, // 0x3F 63 ? - 0x00,0x3e,0x02,0x3a,0x2a,0x0a, // 0x40 64 @ - 0x22,0x3e,0x02,0x0a,0x0a,0x3e, // 0x41 65 A - 0x00,0x3e,0x22,0x2a,0x2e,0x38, // 0x42 66 B - 0x00,0x3e,0x22,0x22,0x20,0x30, // 0x43 67 C - 0x00,0x3e,0x22,0x22,0x22,0x3c, // 0x44 68 D - 0x00,0x3e,0x2a,0x22,0x20,0x30, // 0x45 69 E - 0x00,0x3e,0x0a,0x0a,0x06,0x02, // 0x46 70 F - 0x00,0x3e,0x22,0x2a,0x28,0x38, // 0x47 71 G - 0x00,0x3e,0x08,0x08,0x08,0x3e, // 0x48 72 H - 0x00,0x22,0x3e,0x22,0x00,0x00, // 0x49 73 I - 0x00,0x30,0x20,0x20,0x22,0x3e, // 0x4A 74 J - 0x00,0x3e,0x08,0x08,0x0e,0x38, // 0x4B 75 K - 0x00,0x3e,0x20,0x20,0x20,0x30, // 0x4C 76 L - 0x00,0x3e,0x02,0x3e,0x20,0x3e, // 0x4D 77 M - 0x3e,0x3e,0x02,0x3e,0x20,0x3e, // 0x4E 78 N - 0x00,0x3e,0x22,0x22,0x22,0x3e, // 0x4F 79 O - 0x00,0x3e,0x02,0x0a,0x0a,0x0e, // 0x50 80 P - 0x00,0x3e,0x22,0x22,0x22,0x3e, // 0x51 81 Q - 0x00,0x3e,0x02,0x0a,0x0e,0x38, // 0x52 82 R - 0x00,0x0e,0x0a,0x2a,0x2a,0x3a, // 0x53 83 S - 0x00,0x06,0x02,0x3e,0x02,0x06, // 0x54 84 T - 0x00,0x3e,0x20,0x20,0x20,0x3e, // 0x55 85 U - 0x00,0x3e,0x20,0x20,0x3e,0x00, // 0x56 86 V - 0x00,0x3e,0x20,0x3e,0x02,0x3e, // 0x57 87 W - 0x3e,0x3a,0x0e,0x08,0x0e,0x3a, // 0x58 88 X - 0x00,0x0e,0x08,0x08,0x28,0x3e, // 0x59 89 Y - 0x00,0x3a,0x2a,0x2a,0x0a,0x0e, // 0x5A 90 Z - 0x00,0x3e,0x22,0x00,0x00,0x00, // 0x5B 91 [ - 0x00,0x02,0x0c,0x30,0x00,0x00, // 0x5C 92 \ backslash - 0x22,0x3e,0x00,0x00,0x00,0x00, // 0x5D 93 ] - 0x00,0x01,0x00,0x01,0x00,0x00, // 0x5E 94 ^ - 0x00,0x20,0x20,0x20,0x00,0x00, // 0x5F 95 _ - 0x00,0x01,0x00,0x00,0x00,0x00, // 0x60 96 ` - 0x00,0x38,0x28,0x28,0x08,0x38, // 0x61 97 a - 0x00,0x3e,0x20,0x28,0x28,0x38, // 0x62 98 b - 0x00,0x38,0x28,0x28,0x20,0x30, // 0x63 99 c - 0x00,0x38,0x28,0x28,0x20,0x3e, // 0x64 100 d - 0x00,0xf8,0x88,0x28,0x28,0x38, // 0x65 101 e - 0x00,0xf8,0x28,0x28,0x18,0x08, // 0x66 102 f - 0x00,0x38,0x28,0xa8,0x88,0xf8, // 0x67 103 g - 0x00,0x3c,0x08,0x08,0x08,0x38, // 0x68 104 h - 0x00,0x3a,0x00,0x00,0x00,0x00, // 0x69 105 i - 0x80,0xfa,0x00,0x00,0x00,0x00, // 0x6A 106 j - 0x00,0x3e,0x08,0x08,0x38,0x2c, // 0x6B 107 k - 0x00,0x3e,0x20,0x00,0x00,0x00, // 0x6C 108 l - 0x00,0x38,0x08,0x38,0x20,0x38, // 0x6D 109 m - 0x38,0x38,0x08,0x38,0x20,0x38, // 0x6E 110 n - 0x00,0x38,0x28,0x28,0x28,0x38, // 0x6F 111 o - 0x00,0xf8,0x08,0x28,0x28,0x38, // 0x70 112 p - 0x00,0x38,0x28,0x28,0x08,0xf8, // 0x71 113 q - 0x00,0x38,0x08,0x08,0x18,0x08, // 0x72 114 r - 0x00,0x38,0x28,0xa8,0xa8,0xe8, // 0x73 115 s - 0x00,0x3e,0x28,0x28,0x20,0x30, // 0x74 116 t - 0x00,0x38,0x20,0x20,0x20,0x38, // 0x75 117 u - 0x00,0x38,0x20,0x38,0x00,0x00, // 0x76 118 v - 0x00,0x38,0x20,0x38,0x08,0x38, // 0x77 119 w - 0x38,0x28,0x38,0x10,0x38,0x28, // 0x78 120 x - 0x00,0x38,0x20,0xa0,0xa0,0xf8, // 0x79 121 y - 0x00,0xe8,0xa8,0xa8,0x28,0x38, // 0x7A 122 z - 0x08,0x3e,0x22,0x00,0x00,0x00, // 0x7B 123 { - 0x00,0x3f,0x00,0x00,0x00,0x00, // 0x7C 124 | - 0x22,0x3e,0x08,0x00,0x00,0x00, // 0x7D 125 } - 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7E 126 ~ - 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x0a, 0x1e, 0x0a, 0x1e, 0x00, + 0x00, 0x0e, 0x2a, 0x6b, 0x2a, 0x3a, + 0x00, 0x06, 0x06, 0x26, 0x18, 0x06, + 0x38, 0x3e, 0x2a, 0x2a, 0x28, 0x38, + 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3e, 0x22, 0x00, 0x00, 0x00, + 0x00, 0x22, 0x3e, 0x00, 0x00, 0x00, + 0x00, 0x0e, 0x0e, 0x0e, 0x04, 0x00, + 0x00, 0x08, 0x1c, 0x08, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x18, 0x06, 0x00, 0x00, + 0x00, 0x3e, 0x22, 0x2a, 0x22, 0x3e, + 0x02, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x28, 0x2a, 0x2a, 0x2e, + 0x00, 0x22, 0x2a, 0x2e, 0x38, 0x00, + 0x00, 0x0e, 0x08, 0x08, 0x3e, 0x08, + 0x00, 0x2e, 0x2a, 0x2a, 0x28, 0x38, + 0x00, 0x3e, 0x2a, 0x2a, 0x28, 0x38, + 0x00, 0x06, 0x02, 0x02, 0x0a, 0x3e, + 0x00, 0x38, 0x2e, 0x2a, 0x2e, 0x38, + 0x00, 0x0e, 0x0a, 0x2a, 0x2a, 0x3e, + 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x00, 0x00, + 0x00, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x22, 0x14, 0x08, 0x00, 0x00, + 0x00, 0x06, 0x02, 0x2a, 0x0a, 0x06, + 0x00, 0x3e, 0x02, 0x3a, 0x2a, 0x0a, + 0x22, 0x3e, 0x02, 0x0a, 0x0a, 0x3e, + 0x00, 0x3e, 0x22, 0x2a, 0x2e, 0x38, + 0x00, 0x3e, 0x22, 0x22, 0x20, 0x30, + 0x00, 0x3e, 0x22, 0x22, 0x22, 0x3c, + 0x00, 0x3e, 0x2a, 0x22, 0x20, 0x30, + 0x00, 0x3e, 0x0a, 0x0a, 0x06, 0x02, + 0x00, 0x3e, 0x22, 0x2a, 0x28, 0x38, + 0x00, 0x3e, 0x08, 0x08, 0x08, 0x3e, + 0x00, 0x22, 0x3e, 0x22, 0x00, 0x00, + 0x00, 0x30, 0x20, 0x20, 0x22, 0x3e, + 0x00, 0x3e, 0x08, 0x08, 0x0e, 0x38, + 0x00, 0x3e, 0x20, 0x20, 0x20, 0x30, + 0x00, 0x3e, 0x02, 0x3e, 0x20, 0x3e, + 0x3e, 0x3e, 0x02, 0x3e, 0x20, 0x3e, + 0x00, 0x3e, 0x22, 0x22, 0x22, 0x3e, + 0x00, 0x3e, 0x02, 0x0a, 0x0a, 0x0e, + 0x00, 0x3e, 0x22, 0x22, 0x22, 0x3e, + 0x00, 0x3e, 0x02, 0x0a, 0x0e, 0x38, + 0x00, 0x0e, 0x0a, 0x2a, 0x2a, 0x3a, + 0x00, 0x06, 0x02, 0x3e, 0x02, 0x06, + 0x00, 0x3e, 0x20, 0x20, 0x20, 0x3e, + 0x00, 0x3e, 0x20, 0x20, 0x3e, 0x00, + 0x00, 0x3e, 0x20, 0x3e, 0x02, 0x3e, + 0x3e, 0x3a, 0x0e, 0x08, 0x0e, 0x3a, + 0x00, 0x0e, 0x08, 0x08, 0x28, 0x3e, + 0x00, 0x3a, 0x2a, 0x2a, 0x0a, 0x0e, + 0x00, 0x3e, 0x22, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x0c, 0x30, 0x00, 0x00, + 0x22, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x28, 0x28, 0x08, 0x38, + 0x00, 0x3e, 0x20, 0x28, 0x28, 0x38, + 0x00, 0x38, 0x28, 0x28, 0x20, 0x30, + 0x00, 0x38, 0x28, 0x28, 0x20, 0x3e, + 0x00, 0xf8, 0x88, 0x28, 0x28, 0x38, + 0x00, 0xf8, 0x28, 0x28, 0x18, 0x08, + 0x00, 0x38, 0x28, 0xa8, 0x88, 0xf8, + 0x00, 0x3c, 0x08, 0x08, 0x08, 0x38, + 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xfa, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3e, 0x08, 0x08, 0x38, 0x2c, + 0x00, 0x3e, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x08, 0x38, 0x20, 0x38, + 0x38, 0x38, 0x08, 0x38, 0x20, 0x38, + 0x00, 0x38, 0x28, 0x28, 0x28, 0x38, + 0x00, 0xf8, 0x08, 0x28, 0x28, 0x38, + 0x00, 0x38, 0x28, 0x28, 0x08, 0xf8, + 0x00, 0x38, 0x08, 0x08, 0x18, 0x08, + 0x00, 0x38, 0x28, 0xa8, 0xa8, 0xe8, + 0x00, 0x3e, 0x28, 0x28, 0x20, 0x30, + 0x00, 0x38, 0x20, 0x20, 0x20, 0x38, + 0x00, 0x38, 0x20, 0x38, 0x00, 0x00, + 0x00, 0x38, 0x20, 0x38, 0x08, 0x38, + 0x38, 0x28, 0x38, 0x10, 0x38, 0x28, + 0x00, 0x38, 0x20, 0xa0, 0xa0, 0xf8, + 0x00, 0xe8, 0xa8, 0xa8, 0x28, 0x38, + 0x08, 0x3e, 0x22, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, + 0x22, 0x3e, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # elif defined(OLED_FONT_BMPLAIN) - 0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32 - 0x2e,0x00,0x00,0x00,0x00,0x00, // 0x21 33 ! - 0x03,0x00,0x03,0x00,0x00,0x00, // 0x22 34 " - 0x0a,0x1f,0x0a,0x1f,0x0a,0x00, // 0x23 35 # - 0x2e,0x2a,0x6b,0x2a,0x3a,0x00, // 0x24 36 $ - 0x0e,0x2a,0x1e,0x08,0x3c,0x2a, // 0x25 37 % - 0x3e,0x2a,0x2a,0x22,0x38,0x08, // 0x26 38 & - 0x03,0x00,0x00,0x00,0x00,0x00, // 0x27 39 ' - 0x1c,0x22,0x00,0x00,0x00,0x00, // 0x28 40 ( - 0x22,0x1c,0x00,0x00,0x00,0x00, // 0x29 41 ) - 0x15,0x0e,0x04,0x0e,0x15,0x00, // 0x2A 42 * - 0x08,0x08,0x3e,0x08,0x08,0x00, // 0x2B 43 + - 0x60,0x00,0x00,0x00,0x00,0x00, // 0x2C 44 , - 0x08,0x08,0x08,0x08,0x08,0x00, // 0x2D 45 - - 0x20,0x00,0x00,0x00,0x00,0x00, // 0x2E 46 . - 0x20,0x10,0x08,0x04,0x02,0x00, // 0x2F 47 / - 0x3e,0x22,0x2a,0x22,0x3e,0x00, // 0x30 48 0 - 0x04,0x3e,0x00,0x00,0x00,0x00, // 0x31 49 1 - 0x3a,0x2a,0x2a,0x2a,0x2e,0x00, // 0x32 50 2 - 0x2a,0x2a,0x2a,0x2a,0x3e,0x00, // 0x33 51 3 - 0x0e,0x08,0x08,0x08,0x3e,0x00, // 0x34 52 4 - 0x2e,0x2a,0x2a,0x2a,0x3a,0x00, // 0x35 53 5 - 0x3e,0x2a,0x2a,0x2a,0x3a,0x00, // 0x36 54 6 - 0x02,0x02,0x02,0x02,0x3e,0x00, // 0x37 55 7 - 0x3e,0x2a,0x2a,0x2a,0x3e,0x00, // 0x38 56 8 - 0x2e,0x2a,0x2a,0x2a,0x3e,0x00, // 0x39 57 9 - 0x14,0x00,0x00,0x00,0x00,0x00, // 0x3A 58 : - 0x34,0x00,0x00,0x00,0x00,0x00, // 0x3B 59 ; - 0x08,0x14,0x22,0x00,0x00,0x00, // 0x3C 60 < - 0x14,0x14,0x14,0x14,0x14,0x00, // 0x3D 61 = - 0x22,0x14,0x08,0x00,0x00,0x00, // 0x3E 62 > - 0x06,0x02,0x2a,0x0a,0x0e,0x00, // 0x3F 63 ? - 0x3e,0x02,0x3a,0x2a,0x3e,0x00, // 0x40 64 @ - 0x3e,0x12,0x12,0x12,0x3e,0x00, // 0x41 65 A - 0x3e,0x2a,0x2a,0x2a,0x36,0x00, // 0x42 66 B - 0x3e,0x22,0x22,0x22,0x22,0x00, // 0x43 67 C - 0x3e,0x22,0x22,0x22,0x1c,0x00, // 0x44 68 D - 0x3e,0x2a,0x2a,0x2a,0x22,0x00, // 0x45 69 E - 0x3e,0x0a,0x0a,0x0a,0x02,0x00, // 0x46 70 F - 0x3e,0x22,0x2a,0x2a,0x3a,0x00, // 0x47 71 G - 0x3e,0x08,0x08,0x08,0x3e,0x00, // 0x48 72 H - 0x22,0x3e,0x22,0x00,0x00,0x00, // 0x49 73 I - 0x38,0x20,0x20,0x20,0x3e,0x00, // 0x4A 74 J - 0x3e,0x08,0x08,0x14,0x22,0x00, // 0x4B 75 K - 0x3e,0x20,0x20,0x20,0x20,0x00, // 0x4C 76 L - 0x3e,0x04,0x38,0x04,0x3e,0x00, // 0x4D 77 M - 0x3e,0x04,0x08,0x10,0x3e,0x00, // 0x4E 78 N - 0x3e,0x22,0x22,0x22,0x3e,0x00, // 0x4F 79 O - 0x3e,0x0a,0x0a,0x0a,0x0e,0x00, // 0x50 80 P - 0x3e,0x22,0x72,0x22,0x3e,0x00, // 0x51 81 Q - 0x3e,0x0a,0x0a,0x1a,0x2e,0x00, // 0x52 82 R - 0x2e,0x2a,0x2a,0x2a,0x3a,0x00, // 0x53 83 S - 0x02,0x02,0x3e,0x02,0x02,0x00, // 0x54 84 T - 0x1e,0x20,0x20,0x20,0x1e,0x00, // 0x55 85 U - 0x0e,0x10,0x20,0x10,0x0e,0x00, // 0x56 86 V - 0x3e,0x10,0x0e,0x10,0x3e,0x00, // 0x57 87 W - 0x22,0x14,0x08,0x14,0x22,0x00, // 0x58 88 X - 0x02,0x04,0x38,0x04,0x02,0x00, // 0x59 89 Y - 0x3a,0x2a,0x2a,0x2a,0x2e,0x00, // 0x5A 90 Z - 0x3e,0x22,0x00,0x00,0x00,0x00, // 0x5B 91 [ - 0x3f,0x21,0x3f,0x00,0x00,0x00, // 0x5C 92 \ backslash - 0x22,0x3e,0x00,0x00,0x00,0x00, // 0x5D 93 ] - 0x0c,0x1e,0x3c,0x1e,0x0c,0x00, // 0x5E 94 ^ - 0x20,0x20,0x20,0x20,0x20,0x00, // 0x5F 95 _ - 0x1c,0x3e,0x3e,0x3e,0x1c,0x00, // 0x60 96 ` - 0x3c,0x24,0x24,0x24,0x3c,0x20, // 0x61 97 a - 0x3e,0x24,0x24,0x24,0x3c,0x00, // 0x62 98 b - 0x3c,0x24,0x24,0x24,0x24,0x00, // 0x63 99 c - 0x3c,0x24,0x24,0x24,0x3e,0x00, // 0x64 100 d - 0x3c,0x24,0x34,0x2c,0x24,0x00, // 0x65 101 e - 0x08,0x3e,0x0a,0x0a,0x00,0x00, // 0x66 102 f - 0x1c,0x54,0x54,0x54,0x7c,0x00, // 0x67 103 g - 0x3e,0x04,0x04,0x04,0x3c,0x00, // 0x68 104 h - 0x3a,0x00,0x00,0x00,0x00,0x00, // 0x69 105 i - 0x7a,0x00,0x00,0x00,0x00,0x00, // 0x6A 106 j - 0x3e,0x08,0x14,0x22,0x00,0x00, // 0x6B 107 k - 0x02,0x3e,0x00,0x00,0x00,0x00, // 0x6C 108 l - 0x3c,0x04,0x3c,0x04,0x3c,0x00, // 0x6D 109 m - 0x3c,0x04,0x04,0x04,0x3c,0x00, // 0x6E 110 n - 0x3c,0x24,0x24,0x24,0x3c,0x00, // 0x6F 111 o - 0x7c,0x24,0x24,0x24,0x3c,0x00, // 0x70 112 p - 0x3c,0x24,0x24,0x24,0x7c,0x00, // 0x71 113 q - 0x3c,0x04,0x04,0x04,0x00,0x00, // 0x72 114 r - 0x24,0x2c,0x34,0x24,0x00,0x00, // 0x73 115 s - 0x04,0x3e,0x24,0x24,0x00,0x00, // 0x74 116 t - 0x3c,0x20,0x20,0x20,0x3c,0x00, // 0x75 117 u - 0x0c,0x10,0x20,0x10,0x0c,0x00, // 0x76 118 v - 0x3c,0x20,0x3c,0x20,0x3c,0x00, // 0x77 119 w - 0x24,0x24,0x18,0x24,0x24,0x00, // 0x78 120 x - 0x1c,0x50,0x50,0x50,0x7c,0x00, // 0x79 121 y - 0x24,0x34,0x2c,0x24,0x00,0x00, // 0x7A 122 z - 0x08,0x3e,0x22,0x00,0x00,0x00, // 0x7B 123 { - 0x1c,0x22,0x22,0x22,0x1c,0x00, // 0x7C 124 | - 0x22,0x3e,0x08,0x00,0x00,0x00, // 0x7D 125 } - 0x01,0x01,0x01,0x00,0x00,0x00, // 0x7E 126 ~ - 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x0a, 0x1f, 0x0a, 0x1f, 0x0a, 0x00, + 0x2e, 0x2a, 0x6b, 0x2a, 0x3a, 0x00, + 0x0e, 0x2a, 0x1e, 0x08, 0x3c, 0x2a, + 0x3e, 0x2a, 0x2a, 0x22, 0x38, 0x08, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1c, 0x22, 0x00, 0x00, 0x00, 0x00, + 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00, + 0x15, 0x0e, 0x04, 0x0e, 0x15, 0x00, + 0x08, 0x08, 0x3e, 0x08, 0x08, 0x00, + 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3e, 0x22, 0x2a, 0x22, 0x3e, 0x00, + 0x04, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x3a, 0x2a, 0x2a, 0x2a, 0x2e, 0x00, + 0x2a, 0x2a, 0x2a, 0x2a, 0x3e, 0x00, + 0x0e, 0x08, 0x08, 0x08, 0x3e, 0x00, + 0x2e, 0x2a, 0x2a, 0x2a, 0x3a, 0x00, + 0x3e, 0x2a, 0x2a, 0x2a, 0x3a, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x3e, 0x00, + 0x3e, 0x2a, 0x2a, 0x2a, 0x3e, 0x00, + 0x2e, 0x2a, 0x2a, 0x2a, 0x3e, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x14, 0x22, 0x00, 0x00, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x22, 0x14, 0x08, 0x00, 0x00, 0x00, + 0x06, 0x02, 0x2a, 0x0a, 0x0e, 0x00, + 0x3e, 0x02, 0x3a, 0x2a, 0x3e, 0x00, + 0x3e, 0x12, 0x12, 0x12, 0x3e, 0x00, + 0x3e, 0x2a, 0x2a, 0x2a, 0x36, 0x00, + 0x3e, 0x22, 0x22, 0x22, 0x22, 0x00, + 0x3e, 0x22, 0x22, 0x22, 0x1c, 0x00, + 0x3e, 0x2a, 0x2a, 0x2a, 0x22, 0x00, + 0x3e, 0x0a, 0x0a, 0x0a, 0x02, 0x00, + 0x3e, 0x22, 0x2a, 0x2a, 0x3a, 0x00, + 0x3e, 0x08, 0x08, 0x08, 0x3e, 0x00, + 0x22, 0x3e, 0x22, 0x00, 0x00, 0x00, + 0x38, 0x20, 0x20, 0x20, 0x3e, 0x00, + 0x3e, 0x08, 0x08, 0x14, 0x22, 0x00, + 0x3e, 0x20, 0x20, 0x20, 0x20, 0x00, + 0x3e, 0x04, 0x38, 0x04, 0x3e, 0x00, + 0x3e, 0x04, 0x08, 0x10, 0x3e, 0x00, + 0x3e, 0x22, 0x22, 0x22, 0x3e, 0x00, + 0x3e, 0x0a, 0x0a, 0x0a, 0x0e, 0x00, + 0x3e, 0x22, 0x72, 0x22, 0x3e, 0x00, + 0x3e, 0x0a, 0x0a, 0x1a, 0x2e, 0x00, + 0x2e, 0x2a, 0x2a, 0x2a, 0x3a, 0x00, + 0x02, 0x02, 0x3e, 0x02, 0x02, 0x00, + 0x1e, 0x20, 0x20, 0x20, 0x1e, 0x00, + 0x0e, 0x10, 0x20, 0x10, 0x0e, 0x00, + 0x3e, 0x10, 0x0e, 0x10, 0x3e, 0x00, + 0x22, 0x14, 0x08, 0x14, 0x22, 0x00, + 0x02, 0x04, 0x38, 0x04, 0x02, 0x00, + 0x3a, 0x2a, 0x2a, 0x2a, 0x2e, 0x00, + 0x3e, 0x22, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x21, 0x3f, 0x00, 0x00, 0x00, + 0x22, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x0c, 0x1e, 0x3c, 0x1e, 0x0c, 0x00, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, + 0x1c, 0x3e, 0x3e, 0x3e, 0x1c, 0x00, + 0x3c, 0x24, 0x24, 0x24, 0x3c, 0x20, + 0x3e, 0x24, 0x24, 0x24, 0x3c, 0x00, + 0x3c, 0x24, 0x24, 0x24, 0x24, 0x00, + 0x3c, 0x24, 0x24, 0x24, 0x3e, 0x00, + 0x3c, 0x24, 0x34, 0x2c, 0x24, 0x00, + 0x08, 0x3e, 0x0a, 0x0a, 0x00, 0x00, + 0x1c, 0x54, 0x54, 0x54, 0x7c, 0x00, + 0x3e, 0x04, 0x04, 0x04, 0x3c, 0x00, + 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3e, 0x08, 0x14, 0x22, 0x00, 0x00, + 0x02, 0x3e, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x04, 0x3c, 0x04, 0x3c, 0x00, + 0x3c, 0x04, 0x04, 0x04, 0x3c, 0x00, + 0x3c, 0x24, 0x24, 0x24, 0x3c, 0x00, + 0x7c, 0x24, 0x24, 0x24, 0x3c, 0x00, + 0x3c, 0x24, 0x24, 0x24, 0x7c, 0x00, + 0x3c, 0x04, 0x04, 0x04, 0x00, 0x00, + 0x24, 0x2c, 0x34, 0x24, 0x00, 0x00, + 0x04, 0x3e, 0x24, 0x24, 0x00, 0x00, + 0x3c, 0x20, 0x20, 0x20, 0x3c, 0x00, + 0x0c, 0x10, 0x20, 0x10, 0x0c, 0x00, + 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x00, + 0x24, 0x24, 0x18, 0x24, 0x24, 0x00, + 0x1c, 0x50, 0x50, 0x50, 0x7c, 0x00, + 0x24, 0x34, 0x2c, 0x24, 0x00, 0x00, + 0x08, 0x3e, 0x22, 0x00, 0x00, 0x00, + 0x1c, 0x22, 0x22, 0x22, 0x1c, 0x00, + 0x22, 0x3e, 0x08, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # elif defined(OLED_FONT_SUPER_DIGG) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 32 - 0x58, 0x5C, 0x00, 0x00, 0x00, 0x00, // 0x21 33 ! - 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, // 0x22 34 " - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, // 0x23 35 # - 0x5C, 0xFE, 0x54, 0xFE, 0x74, 0x00, // 0x24 36 $ - 0x03, 0x63, 0x38, 0x0C, 0x63, 0x60, // 0x25 37 % - 0x70, 0x5C, 0x54, 0x74, 0x7C, 0x50, // 0x26 38 & - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // 0x27 39 ' - 0x70, 0x7C, 0x44, 0x00, 0x00, 0x00, // 0x28 40 ( - 0x44, 0x7C, 0x70, 0x00, 0x00, 0x00, // 0x29 41 ) - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, // 0x2A 42 * - 0x10, 0x10, 0x70, 0x7C, 0x10, 0x00, // 0x2B 43 + - 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, // 0x2C 44 , - 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, // 0x2D 45 - - 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, // 0x2E 46 . - 0x70, 0x7C, 0x03, 0x00, 0x00, 0x00, // 0x2F 47 / - 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x1C, // 0x30 48 0 - 0x04, 0x04, 0x7C, 0x1C, 0x00, 0x00, // 0x31 49 1 - 0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, // 0x32 50 2 - 0x44, 0x54, 0x54, 0x54, 0x7C, 0x70, // 0x33 51 3 - 0x1C, 0x10, 0x10, 0x7C, 0x7C, 0x00, // 0x34 52 4 - 0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, // 0x35 53 5 - 0x70, 0x7C, 0x54, 0x54, 0x74, 0x00, // 0x36 54 6 - 0x04, 0x14, 0x14, 0x14, 0x7C, 0x70, // 0x37 55 7 - 0x70, 0x5C, 0x54, 0x74, 0x7C, 0x00, // 0x38 56 8 - 0x5C, 0x54, 0x54, 0x54, 0x7C, 0x1C, // 0x39 57 9 - 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, // 0x3A 58 : - 0x50, 0xD0, 0x00, 0x00, 0x00, 0x00, // 0x3B 59 ; - 0x18, 0x18, 0x24, 0x42, 0x00, 0x00, // 0x3C 60 < - 0x28, 0x28, 0x28, 0x28, 0x00, 0x00, // 0x3D 61 = - 0x42, 0x24, 0x18, 0x18, 0x00, 0x00, // 0x3E 62 > - 0x04, 0x14, 0x54, 0x54, 0x1C, 0x1C, // 0x3F 63 ? - 0xF8, 0x04, 0x74, 0x74, 0x54, 0x54, // 0x40 64 @ - 0x70, 0x7C, 0x14, 0x14, 0x3C, 0x00, // 0x41 65 A - 0x7C, 0x74, 0x54, 0x54, 0x7C, 0x00, // 0x42 66 B - 0x70, 0x7C, 0x44, 0x44, 0x44, 0x44, // 0x43 67 C - 0x70, 0x7C, 0x44, 0x44, 0x48, 0x70, // 0x44 68 D - 0x70, 0x7C, 0x54, 0x54, 0x54, 0x44, // 0x45 69 E - 0x70, 0x7C, 0x14, 0x14, 0x14, 0x04, // 0x46 70 F - 0x70, 0x7C, 0x44, 0x44, 0x54, 0x74, // 0x47 71 G - 0x70, 0x7C, 0x10, 0x10, 0x7C, 0x00, // 0x48 72 H - 0x70, 0x7C, 0x00, 0x00, 0x00, 0x00, // 0x49 73 I - 0x60, 0x40, 0x40, 0x40, 0x7C, 0x70, // 0x4A 74 J - 0x7C, 0x70, 0x10, 0x1C, 0x70, 0x00, // 0x4B 75 K - 0x70, 0x7C, 0x40, 0x40, 0x40, 0x60, // 0x4C 76 L - 0x70, 0x7C, 0x04, 0x04, 0x7C, 0x04, // 0x4D 77 M - 0x70, 0x7C, 0x04, 0x04, 0x04, 0x7C, // 0x4E 78 N - 0x70, 0x7C, 0x44, 0x44, 0x44, 0x7C, // 0x4F 79 O - 0x70, 0x7C, 0x24, 0x24, 0x3C, 0x00, // 0x50 80 P - 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00, // 0x51 81 Q - 0x7C, 0x74, 0x14, 0x14, 0x3C, 0x00, // 0x52 82 R - 0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, // 0x53 83 S - 0x04, 0x04, 0x7C, 0x74, 0x04, 0x00, // 0x54 84 T - 0x70, 0x7C, 0x40, 0x40, 0x40, 0x7C, // 0x55 85 U - 0x70, 0x7C, 0x40, 0x40, 0x20, 0x1C, // 0x56 86 V - 0x70, 0x7C, 0x40, 0x40, 0x7C, 0x40, // 0x57 87 W - 0x70, 0x7C, 0x10, 0x10, 0x3C, 0x00, // 0x58 88 X - 0x1C, 0x10, 0x70, 0x70, 0x1C, 0x00, // 0x59 89 Y - 0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, // 0x5A 90 Z - 0xF0, 0xFE, 0x82, 0x00, 0x00, 0x00, // 0x5B 91 [ - 0x03, 0x7C, 0x70, 0x00, 0x00, 0x00, // 0x5C 92 \ backslash - 0x82, 0xFE, 0xF0, 0x00, 0x00, 0x00, // 0x5D 93 ] - 0x04, 0x02, 0x01, 0x06, 0x04, 0x00, // 0x5E 94 ^ - 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, // 0x5F 95 _ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x60 96 ` - 0x70, 0x7C, 0x14, 0x14, 0x3C, 0x00, // 0x61 97 a - 0x7C, 0x74, 0x54, 0x54, 0x7C, 0x00, // 0x62 98 b - 0x70, 0x7C, 0x44, 0x44, 0x44, 0x44, // 0x63 99 c - 0x70, 0x7C, 0x44, 0x44, 0x48, 0x70, // 0x64 100 d - 0x70, 0x7C, 0x54, 0x54, 0x54, 0x44, // 0x65 101 e - 0x70, 0x7C, 0x14, 0x14, 0x14, 0x04, // 0x66 102 f - 0x70, 0x7C, 0x44, 0x44, 0x54, 0x74, // 0x67 103 g - 0x70, 0x7C, 0x10, 0x10, 0x7C, 0x00, // 0x68 104 h - 0x70, 0x7C, 0x00, 0x00, 0x00, 0x00, // 0x69 105 i - 0x60, 0x40, 0x40, 0x40, 0x7C, 0x70, // 0x6A 106 j - 0x7C, 0x70, 0x10, 0x1C, 0x70, 0x00, // 0x6B 107 k - 0x70, 0x7C, 0x40, 0x40, 0x40, 0x60, // 0x6C 108 l - 0x70, 0x7C, 0x04, 0x04, 0x7C, 0x04, // 0x6D 109 m - 0x70, 0x7C, 0x04, 0x04, 0x04, 0x7C, // 0x6E 110 n - 0x70, 0x7C, 0x44, 0x44, 0x44, 0x7C, // 0x6F 111 o - 0x70, 0x7C, 0x24, 0x24, 0x3C, 0x00, // 0x70 112 p - 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00, // 0x71 113 q - 0x7C, 0x74, 0x14, 0x14, 0x3C, 0x00, // 0x72 114 r - 0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, // 0x73 115 s - 0x04, 0x04, 0x7C, 0x74, 0x04, 0x00, // 0x74 116 t - 0x70, 0x7C, 0x40, 0x40, 0x40, 0x7C, // 0x75 117 u - 0x70, 0x7C, 0x40, 0x40, 0x20, 0x1C, // 0x76 118 v - 0x70, 0x7C, 0x40, 0x40, 0x7C, 0x40, // 0x77 119 w - 0x70, 0x7C, 0x10, 0x10, 0x3C, 0x00, // 0x78 120 x - 0x1C, 0x10, 0x70, 0x70, 0x1C, 0x00, // 0x79 121 y - 0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, // 0x7A 122 z - 0x10, 0xFE, 0xC2, 0x00, 0x00, 0x00, // 0x7B 123 { - 0x00, 0x44, 0x77, 0x00, 0x00, 0x00, // 0x7C 124 | - 0xC2, 0xFE, 0x10, 0x00, 0x00, 0x00, // 0x7D 125 } - 0x02, 0x01, 0x03, 0x04, 0x06, 0x02, // 0x7E 126 ~ - 0x3C, 0x22, 0x21, 0x22, 0x3C, 0x00, // 0x7F 127 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x58, 0x5C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x5C, 0xFE, 0x54, 0xFE, 0x74, 0x00, + 0x03, 0x63, 0x38, 0x0C, 0x63, 0x60, + 0x70, 0x5C, 0x54, 0x74, 0x7C, 0x50, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x7C, 0x44, 0x00, 0x00, 0x00, + 0x44, 0x7C, 0x70, 0x00, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x10, 0x10, 0x70, 0x7C, 0x10, 0x00, + 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x7C, 0x03, 0x00, 0x00, 0x00, + 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x1C, + 0x04, 0x04, 0x7C, 0x1C, 0x00, 0x00, + 0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, + 0x44, 0x54, 0x54, 0x54, 0x7C, 0x70, + 0x1C, 0x10, 0x10, 0x7C, 0x7C, 0x00, + 0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, + 0x70, 0x7C, 0x54, 0x54, 0x74, 0x00, + 0x04, 0x14, 0x14, 0x14, 0x7C, 0x70, + 0x70, 0x5C, 0x54, 0x74, 0x7C, 0x00, + 0x5C, 0x54, 0x54, 0x54, 0x7C, 0x1C, + 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, + 0x50, 0xD0, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x24, 0x42, 0x00, 0x00, + 0x28, 0x28, 0x28, 0x28, 0x00, 0x00, + 0x42, 0x24, 0x18, 0x18, 0x00, 0x00, + 0x04, 0x14, 0x54, 0x54, 0x1C, 0x1C, + 0xF8, 0x04, 0x74, 0x74, 0x54, 0x54, + 0x70, 0x7C, 0x14, 0x14, 0x3C, 0x00, + 0x7C, 0x74, 0x54, 0x54, 0x7C, 0x00, + 0x70, 0x7C, 0x44, 0x44, 0x44, 0x44, + 0x70, 0x7C, 0x44, 0x44, 0x48, 0x70, + 0x70, 0x7C, 0x54, 0x54, 0x54, 0x44, + 0x70, 0x7C, 0x14, 0x14, 0x14, 0x04, + 0x70, 0x7C, 0x44, 0x44, 0x54, 0x74, + 0x70, 0x7C, 0x10, 0x10, 0x7C, 0x00, + 0x70, 0x7C, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x40, 0x40, 0x40, 0x7C, 0x70, + 0x7C, 0x70, 0x10, 0x1C, 0x70, 0x00, + 0x70, 0x7C, 0x40, 0x40, 0x40, 0x60, + 0x70, 0x7C, 0x04, 0x04, 0x7C, 0x04, + 0x70, 0x7C, 0x04, 0x04, 0x04, 0x7C, + 0x70, 0x7C, 0x44, 0x44, 0x44, 0x7C, + 0x70, 0x7C, 0x24, 0x24, 0x3C, 0x00, + 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00, + 0x7C, 0x74, 0x14, 0x14, 0x3C, 0x00, + 0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, + 0x04, 0x04, 0x7C, 0x74, 0x04, 0x00, + 0x70, 0x7C, 0x40, 0x40, 0x40, 0x7C, + 0x70, 0x7C, 0x40, 0x40, 0x20, 0x1C, + 0x70, 0x7C, 0x40, 0x40, 0x7C, 0x40, + 0x70, 0x7C, 0x10, 0x10, 0x3C, 0x00, + 0x1C, 0x10, 0x70, 0x70, 0x1C, 0x00, + 0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, + 0xF0, 0xFE, 0x82, 0x00, 0x00, 0x00, + 0x03, 0x7C, 0x70, 0x00, 0x00, 0x00, + 0x82, 0xFE, 0xF0, 0x00, 0x00, 0x00, + 0x04, 0x02, 0x01, 0x06, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x7C, 0x14, 0x14, 0x3C, 0x00, + 0x7C, 0x74, 0x54, 0x54, 0x7C, 0x00, + 0x70, 0x7C, 0x44, 0x44, 0x44, 0x44, + 0x70, 0x7C, 0x44, 0x44, 0x48, 0x70, + 0x70, 0x7C, 0x54, 0x54, 0x54, 0x44, + 0x70, 0x7C, 0x14, 0x14, 0x14, 0x04, + 0x70, 0x7C, 0x44, 0x44, 0x54, 0x74, + 0x70, 0x7C, 0x10, 0x10, 0x7C, 0x00, + 0x70, 0x7C, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x40, 0x40, 0x40, 0x7C, 0x70, + 0x7C, 0x70, 0x10, 0x1C, 0x70, 0x00, + 0x70, 0x7C, 0x40, 0x40, 0x40, 0x60, + 0x70, 0x7C, 0x04, 0x04, 0x7C, 0x04, + 0x70, 0x7C, 0x04, 0x04, 0x04, 0x7C, + 0x70, 0x7C, 0x44, 0x44, 0x44, 0x7C, + 0x70, 0x7C, 0x24, 0x24, 0x3C, 0x00, + 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00, + 0x7C, 0x74, 0x14, 0x14, 0x3C, 0x00, + 0x5C, 0x5C, 0x54, 0x54, 0x74, 0x00, + 0x04, 0x04, 0x7C, 0x74, 0x04, 0x00, + 0x70, 0x7C, 0x40, 0x40, 0x40, 0x7C, + 0x70, 0x7C, 0x40, 0x40, 0x20, 0x1C, + 0x70, 0x7C, 0x40, 0x40, 0x7C, 0x40, + 0x70, 0x7C, 0x10, 0x10, 0x3C, 0x00, + 0x1C, 0x10, 0x70, 0x70, 0x1C, 0x00, + 0x74, 0x74, 0x54, 0x54, 0x5C, 0x00, + 0x10, 0xFE, 0xC2, 0x00, 0x00, 0x00, + 0x00, 0x44, 0x77, 0x00, 0x00, 0x00, + 0xC2, 0xFE, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x01, 0x03, 0x04, 0x06, 0x02, + 0x3C, 0x22, 0x21, 0x22, 0x3C, 0x00, # else // default font - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 32 - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, // 0x21 33 ! - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, // 0x22 34 " - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, // 0x23 35 # - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, // 0x24 36 $ - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, // 0x25 37 % - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, // 0x26 38 & - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, // 0x27 39 ' - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, // 0x28 40 ( - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, // 0x29 41 ) - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, // 0x2A 42 * - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, // 0x2B 43 + - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, // 0x2C 44 , - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // 0x2D 45 - - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, // 0x2E 46 . - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, // 0x2F 47 / - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, // 0x30 48 0 - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, // 0x31 49 1 - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, // 0x32 50 2 - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, // 0x33 51 3 - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, // 0x34 52 4 - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, // 0x35 53 5 - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, // 0x36 54 6 - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, // 0x37 55 7 - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x38 56 8 - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, // 0x39 57 9 - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, // 0x3A 58 : - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, // 0x3B 59 ; - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x3C 60 < - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, // 0x3D 61 = - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, // 0x3E 62 > - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, // 0x3F 63 ? - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, // 0x40 64 @ - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, // 0x41 65 A - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x42 66 B - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, // 0x43 67 C - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x44 68 D - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, // 0x45 69 E - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, // 0x46 70 F - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, // 0x47 71 G - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, // 0x48 72 H - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, // 0x49 73 I - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, // 0x4A 74 J - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x4B 75 K - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x4C 76 L - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, // 0x4D 77 M - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, // 0x4E 78 N - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x4F 79 O - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, // 0x50 80 P - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, // 0x51 81 Q - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, // 0x52 82 R - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, // 0x53 83 S - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, // 0x54 84 T - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, // 0x55 85 U - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, // 0x56 86 V - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, // 0x57 87 W - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // 0x58 88 X - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, // 0x59 89 Y - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, // 0x5A 90 Z - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, // 0x5B 91 [ - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, // 0x5C 92 \ backslash - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0x5D 93 ] - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, // 0x5E 94 ^ - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x5F 95 _ - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, // 0x60 96 ` - 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, // 0x61 97 a - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, // 0x62 98 b - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, // 0x63 99 c - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, // 0x64 100 d - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, // 0x65 101 e - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, // 0x66 102 f - 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, // 0x67 103 g - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x68 104 h - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, // 0x69 105 i - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, // 0x6A 106 j - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, // 0x6B 107 k - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, // 0x6C 108 l - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, // 0x6D 109 m - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x6E 110 n - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, // 0x6F 111 o - 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, // 0x70 112 p - 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, // 0x71 113 q - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, // 0x72 114 r - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, // 0x73 115 s - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, // 0x74 116 t - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, // 0x75 117 u - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, // 0x76 118 v - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, // 0x77 119 w - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // 0x78 120 x - 0x4C, 0x90, 0x10, 0x90, 0x7C, 0x00, // 0x79 121 y - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, // 0x7A 122 z - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, // 0x7B 123 { - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, // 0x7C 124 | - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, // 0x7D 125 } - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, // 0x7E 126 ~ - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, // 0x7F 127 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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, 0x10, 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, # endif +// top Logo section # if defined(OLED_LOGO_GMK_BAD) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 - 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, // 0x81 - 0x38, 0x38, 0x38, 0x78, 0x70, 0xF0, // 0x82 - 0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00, // 0x83 - 0x00, 0x00, 0x00, 0x80, 0xF0, 0xF8, // 0x84 - 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, // 0x85 - 0x80, 0xE0, 0xF8, 0xF8, 0xF8, 0xF8, // 0x86 - 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x87 - 0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x00, // 0x88 - 0x80, 0xE0, 0xF0, 0xF8, 0x78, 0x38, // 0x89 - 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, // 0x8A - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8B - 0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x38, // 0x8C - 0x38, 0xF8, 0xF0, 0xF0, 0xE0, 0x00, // 0x8D - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8E - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8F - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x90 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x91 - 0x00, 0x00, 0x00, 0x80, 0xFC, 0xFC, // 0x92 - 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00, // 0x93 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x94 - 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, // 0x95 - 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, // 0x96 - 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, // 0x97 - 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, // 0x98 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x99 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9A - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9B - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9C - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9D - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9E - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9F - 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, // 0xA0 - 0xFF, 0xFF, 0xFF, 0xC1, 0x80, 0x00, // 0xA1 - 0x00, 0x38, 0x38, 0xB8, 0xB8, 0xF9, // 0xA2 - 0xF9, 0xF8, 0x38, 0x00, 0x00, 0x00, // 0xA3 - 0x00, 0xC0, 0xF8, 0xFF, 0xFF, 0x1F, // 0xA4 - 0x01, 0x3F, 0xFF, 0xFF, 0xF0, 0xFE, // 0xA5 - 0x7F, 0x0F, 0x03, 0xFF, 0xFF, 0xFF, // 0xA6 - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, // 0xA7 - 0xFF, 0xFF, 0xFF, 0x3F, 0x1E, 0x7F, // 0xA8 - 0xFF, 0xFF, 0xF3, 0xC1, 0x80, 0x00, // 0xA9 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xAA - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, // 0xAB - 0xFF, 0xFF, 0xFF, 0x3F, 0x1C, 0x1C, // 0xAC - 0x9C, 0xFF, 0xFF, 0xF3, 0xE1, 0x00, // 0xAD - 0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFE, // 0xAE - 0xFF, 0x0F, 0x07, 0x07, 0x8E, 0xFF, // 0xAF - 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, // 0xB0 - 0x00, 0xF0, 0xFC, 0xFE, 0xFF, 0x8F, // 0xB1 - 0x07, 0x07, 0x8E, 0xFF, 0xFF, 0xFF, // 0xB2 - 0x3F, 0x00, 0x00, 0x00, 0x00, 0x80, // 0xB3 - 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, // 0xB4 - 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, // 0xB5 - 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, // 0xB6 - 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, // 0xB7 - 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, // 0xB8 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xB9 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBA - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBB - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBC - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBD - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBE - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBF - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0 - 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, // 0xC1 - 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, // 0xC2 - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC3 - 0x06, 0x07, 0x07, 0x07, 0x01, 0x00, // 0xC4 - 0x00, 0x00, 0x07, 0x07, 0x07, 0x01, // 0xC5 - 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, // 0xC6 - 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, // 0xC7 - 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, // 0xC8 - 0x00, 0x03, 0x07, 0x07, 0x07, 0x06, // 0xC9 - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xCA - 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, // 0xCB - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, // 0xCC - 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, // 0xCD - 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, // 0xCE - 0x07, 0x07, 0x07, 0x03, 0x07, 0x07, // 0xCF - 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, // 0xD0 - 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, // 0xD1 - 0x07, 0x03, 0x07, 0x07, 0x07, 0x07, // 0xD2 - 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, // 0xD3 - 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, // 0xD4 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD5 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD6 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD7 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD8 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD9 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDA - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDB - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDC - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDD - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDE - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF - 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, 0x30, 0x18, 0x0C, - 0x06, 0x0C, 0x18, 0x30, 0x00, 0x00, - 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, - 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E, - 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, - 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24, - 0x24, 0xFF, 0xA5, 0xE7, 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, - 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, - 0x4A, 0x3E, 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, 0x1C, 0x14, 0x1C, 0x08, - 0x18, 0x08, 0x18, 0x00, 0x00, 0x00, - 0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, + 0x38, 0x38, 0x38, 0x78, 0x70, 0xF0, + 0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xF0, 0xF8, + 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, + 0x80, 0xE0, 0xF8, 0xF8, 0xF8, 0xF8, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x00, + 0x80, 0xE0, 0xF0, 0xF8, 0x78, 0x38, + 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x38, + 0x38, 0xF8, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xFC, 0xFC, + 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # elif defined(OLED_LOGO_HUE_MANITEE) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x90, 0x70, 0xE8, 0xA8, 0xE4, 0xC4, 0xC4, 0xA0, 0xE4, 0xB0, 0xDC, 0xE4, @@ -675,120 +574,13 @@ static const unsigned char font[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, // 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, - 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, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 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, // 0xA0 - 0xFC, 0xF6, 0xF7, 0xEF, 0xFF, 0x87, - 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, - 0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, - 0xFF, 0x07, 0x1F, 0x1F, 0x19, 0x15, - 0xF7, 0x16, 0x1A, 0x1B, 0x16, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x0C, 0x0C, 0x33, 0x33, - 0x33, 0x33, 0x33, 0x33, 0xC0, 0xC0, - 0x00, 0x00, 0x03, 0x03, 0xFF, 0xFF, - 0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0, - 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0xFC, - 0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0x30, 0x30, 0xCC, 0xCC, // 0xB0 - 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 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, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 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, // 0xC0 - 0x03, 0x07, 0x07, 0x07, 0x07, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, - 0x03, 0x00, 0x00, 0x02, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, // 0xD0 - 0x03, 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, // 0xDF - 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, 0x30, 0x18, 0x0C, - 0x06, 0x0C, 0x18, 0x30, 0x00, 0x00, - 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, - 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E, - 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, - 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24, - 0x24, 0xFF, 0xA5, 0xE7, 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, - 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, - 0x4A, 0x3E, 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, 0x1C, 0x14, 0x1C, 0x08, - 0x18, 0x08, 0x18, 0x00, 0x00, 0x00, - 0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # elif defined(OLED_LOGO_CORNE) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0x18, 0x00, 0xC0, @@ -804,250 +596,13 @@ static const unsigned char font[] PROGMEM = { 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0xE0, 0xE0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, // 0x90 + 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, // 0xA0 - 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE, - 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x1F, 0x07, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0x81, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, - 0xC3, 0xC3, 0xC3, 0x00, 0x00, 0xFF, - 0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, // 0xB0 - 0x9D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 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, // 0xC0 - 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F, - 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F, - 0x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, - 0x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C, - 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x03, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, - 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, - 0x07, 0x00, 0x00, 0x00, 0x01, 0x03, // 0xD0 - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF - 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, 0x30, 0x18, 0x0C, - 0x06, 0x0C, 0x18, 0x30, 0x00, 0x00, - 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, - 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E, - 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, - 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24, - 0x24, 0xFF, 0xA5, 0xE7, 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, - 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, - 0x4A, 0x3E, 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, 0x1C, 0x14, 0x1C, 0x08, - 0x18, 0x08, 0x18, 0x00, 0x00, 0x00, - 0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - -# elif defined(OLED_LOGO_GOTHAM) // see /keyboards/crkbd/keymaps/gotham/oled.c - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 - 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, // 0x90 - 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, // 0xA0 - 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, // 0xB0 - 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, // 0xC0 - 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, // 0xD0 - 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, // 0xDF - 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, 0x30, 0x18, 0x0C, - 0x06, 0x0C, 0x18, 0x30, 0x00, 0x00, - 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, - 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E, - 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x77, 0x77, 0x00, - 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24, - 0x24, 0xFF, 0xA5, 0xE7, 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, - 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, - 0x4A, 0x3E, 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, 0x1C, 0x14, 0x1C, 0x08, - 0x18, 0x08, 0x18, 0x00, 0x00, 0x00, - 0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # else - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0x3F, 0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8, @@ -1063,11 +618,14 @@ static const unsigned char font[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 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, +#endif + +// First icon section 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, @@ -1076,10 +634,79 @@ static const unsigned char font[] PROGMEM = { 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, + 0x3E, 0x4A, 0x4F, 0x4A, 0x3E, 0x00, + 0x18, 0x3C, 0x7C, 0x3A, 0x7D, 0x24, + 0x14, 0x36, 0x00, 0x36, 0x77, 0x77, + +// middle logo section +# if defined(OLED_LOGO_GMK_BAD) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, + 0xFF, 0xFF, 0xFF, 0xC1, 0x80, 0x00, + 0x00, 0x38, 0x38, 0xB8, 0xB8, 0xF9, + 0xF9, 0xF8, 0x38, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0xF8, 0xFF, 0xFF, 0x1F, + 0x01, 0x3F, 0xFF, 0xFF, 0xF0, 0xFE, + 0x7F, 0x0F, 0x03, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xFF, 0xFF, 0xFF, 0x3F, 0x1E, 0x7F, + 0xFF, 0xFF, 0xF3, 0xC1, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xFF, 0xFF, 0xFF, 0x3F, 0x1C, 0x1C, + 0x9C, 0xFF, 0xFF, 0xF3, 0xE1, 0x00, + 0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFE, + 0xFF, 0x0F, 0x07, 0x07, 0x8E, 0xFF, + 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0xFC, 0xFE, 0xFF, 0x8F, + 0x07, 0x07, 0x8E, 0xFF, 0xFF, 0xFF, + 0x3F, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, +# elif defined(OLED_LOGO_HUE_MANITEE) + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, + 0xFC, 0xF6, 0xF7, 0xEF, 0xFF, 0x87, + 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, + 0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, + 0xFF, 0x07, 0x1F, 0x1F, 0x19, 0x15, + 0xF7, 0x16, 0x1A, 0x1B, 0x16, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0C, 0x0C, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x33, 0xC0, 0xC0, + 0x00, 0x00, 0x03, 0x03, 0xFF, 0xFF, + 0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0, + 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0xFC, + 0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x30, 0x30, 0xCC, 0xCC, + 0x03, 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, // 0xA0 +# elif defined(OLED_LOGO_CORNE) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE, + 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x1F, 0x07, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0x81, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, + 0xC3, 0xC3, 0xC3, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0x9D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +# else + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xDF, 0xBF, 0xBF, 0x00, 0xBF, 0xBF, 0xDF, 0xE0, 0xFF, 0xFF, @@ -1095,11 +722,14 @@ static const unsigned char font[] PROGMEM = { 0x7F, 0x7E, 0x03, 0x03, 0x7E, 0x7E, 0x03, 0x03, 0x7F, 0x7E, 0x00, 0x0F, 0x3E, 0x70, 0x3C, 0x06, 0x3C, 0x70, - 0x3E, 0x0F, 0x00, 0x32, 0x7B, 0x49, // 0xB0 + 0x3E, 0x0F, 0x00, 0x32, 0x7B, 0x49, 0x49, 0x3F, 0x7E, 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x00, 0x1E, 0x3F, 0x69, 0x69, 0x6F, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +# endif + +// second icon section 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, @@ -1109,9 +739,78 @@ static const unsigned char font[] PROGMEM = { 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF0, 0xFE, 0xF1, 0x91, 0xF6, 0xF0, + 0xF0, 0xFC, 0xF2, 0x92, 0xFC, 0xF0, + +// bottom logo section +# if defined(OLED_LOGO_GMK_BAD) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, + 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x07, 0x07, 0x07, 0x01, 0x00, + 0x00, 0x00, 0x07, 0x07, 0x07, 0x01, + 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x07, 0x07, 0x07, 0x06, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, + 0x07, 0x07, 0x07, 0x03, 0x07, 0x07, + 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, + 0x07, 0x03, 0x07, 0x07, 0x07, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, + 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, +# elif defined(OLED_LOGO_HUE_MANITEE) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x03, 0x07, 0x07, 0x07, 0x07, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, + 0x03, 0x00, 0x00, 0x02, 0x04, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +# elif defined(OLED_LOGO_CORNE) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, + 0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F, + 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F, + 0x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C, + 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x03, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, + 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, + 0x07, 0x00, 0x00, 0x00, 0x01, 0x03, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#else + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x7E, 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F, @@ -1127,7 +826,14 @@ static const unsigned char font[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#endif + +// third icon section 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1139,10 +845,8 @@ static const unsigned char font[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDF + +// fourth icon section 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, @@ -1175,8 +879,6 @@ static const unsigned char font[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - -# endif }; // clang-format on #endif diff --git a/users/drashna/oled_stuff.c b/users/drashna/oled_stuff.c index 7811cabc60..4b54919507 100644 --- a/users/drashna/oled_stuff.c +++ b/users/drashna/oled_stuff.c @@ -16,6 +16,8 @@ #include "drashna.h" +extern bool host_driver_disabled; + #ifndef KEYLOGGER_LENGTH // # ifdef OLED_DISPLAY_128X64 # define KEYLOGGER_LENGTH ((uint8_t)(OLED_DISPLAY_HEIGHT / OLED_FONT_WIDTH)) @@ -29,24 +31,24 @@ static char keylog_str[KEYLOGGER_LENGTH + 1] = {0}; static uint16_t log_timer = 0; // clang-format off -static const char PROGMEM code_to_name[0xFF] = { +static const char PROGMEM code_to_name[256] = { // 0 1 2 3 4 5 6 7 8 9 A B c D E F ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', // 0x 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', // 1x '3', '4', '5', '6', '7', '8', '9', '0', 20, 19, 27, 26, 22, '-', '=', '[', // 2x - ']','\\', '#', ';','\'', '`', ',', '.', '/', 128, ' ', ' ', ' ', ' ', ' ', ' ', // 3x - ' ', ' ', ' ', ' ', ' ', ' ', 'P', 'S', ' ', ' ', ' ', ' ', 16, ' ', ' ', ' ', // 4x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 5x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 6x + ']','\\', '#', ';','\'', '`', ',', '.', '/', 128, '1', '2', '3', '4', '5', '6', // 3x + '7', '8', '9', '0', '1', '2', 'P', 'S', 19, ' ', 17, 30, 16, 16, 31, 26, // 4x + 27, 25, 24, 'N', '/', '*', '-', '+', 23, '1', '2', '3', '4', '5', '6', '7', // 5x + '8', '9', '0', '.','\\', 'A', 0, '=', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 6x ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7x ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 8x ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 9x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ax + ' ', ' ', ' ', ' ', ' ', 0, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ax ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Bx ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Cx ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Dx - 'C', 'S', 'A', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ex - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' // Fx + 'C', 'S', 'A', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 24, 26, 24, // Ex + 25,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D,0x9D, 24, 25, 27, 26, ' ', ' ', ' ' // Fx }; // clang-format on @@ -148,8 +150,8 @@ void render_keylock_status(uint8_t led_usb_state) { oled_write_P(PSTR(OLED_RENDER_LOCK_NUML), led_usb_state & (1 << USB_LED_NUM_LOCK)); oled_write_P(PSTR(" "), false); oled_write_P(PSTR(OLED_RENDER_LOCK_CAPS), led_usb_state & (1 << USB_LED_CAPS_LOCK)); - oled_write_P(PSTR(" "), false); - oled_write_P(PSTR(OLED_RENDER_LOCK_SCLK), led_usb_state & (1 << USB_LED_SCROLL_LOCK)); +// oled_write_P(PSTR(" "), false); +// oled_write_P(PSTR(OLED_RENDER_LOCK_SCLK), led_usb_state & (1 << USB_LED_SCROLL_LOCK)); } void render_matrix_scan_rate(void) { @@ -292,12 +294,22 @@ void render_user_status(void) { static const char PROGMEM rgb_layer_status[2][3] = {{0xEE, 0xEF, 0}, {0xF0, 0xF1, 0}}; oled_write_P(rgb_layer_status[userspace_config.rgb_layer_change], false); - static const char PROGMEM nukem_good[2][3] = {{0xF8, 0xF9, 0}, {0xF6, 0xF7, 0}}; - oled_write_P(nukem_good[0], userspace_config.nuke_switch); + static const char PROGMEM cat_mode[2][3] = {{0xF8, 0xF9, 0}, {0xF6, 0xF7, 0}}; + oled_write_P(cat_mode[0], host_driver_disabled); #if defined(UNICODE_ENABLE) static const char PROGMEM uc_mod_status[5][3] = {{0xEA, 0xEB, 0}, {0xEC, 0xED, 0}}; oled_write_P(uc_mod_status[get_unicode_input_mode() == UC_MAC], false); #endif + if (userspace_config.nuke_switch) { +#if !defined(OLED_DISPLAY_128X64) + oled_write_P(PSTR(" "), false); +#endif + static const char PROGMEM nukem_good[2] = {0xFA, 0}; + oled_write_P(nukem_good, false); +#if !defined(OLED_DISPLAY_128X64) + oled_advance_page(true); +#endif + } #if defined(OLED_DISPLAY_128X64) oled_advance_page(true); #endif diff --git a/users/drashna/process_records.c b/users/drashna/process_records.c index 900b6da15e..1e7f7ca762 100644 --- a/users/drashna/process_records.c +++ b/users/drashna/process_records.c @@ -18,7 +18,7 @@ #include "version.h" uint16_t copy_paste_timer; - +bool host_driver_disabled = false; // Defines actions tor my global custom keycodes. Defined in drashna.h file // Then runs the _keymap's record handier if not processed here @@ -198,6 +198,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *re eeconfig_update_user(userspace_config.raw); } } + break; + case KEYLOCK: { + static host_driver_t *host_driver = 0; + + if (record->event.pressed) { + if (host_get_driver()) { + host_driver = host_get_driver(); + clear_keyboard(); + host_set_driver(0); + host_driver_disabled = true; + } else { + host_set_driver(host_driver); + host_driver_disabled = false; + } + } + break; + } #endif } return true; diff --git a/users/drashna/process_records.h b/users/drashna/process_records.h index 231480ac59..897d7bbcc9 100644 --- a/users/drashna/process_records.h +++ b/users/drashna/process_records.h @@ -46,6 +46,7 @@ enum userspace_custom_keycodes { UC_TABL, // ┬─┬ノ( º _ ºノ) UC_SHRG, // ¯\_(ツ)_/¯ UC_DISA, // ಠ_ಠ + KEYLOCK, // Locks keyboard by unmounting driver NEW_SAFE_RANGE // use "NEWPLACEHOLDER for keymap specific codes }; diff --git a/users/drashna/transport_sync.c b/users/drashna/transport_sync.c index 39db641354..daa14bbef7 100644 --- a/users/drashna/transport_sync.c +++ b/users/drashna/transport_sync.c @@ -33,15 +33,16 @@ extern bool tap_toggling; extern bool swap_hands; #endif extern userspace_config_t userspace_config; +extern bool host_driver_disabled; uint16_t transport_keymap_config = 0; -uint32_t transport_userspace_config = 0; +uint32_t transport_userspace_config = 0, transport_user_state = 0; user_runtime_config_t user_state; void user_state_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { - if (initiator2target_buffer_size == sizeof(user_state)) { - memcpy(&user_state, initiator2target_buffer, initiator2target_buffer_size); + if (initiator2target_buffer_size == sizeof(transport_user_state)) { + memcpy(&transport_user_state, initiator2target_buffer, initiator2target_buffer_size); } } void user_keymap_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { @@ -79,9 +80,13 @@ void user_transport_update(void) { #ifdef SWAP_HANDS_ENABLE user_state.swap_hands = swap_hands; #endif + user_state.host_driver_disabled = host_driver_disabled; + + transport_user_state = user_state.raw; } else { keymap_config.raw = transport_keymap_config; userspace_config.raw = transport_userspace_config; + user_state.raw = transport_user_state; #ifdef UNICODE_ENABLE unicode_config.input_mode = user_state.unicode_mode; #endif @@ -91,22 +96,21 @@ void user_transport_update(void) { #ifdef SWAP_HANDS_ENABLE swap_hands = user_state.swap_hands; #endif + host_driver_disabled = user_state.host_driver_disabled; } } void user_transport_sync(void) { if (is_keyboard_master()) { // Keep track of the last state, so that we can tell if we need to propagate to slave - static user_runtime_config_t last_user_state; static uint16_t last_keymap = 0; - static uint32_t last_config = 0; - static uint32_t last_sync[3]; + static uint32_t last_config = 0, last_sync[3], last_user_state = 0; bool needs_sync = false; // Check if the state values are different - if (memcmp(&user_state, &last_user_state, sizeof(user_state))) { + if (memcmp(&transport_user_state, &last_user_state, sizeof(transport_user_state))) { needs_sync = true; - memcpy(&last_user_state, &user_state, sizeof(user_state)); + memcpy(&last_user_state, &transport_user_state, sizeof(transport_user_state)); } // Send to slave every 500ms regardless of state change if (timer_elapsed32(last_sync[0]) > 250) { diff --git a/users/drashna/transport_sync.h b/users/drashna/transport_sync.h index 062df2bacc..70b6ea522b 100644 --- a/users/drashna/transport_sync.h +++ b/users/drashna/transport_sync.h @@ -19,12 +19,16 @@ #include "drashna.h" -__attribute__((aligned(8))) typedef struct { - bool audio_enable; - bool audio_clicky_enable; - bool tap_toggling; - bool unicode_mode; - bool swap_hands; +typedef union { + uint32_t raw; + struct { + bool audio_enable :1; + bool audio_clicky_enable :1; + bool tap_toggling :1; + bool unicode_mode :1; + bool swap_hands :1; + bool host_driver_disabled :1; + }; } user_runtime_config_t; extern user_runtime_config_t user_state; From 6b299fab6e6a3143c061b9ea005253361fcd524b Mon Sep 17 00:00:00 2001 From: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Sat, 16 Oct 2021 16:33:45 +1100 Subject: [PATCH 36/48] [Keymap] Update Miryoku (#14827) --- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 24 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 2 +- .../keymaps/manna-harbour_miryoku/keymap.c | 2 +- .../60_ansi/manna-harbour_miryoku/config.h | 36 +- .../60_ansi/manna-harbour_miryoku/keymap.c | 2 +- .../ergodox/manna-harbour_miryoku/config.h | 2 +- .../ergodox/manna-harbour_miryoku/keymap.c | 2 +- .../ortho_4x10/manna-harbour_miryoku/config.h | 41 +- .../ortho_4x10/manna-harbour_miryoku/keymap.c | 2 +- .../ortho_4x12/manna-harbour_miryoku/config.h | 2 +- .../ortho_4x12/manna-harbour_miryoku/keymap.c | 2 +- .../ortho_5x12/manna-harbour_miryoku/config.h | 2 +- .../ortho_5x12/manna-harbour_miryoku/keymap.c | 2 +- .../ortho_5x15/manna-harbour_miryoku/config.h | 2 +- .../ortho_5x15/manna-harbour_miryoku/keymap.c | 2 +- .../planck_mit/manna-harbour_miryoku/config.h | 2 +- .../planck_mit/manna-harbour_miryoku/keymap.c | 2 +- .../manna-harbour_miryoku/config.h | 2 +- .../manna-harbour_miryoku/keymap.c | 2 +- .../manna-harbour_miryoku/config.h | 2 +- .../manna-harbour_miryoku/keymap.c | 2 +- users/manna-harbour_miryoku/README.org | 1 - users/manna-harbour_miryoku/config.h | 2 +- .../manna-harbour_miryoku.c | 77 +- .../manna-harbour_miryoku.h | 4 +- .../{miryoku.org => readme.org} | 1050 +++++++++-------- users/manna-harbour_miryoku/rules.mk | 2 +- 54 files changed, 742 insertions(+), 588 deletions(-) create mode 100644 keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c delete mode 120000 users/manna-harbour_miryoku/README.org rename users/manna-harbour_miryoku/{miryoku.org => readme.org} (79%) diff --git a/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h b/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h index 5084aa5b9f..6bb1a9a7f3 100644 --- a/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 0000000000..09433f3f40 --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,24 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated -*- buffer-read-only: t -*- + +// 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 + +#define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_split_4x6_5( \ +XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \ +XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ +XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ +XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ + K32, K33, K34, K35, K36, K37, \ + XXX, XXX, XXX, XXX \ +) diff --git a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 0000000000..7c5717a0fe --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,5 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated -*- buffer-read-only: t -*- + +// 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 . diff --git a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h index 087fa5852e..a246476ddc 100644 --- a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h b/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h index a297605096..1794ba4fd6 100644 --- a/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h b/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h index b1438e94ef..2bfb5befb3 100644 --- a/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h index 6348254503..27526140c9 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h index 232b3930bf..5a848d26e5 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h index 0e9415edeb..2a737462dd 100644 --- a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h index 97e4d23d8a..3de799f942 100644 --- a/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h b/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h index 14a0afbfee..1e1a2802ff 100644 --- a/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h b/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h index ad6eee3682..6ea1541da2 100644 --- a/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h b/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h index f426e2f79f..ffc0d98798 100644 --- a/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h b/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h index 53825775cc..8372e10168 100644 --- a/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h index c04bee9b4f..495b3032c6 100644 --- a/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/torn/keymaps/manna-harbour_miryoku/config.h b/keyboards/torn/keymaps/manna-harbour_miryoku/config.h index 60ae65d505..89a67474ca 100644 --- a/keyboards/torn/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/torn/keymaps/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/60_ansi/manna-harbour_miryoku/config.h b/layouts/community/60_ansi/manna-harbour_miryoku/config.h index 14bf842165..81f1ceb42f 100644 --- a/layouts/community/60_ansi/manna-harbour_miryoku/config.h +++ b/layouts/community/60_ansi/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . @@ -9,7 +9,7 @@ #define XXX KC_NO #if defined MIRYOKU_MAPPING_NOREVERSEANGLE -#define LAYOUT_miryoku(\ + #define LAYOUT_miryoku(\ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ @@ -22,8 +22,38 @@ K00, K01, K02, K03, K04, XXX, XXX, XXX, K05, K06, K07, K08, K09, XX XXX, K32, K33, K34, XXX, XXX, XXX, XXX, K35, K36, K37, XXX,\ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX\ ) +#elif defined MIRYOKU_MAPPING_LITE + #if defined MIRYOKU_LAYERS_FLIP + #define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_60_ansi( \ +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_TAB, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, KC_LBRC, KC_RBRC, KC_BSLS, \ +KC_CAPS, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KC_SCLN, KC_ENT, \ +KC_LSFT, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, KC_RSFT, \ +KC_LCTL, KC_LGUI, KC_LALT, K36, KC_RALT, KC_RGUI, KC_APP, KC_RCTL \ +) + #else + #define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_60_ansi( \ +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_TAB, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, KC_LBRC, KC_RBRC, KC_BSLS, \ +KC_CAPS, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KC_SCLN, KC_ENT, \ +KC_LSFT, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, KC_RSFT, \ +KC_LCTL, KC_LGUI, KC_LALT, K33, KC_RALT, KC_RGUI, KC_APP, KC_RCTL \ +) + #endif #else -#define LAYOUT_miryoku(\ + #define LAYOUT_miryoku(\ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ diff --git a/layouts/community/60_ansi/manna-harbour_miryoku/keymap.c b/layouts/community/60_ansi/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/layouts/community/60_ansi/manna-harbour_miryoku/keymap.c +++ b/layouts/community/60_ansi/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/ergodox/manna-harbour_miryoku/config.h b/layouts/community/ergodox/manna-harbour_miryoku/config.h index 836193ddce..10c61fdfdc 100644 --- a/layouts/community/ergodox/manna-harbour_miryoku/config.h +++ b/layouts/community/ergodox/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/ergodox/manna-harbour_miryoku/keymap.c b/layouts/community/ergodox/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/layouts/community/ergodox/manna-harbour_miryoku/keymap.c +++ b/layouts/community/ergodox/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/ortho_4x10/manna-harbour_miryoku/config.h b/layouts/community/ortho_4x10/manna-harbour_miryoku/config.h index 7142f2960d..b1e9526f99 100644 --- a/layouts/community/ortho_4x10/manna-harbour_miryoku/config.h +++ b/layouts/community/ortho_4x10/manna-harbour_miryoku/config.h @@ -1,20 +1,37 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 LAYOUT_miryoku(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT_ortho_4x10(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ -KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO\ +#define XXX KC_NO + +#if defined MIRYOKU_MAPPING_ROTATE +#define LAYOUT_miryoku( \ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_ortho_4x10( \ +XXX, XXX, K37, K36, K35, K34, K33, K32, XXX, XXX, \ +K29, K28, K27, K26, K25, K24, K23, K22, K21, K20, \ +K19, K18, K17, K16, K15, K14, K13, K12, K11, K10, \ +K09, K08, K07, K06, K05, K04, K03, K02, K01, K00 \ ) +#else +#define LAYOUT_miryoku(\ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_ortho_4x10( \ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ +XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX \ +) +#endif diff --git a/layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c b/layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c +++ b/layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/ortho_4x12/manna-harbour_miryoku/config.h b/layouts/community/ortho_4x12/manna-harbour_miryoku/config.h index 8ccab4da9f..5d7ccd257f 100644 --- a/layouts/community/ortho_4x12/manna-harbour_miryoku/config.h +++ b/layouts/community/ortho_4x12/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c b/layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c +++ b/layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/ortho_5x12/manna-harbour_miryoku/config.h b/layouts/community/ortho_5x12/manna-harbour_miryoku/config.h index 86b854db5c..927567fe4b 100644 --- a/layouts/community/ortho_5x12/manna-harbour_miryoku/config.h +++ b/layouts/community/ortho_5x12/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c b/layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c +++ b/layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/ortho_5x15/manna-harbour_miryoku/config.h b/layouts/community/ortho_5x15/manna-harbour_miryoku/config.h index f9ccbdf2df..42e0385169 100644 --- a/layouts/community/ortho_5x15/manna-harbour_miryoku/config.h +++ b/layouts/community/ortho_5x15/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c b/layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c +++ b/layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/planck_mit/manna-harbour_miryoku/config.h b/layouts/community/planck_mit/manna-harbour_miryoku/config.h index c1024d8012..df24fbba0f 100644 --- a/layouts/community/planck_mit/manna-harbour_miryoku/config.h +++ b/layouts/community/planck_mit/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/planck_mit/manna-harbour_miryoku/keymap.c b/layouts/community/planck_mit/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/layouts/community/planck_mit/manna-harbour_miryoku/keymap.c +++ b/layouts/community/planck_mit/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/split_3x5_3/manna-harbour_miryoku/config.h b/layouts/community/split_3x5_3/manna-harbour_miryoku/config.h index ad9495a934..b34f6ad18d 100644 --- a/layouts/community/split_3x5_3/manna-harbour_miryoku/config.h +++ b/layouts/community/split_3x5_3/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c b/layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c +++ b/layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/split_3x6_3/manna-harbour_miryoku/config.h b/layouts/community/split_3x6_3/manna-harbour_miryoku/config.h index f21188f333..4ce96c7600 100644 --- a/layouts/community/split_3x6_3/manna-harbour_miryoku/config.h +++ b/layouts/community/split_3x6_3/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c b/layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c index 1520387e88..7c5717a0fe 100644 --- a/layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c +++ b/layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c @@ -1,5 +1,5 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/users/manna-harbour_miryoku/README.org b/users/manna-harbour_miryoku/README.org deleted file mode 120000 index b6caaade16..0000000000 --- a/users/manna-harbour_miryoku/README.org +++ /dev/null @@ -1 +0,0 @@ -miryoku.org \ No newline at end of file diff --git a/users/manna-harbour_miryoku/config.h b/users/manna-harbour_miryoku/config.h index 38d363299e..d24f52edae 100644 --- a/users/manna-harbour_miryoku/config.h +++ b/users/manna-harbour_miryoku/config.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . diff --git a/users/manna-harbour_miryoku/manna-harbour_miryoku.c b/users/manna-harbour_miryoku/manna-harbour_miryoku.c index ff25b77934..6347183417 100644 --- a/users/manna-harbour_miryoku/manna-harbour_miryoku.c +++ b/users/manna-harbour_miryoku/manna-harbour_miryoku.c @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . @@ -9,40 +9,50 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined MIRYOKU_LAYERS_FLIP [BASE] = LAYOUT_miryoku( - #if defined MIRYOKU_ALPHAS_COLEMAK + #if defined MIRYOKU_ALPHAS_AZERTY + KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + LGUI_T(KC_Q), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_M), + LT(BUTTON, KC_W), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_DOT, ALGR_T(KC_SLSH), LT(BUTTON, KC_QUOT), + U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP + #elif defined MIRYOKU_ALPHAS_COLEMAK KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_D, KC_H, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), - KC_Z, ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, + LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP #elif defined MIRYOKU_ALPHAS_COLEMAKDHK KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_K, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), - KC_Z, ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, + LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP #elif defined MIRYOKU_ALPHAS_DVORAK KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, LGUI_T(KC_A), LALT_T(KC_O), LCTL_T(KC_E), LSFT_T(KC_U), KC_I, KC_D, LSFT_T(KC_H), LCTL_T(KC_T), LALT_T(KC_N), LGUI_T(KC_S), - KC_SLSH, ALGR_T(KC_Q), KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, ALGR_T(KC_V), KC_Z, + LT(BUTTON, KC_SLSH), ALGR_T(KC_Q), KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, ALGR_T(KC_V), LT(BUTTON, KC_Z), U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP #elif defined MIRYOKU_ALPHAS_HALMAK KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, LGUI_T(KC_S), LALT_T(KC_H), LCTL_T(KC_N), LSFT_T(KC_T), KC_COMM, KC_DOT, LSFT_T(KC_A), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), - KC_F, ALGR_T(KC_M), KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, ALGR_T(KC_K), KC_Y, + LT(BUTTON, KC_F), ALGR_T(KC_M), KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, ALGR_T(KC_K), LT(BUTTON, KC_Y), U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP #elif defined MIRYOKU_ALPHAS_WORKMAN KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_H), LSFT_T(KC_T), KC_G, KC_Y, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), - KC_Z, ALGR_T(KC_X), KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, + LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP #elif defined MIRYOKU_ALPHAS_QWERTY KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), - KC_Z, ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, + LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), + U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP + #elif defined MIRYOKU_ALPHAS_QWERTZ + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, + LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), + LT(BUTTON, KC_Y), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP #else KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), - KC_Z, ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, + LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP #endif ), @@ -85,12 +95,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP ), #endif - [MBO] = LAYOUT_miryoku( - U_RDO, U_PST, U_CPY, U_CUT, U_UND, U_RDO, U_PST, U_CPY, U_CUT, U_UND, - KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_TRNS, KC_TRNS, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - U_NP, U_NP, KC_BTN2, KC_BTN3, KC_BTN1, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP - ), [NUM] = LAYOUT_miryoku( RESET, U_NA, U_NA, U_NA, U_NA, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_EQL, KC_4, KC_5, KC_6, KC_SCLN, @@ -108,44 +112,53 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_SLCK, KC_F4, KC_F5, KC_F6, KC_F11, U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, U_NP, U_NP, U_NA, U_NA, U_NA, KC_TAB, KC_SPC, KC_APP, U_NP, U_NP - ) -, + ), #else [BASE] = LAYOUT_miryoku( - #if defined MIRYOKU_ALPHAS_COLEMAK + #if defined MIRYOKU_ALPHAS_AZERTY + KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + LGUI_T(KC_Q), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_M), + LT(BUTTON, KC_W), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_DOT, ALGR_T(KC_SLSH), LT(BUTTON, KC_QUOT), + U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP + #elif defined MIRYOKU_ALPHAS_COLEMAK KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_D, KC_H, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), - KC_Z, ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, + LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP #elif defined MIRYOKU_ALPHAS_COLEMAKDHK KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_K, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), - KC_Z, ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, + LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP #elif defined MIRYOKU_ALPHAS_DVORAK KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, LGUI_T(KC_A), LALT_T(KC_O), LCTL_T(KC_E), LSFT_T(KC_U), KC_I, KC_D, LSFT_T(KC_H), LCTL_T(KC_T), LALT_T(KC_N), LGUI_T(KC_S), - KC_SLSH, ALGR_T(KC_Q), KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, ALGR_T(KC_V), KC_Z, + LT(BUTTON, KC_SLSH), ALGR_T(KC_Q), KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, ALGR_T(KC_V), LT(BUTTON, KC_Z), U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP #elif defined MIRYOKU_ALPHAS_HALMAK KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, LGUI_T(KC_S), LALT_T(KC_H), LCTL_T(KC_N), LSFT_T(KC_T), KC_COMM, KC_DOT, LSFT_T(KC_A), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), - KC_F, ALGR_T(KC_M), KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, ALGR_T(KC_K), KC_Y, + LT(BUTTON, KC_F), ALGR_T(KC_M), KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, ALGR_T(KC_K), LT(BUTTON, KC_Y), U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP #elif defined MIRYOKU_ALPHAS_WORKMAN KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_H), LSFT_T(KC_T), KC_G, KC_Y, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), - KC_Z, ALGR_T(KC_X), KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, + LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP #elif defined MIRYOKU_ALPHAS_QWERTY KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), - KC_Z, ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, + LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), + U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP + #elif defined MIRYOKU_ALPHAS_QWERTZ + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, + LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), + LT(BUTTON, KC_Y), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP #else KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), - KC_Z, ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, + LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP #endif ), @@ -188,12 +201,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP ), #endif - [MBO] = LAYOUT_miryoku( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_TRNS, KC_TRNS, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, - U_RDO, U_PST, U_CPY, U_CUT, U_UND, U_RDO, U_PST, U_CPY, U_CUT, U_UND, - U_NP, U_NP, KC_BTN2, KC_BTN3, KC_BTN1, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP - ), [NUM] = LAYOUT_miryoku( KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, U_NA, U_NA, U_NA, U_NA, RESET, KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, @@ -211,6 +218,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, U_NA, U_NA, U_NA, KC_ALGR, U_NA, U_NP, U_NP, KC_APP, KC_SPC, KC_TAB, U_NA, U_NA, U_NA, U_NP, U_NP - ) + ), #endif + [BUTTON] = LAYOUT_miryoku( + U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, + KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_TRNS, KC_TRNS, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, + U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, + U_NP, U_NP, KC_BTN2, KC_BTN3, KC_BTN1, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP + ) }; diff --git a/users/manna-harbour_miryoku/manna-harbour_miryoku.h b/users/manna-harbour_miryoku/manna-harbour_miryoku.h index 4d62c17079..1d14f61710 100644 --- a/users/manna-harbour_miryoku/manna-harbour_miryoku.h +++ b/users/manna-harbour_miryoku/manna-harbour_miryoku.h @@ -1,6 +1,6 @@ // Copyright 2019 Manna Harbour // https://github.com/manna-harbour/miryoku -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +// generated -*- buffer-read-only: t -*- // 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 . @@ -12,7 +12,7 @@ #define U_NA KC_NO // present but not available for use #define U_NU KC_NO // available but not used -enum layers { BASE, MBO, MEDIA, NAV, MOUSE, SYM, NUM, FUN }; +enum layers { BASE, BUTTON, MEDIA, NAV, MOUSE, SYM, NUM, FUN }; #if defined MIRYOKU_CLIPBOARD_FUN #define U_RDO KC_AGIN diff --git a/users/manna-harbour_miryoku/miryoku.org b/users/manna-harbour_miryoku/readme.org similarity index 79% rename from users/manna-harbour_miryoku/miryoku.org rename to users/manna-harbour_miryoku/readme.org index 2f6b1d5a88..b904738a67 100644 --- a/users/manna-harbour_miryoku/miryoku.org +++ b/users/manna-harbour_miryoku/readme.org @@ -1,100 +1,41 @@ # After making changes to code or tables call org-babel-tangle (C-c C-v t). -#+Title: Miryoku [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png]] +* Miryoku QMK [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png]] [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover.png]] -Miryoku is an ergonomic, minimal, orthogonal layout for ergo or ortho keyboards, -implemented as part of the QMK firmware. +[[https://github.com/manna-harbour/miryoku/][Miryoku]] is an ergonomic, minimal, orthogonal, and universal keyboard layout. This is the Miryoku implementation for [[https://qmk.fm][QMK]]. -The layout is maintained in emacs org-mode tables and converted to QMK keymap -data structures using embedded python scripts. It is mapped onto keyboards with -different physical layouts as a subset without code duplication using the QMK -userspace feature and C macros. +** Branches -Please see the [[https://github.com/manna-harbour/qmk_firmware/blob/miryoku/users/manna-harbour_miryoku/miryoku.org][development branch]] for any [[https://github.com/qmk/qmk_firmware/compare/master...manna-harbour:miryoku][updates not yet merged into QMK]]. -To checkout the development branch in your existing QMK build environment: +*** QMK master + +Miryoku QMK is periodically merged upstream into QMK master and it is generally recommended to build directly from QMK master. + +QMK master is at https://github.com/qmk/qmk_firmware/tree/master, and the corresponding Miryoku QMK readme is at https://github.com/qmk/qmk_firmware/tree/master/users/manna-harbour_miryoku. + + +*** Miryoku QMK development branch + +The Miryoku QMK development branch is ~miryoku~ and may contain new commits not yet merged into QMK master. + +~miryoku~ is at https://github.com/manna-harbour/miryoku_qmk/tree/miryoku, and the corresponding Miryoku QMK readme is at https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku. + +New commits can be seen at the top of the [[https://github.com/manna-harbour/miryoku_qmk/commits/miryoku][history]] with commit messages beginning ~[miryoku]~. After the new commits are squashed and merged upstream into QMK master by pull request the ~miryoku~ branch is renamed and a new ~miryoku~ branch is created from QMK master. + +To checkout the ~miryoku~ branch in your existing QMK build environment: #+BEGIN_SRC sh :tangle no -git remote add manna-harbour git@github.com:manna-harbour/qmk_firmware.git # ssh -git remote add manna-harbour https://github.com/manna-harbour/qmk_firmware.git # https -git fetch manna-harbour -git checkout --track manna-harbour/miryoku +git remote add miryoku_qmk git@github.com:manna-harbour/miryoku_qmk.git # if using SSH +git remote add miryoku_qmk https://github.com/manna-harbour/miryoku_qmk.git # if using HTTPS +git fetch miryoku_qmk +git checkout --track miryoku_qmk/miryoku #+END_SRC -Additional implementations and visualisations are provided outside QMK in the -[[https://github.com/manna-harbour/miryoku/blob/master/README.org][Miryoku (Extras) repository]]. +** Layout -* Contents :TOC_3: -- [[#layout][Layout]] - - [[#general-principles][General Principles]] - - [[#details][Details]] - - [[#layers][Layers]] - - [[#base][Base]] - - [[#nav][Nav]] - - [[#mouse][Mouse]] - - [[#mouse-buttons-overlay][Mouse Buttons Overlay]] - - [[#media][Media]] - - [[#num][Num]] - - [[#sym][Sym]] - - [[#fun][Fun]] - - [[#alternative-layouts][Alternative Layouts]] -- [[#code-generation][Code Generation]] - - [[#table-conversion-scripts][Table Conversion Scripts]] - - [[#table-layout-taphold][table-layout-taphold]] - - [[#table-layout-half][table-layout-half]] - - [[#table-layout-full][table-layout-full]] - - [[#table-enums][table-enums]] - - [[#table-keycode-mappings][table-keycode-mappings]] - - [[#data][Data]] - - [[#symbol-names][symbol-names]] - - [[#mods][mods]] - - [[#nonkc][nonkc]] - - [[#header][header]] - - [[#license-qmk][license-qmk]] -- [[#subset-mapping][Subset Mapping]] - - [[#userspace][Userspace]] - - [[#usersmanna-harbour_miryokurulesmk][users/manna-harbour_miryoku/rules.mk]] - - [[#usersmanna-harbour_miryokuconfigh][users/manna-harbour_miryoku/config.h]] - - [[#usersmanna-harbour_miryokumanna-harbour_miryokuh][users/manna-harbour_miryoku/manna-harbour_miryoku.h]] - - [[#usersmanna-harbour_miryokumanna-harbour_miryokuc][users/manna-harbour_miryoku/manna-harbour_miryoku.c]] - - [[#layouts][Layouts]] - - [[#60_ansi][60_ansi]] - - [[#ergodox][ergodox]] - - [[#ortho_4x10][ortho_4x10]] - - [[#ortho_4x12][ortho_4x12]] - - [[#ortho_5x12][ortho_5x12]] - - [[#ortho_5x15][ortho_5x15]] - - [[#planck_mit][planck_mit]] - - [[#split_3x5_3][split_3x5_3]] - - [[#split_3x6_3][split_3x6_3]] - - [[#keyboards][Keyboards]] - - [[#atreus][atreus]] - - [[#ergotravel][ergotravel]] - - [[#for_science][for_science]] - - [[#gergo][gergo]] - - [[#handwireddactyl_manuform4x5][handwired/dactyl_manuform/4x5]] - - [[#handwireddactyl_manuform5x6][handwired/dactyl_manuform/5x6]] - - [[#keebioiris][keebio/iris]] - - [[#keyboardioatreus][keyboardio/atreus]] - - [[#kyria][kyria]] - - [[#lily58][lily58]] - - [[#moonlander][moonlander]] - - [[#redox_w][redox_w]] - - [[#sofle][sofle]] - - [[#torn][torn]] - - [[#customisation][Customisation]] - - [[#examples][Examples]] -- [[#experimental-features][Experimental Features]] - - [[#bilateral-combinations][Bilateral Combinations]] - - [[#retro-shift][Retro Shift]] -- [[#documentation][Documentation]] -- [[#contact][Contact]] - -* Layout - -** General Principles +*** General Principles - Use layers instead of reaching. - Use both hands instead of contortions. @@ -103,7 +44,7 @@ Additional implementations and visualisations are provided outside QMK in the - Avoid unnecessary complication. -** Details +*** Details - 5 columns, 3 rows, 3 thumb keys, 2 hands. - Can be used on almost any split or non-split ergo or ortho keyboard. @@ -133,7 +74,7 @@ Additional implementations and visualisations are provided outside QMK in the - Auto Shift for numbers and symbols. -** Layers +*** Layers [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-reference.png]] @@ -153,7 +94,7 @@ Mods (and reset) will be available on sub layers on the same hand as the layer change thumb key. Unknown names are considered to be layer names. -*** Base +**** Base [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-base.png]] @@ -164,10 +105,10 @@ backspace, enter, delete on the right and space, tab, escape on the left. Alternative alpha arrangements are also available. -**** Tap +***** Tap -***** Alphas +****** Alphas #+NAME: colemakdh | Q | W | F | P | B | J | L | U | Y | ' | @@ -175,22 +116,22 @@ Alternative alpha arrangements are also available. | Z | X | C | D | V | K | H | , | DOT | / | -***** Thumbs +****** Thumbs #+NAME: thumbs | U_NP | U_NP | ESC | SPC | TAB | ENT | BSPC | DEL | U_NP | U_NP | -**** Hold +***** Hold #+NAME: hold -| RESET | | | | | | | | | RESET | -| LGUI | LALT | LCTL | LSFT | | | LSFT | LCTL | LALT | LGUI | -| | ALGR | | | | | | | ALGR | | -| U_NP | U_NP | MEDIA | NAV | MOUSE | SYM | NUM | FUN | U_NP | U_NP | +| RESET | | | | | | | | | RESET | +| LGUI | LALT | LCTL | LSFT | | | LSFT | LCTL | LALT | LGUI | +| BUTTON | ALGR | | | | | | | ALGR | BUTTON | +| U_NP | U_NP | MEDIA | NAV | MOUSE | SYM | NUM | FUN | U_NP | U_NP | -*** Nav +**** Nav [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-nav.png]] @@ -209,7 +150,7 @@ available. | ENT | BSPC | DEL | U_NP | U_NP | -*** Mouse +**** Mouse [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-mouse.png]] @@ -226,19 +167,24 @@ layer. | BTN1 | BTN3 | BTN2 | U_NP | U_NP | -*** Mouse Buttons Overlay +**** Button -Available for automatic activation depending on keyboard hardware and -configuration. Not activated manually. +[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-button.png]] -#+NAME: mbo -| U_RDO | U_PST | U_CPY | U_CUT | U_UND | U_RDO | U_PST | U_CPY | U_CUT | U_UND | +Provides mouse buttons, mods, and clipboard keys for use with integrated or +external pointing devices, used with either hand. The layer is available for +automatic activation depending on hardware and configuration. It can also be +activated manually by holding a bottom row pinkie key (however GUI and Undo will +be unavailable). + +#+NAME: button +| U_UND | U_CUT | U_CPY | U_PST | U_RDO | U_RDO | U_PST | U_CPY | U_CUT | U_UND | | LGUI | LALT | LCTL | LSFT | | | LSFT | LCTL | LALT | LGUI | -| | | | | | | | | | | +| U_UND | U_CUT | U_CPY | U_PST | U_RDO | U_RDO | U_PST | U_CPY | U_CUT | U_UND | | U_NP | U_NP | BTN2 | BTN3 | BTN1 | BTN1 | BTN3 | BTN2 | U_NP | U_NP | -*** Media +**** Media [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-media.png]] @@ -254,7 +200,7 @@ available for other related functions. | MSTP | MPLY | MUTE | U_NP | U_NP | -*** Num +**** Num [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-num.png]] @@ -269,7 +215,7 @@ Dot is duplicated from the base layer. | U_NP | U_NP | DOT | 0 | MINS | -*** Sym +**** Sym [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-sym.png]] @@ -284,7 +230,7 @@ next to close parenthesis. | U_NP | U_NP | ( | ) | _ | -*** Fun +**** Fun [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-fun.png]] @@ -301,19 +247,29 @@ the base layer to enable auto-repeat. | U_NP | U_NP | APP | SPC | TAB | -*** Alternative Layouts +**** Alternative Layouts The defaults are recommended, but alternative layouts are provided to accommodate existing muscle memory and platform differences. -**** Alphas +***** Alphas To select, append the corresponding option to the ~make~ command line when building, e.g. ~MIRYOKU_ALPHAS=QWERTY~. -***** Colemak +****** AZERTY + +~MIRYOKU_ALPHAS=AZERTY~ + +#+NAME: azerty +| A | Z | E | R | T | Y | U | I | O | P | +| Q | S | D | F | G | H | J | K | L | M | +| W | X | C | V | B | N | , | DOT | / | ' | + + +****** Colemak ~MIRYOKU_ALPHAS=COLEMAK~ @@ -323,7 +279,7 @@ building, e.g. ~MIRYOKU_ALPHAS=QWERTY~. | Z | X | C | V | B | K | M | , | DOT | / | -***** Colemak Mod-DHk +****** Colemak Mod-DHk ~MIRYOKU_ALPHAS=COLEMAKDHK~ @@ -333,7 +289,7 @@ building, e.g. ~MIRYOKU_ALPHAS=QWERTY~. | Z | X | C | D | V | M | H | , | DOT | / | -***** Dvorak +****** Dvorak ~MIRYOKU_ALPHAS=DVORAK~ @@ -343,7 +299,7 @@ building, e.g. ~MIRYOKU_ALPHAS=QWERTY~. | / | Q | J | K | X | B | M | W | V | Z | -***** Halmak +****** Halmak ~MIRYOKU_ALPHAS=HALMAK~ @@ -353,7 +309,7 @@ building, e.g. ~MIRYOKU_ALPHAS=QWERTY~. | F | M | V | C | / | G | P | X | K | Y | -***** Workman +****** Workman ~MIRYOKU_ALPHAS=WORKMAN~ @@ -363,7 +319,7 @@ building, e.g. ~MIRYOKU_ALPHAS=QWERTY~. | Z | X | M | C | V | K | L | , | DOT | / | -***** QWERTY +****** QWERTY ~MIRYOKU_ALPHAS=QWERTY~ @@ -373,16 +329,26 @@ building, e.g. ~MIRYOKU_ALPHAS=QWERTY~. | Z | X | C | V | B | N | M | , | DOT | / | -**** Nav +****** QWERTZ + +~MIRYOKU_ALPHAS=QWERTZ~ + +#+NAME: qwertz +| Q | W | E | R | T | Z | U | I | O | P | +| A | S | D | F | G | H | J | K | L | ' | +| Y | X | C | V | B | N | M | , | DOT | / | -***** vi-Style +***** Nav + + +****** vi-Style To select, append ~MIRYOKU_NAV=VI~ to the ~make~ command line when building. Not available with ~MIRYOKU_LAYERS=FLIP~. -****** Nav +******* Nav #+NAME: nav-r-vi | U_RDO | U_PST | U_CPY | U_CUT | U_UND | @@ -391,7 +357,7 @@ Not available with ~MIRYOKU_LAYERS=FLIP~. | ENT | BSPC | DEL | U_NP | U_NP | -****** Mouse +******* Mouse #+NAME: mouse-r-vi | U_RDO | U_PST | U_CPY | U_CUT | U_UND | @@ -400,7 +366,7 @@ Not available with ~MIRYOKU_LAYERS=FLIP~. | BTN1 | BTN3 | BTN2 | U_NP | U_NP | -****** Media +******* Media #+NAME: media-r-vi | RGB_TOG | RGB_MOD | RGB_HUI | RGB_SAI | RGB_VAI | @@ -409,7 +375,7 @@ Not available with ~MIRYOKU_LAYERS=FLIP~. | MSTP | MPLY | MUTE | U_NP | U_NP | -***** Inverted-T +****** Inverted-T [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-reference-flip-invertedt.png]] @@ -417,7 +383,7 @@ To select, append ~MIRYOKU_NAV=INVERTEDT~ to the ~make~ command line when building. Only available with ~MIRYOKU_LAYERS=FLIP~. -****** Nav +******* Nav #+NAME: nav-l-invertedt | PGUP | HOME | UP | END | INS | @@ -426,7 +392,7 @@ building. Only available with ~MIRYOKU_LAYERS=FLIP~. | U_NP | U_NP | DEL | BSPC | ENT | -****** Mouse +******* Mouse #+NAME: mouse-l-invertedt | WH_U | WH_L | MS_U | WH_R | | @@ -435,7 +401,7 @@ building. Only available with ~MIRYOKU_LAYERS=FLIP~. | U_NP | U_NP | BTN2 | BTN3 | BTN1 | -****** Media +******* Media #+NAME: media-l-invertedt | | | VOLU | | | @@ -444,7 +410,7 @@ building. Only available with ~MIRYOKU_LAYERS=FLIP~. | U_NP | U_NP | MUTE | MPLY | MSTP | -**** Clipboard +***** Clipboard Keycodes are translated according to the following tables. @@ -457,7 +423,7 @@ To select, append the corresponding option to the ~make~ command line when building, e.g. ~MIRYOKU_CLIPBOARD=WIN~. -***** Default +****** Default #+NAME: clipboard | U_RDO | AGIN | @@ -467,7 +433,7 @@ building, e.g. ~MIRYOKU_CLIPBOARD=WIN~. | U_UND | UNDO | -***** Fun Cluster +****** Fun Cluster ~MIRYOKU_CLIPBOARD=FUN~ @@ -479,7 +445,7 @@ building, e.g. ~MIRYOKU_CLIPBOARD=WIN~. | U_UND | UNDO | -***** Mac +****** Mac ~MIRYOKU_CLIPBOARD=MAC~ @@ -491,7 +457,7 @@ building, e.g. ~MIRYOKU_CLIPBOARD=WIN~. | U_UND | LCMD(KC_Z) | -***** Windows +****** Windows ~MIRYOKU_CLIPBOARD=WIN~ @@ -503,32 +469,32 @@ building, e.g. ~MIRYOKU_CLIPBOARD=WIN~. | U_UND | C(KC_Z) | -**** Layers +***** Layers -***** Flip +****** Flip Flip base layer thumb keys and sub layers between right and left hands. To select, append ~MIRYOKU_LAYERS=FLIP~ to the ~make~ command line when building. -****** Thumbs +******* Thumbs #+NAME: thumbs-flip | U_NP | U_NP | DEL | BSPC | ENT | TAB | SPC | ESC | U_NP | U_NP | -****** Hold +******* Hold #+NAME: hold-flip -| RESET | | | | | | | | | RESET | -| LGUI | LALT | LCTL | LSFT | | | LSFT | LCTL | LALT | LGUI | -| | ALGR | | | | | | | ALGR | | -| U_NP | U_NP | FUN | NUM | SYM | MOUSE | NAV | MEDIA | U_NP | U_NP | +| RESET | | | | | | | | | RESET | +| LGUI | LALT | LCTL | LSFT | | | LSFT | LCTL | LALT | LGUI | +| BUTTON | ALGR | | | | | | | ALGR | BUTTON | +| U_NP | U_NP | FUN | NUM | SYM | MOUSE | NAV | MEDIA | U_NP | U_NP | -****** Nav +******* Nav #+NAME: nav-l | HOME | PGDN | PGUP | END | INS | @@ -537,7 +503,7 @@ To select, append ~MIRYOKU_LAYERS=FLIP~ to the ~make~ command line when building | U_NP | U_NP | DEL | BSPC | ENT | -****** Mouse +******* Mouse #+NAME: mouse-l | WH_L | WH_D | WH_U | WH_R | | @@ -546,16 +512,7 @@ To select, append ~MIRYOKU_LAYERS=FLIP~ to the ~make~ command line when building | U_NP | U_NP | BTN2 | BTN3 | BTN1 | -****** Mouse Buttons Overlay - -#+NAME: mbo-flip -| | | | | | | | | | | -| LGUI | LALT | LCTL | LSFT | | | LSFT | LCTL | LALT | LGUI | -| U_RDO | U_PST | U_CPY | U_CUT | U_UND | U_RDO | U_PST | U_CPY | U_CUT | U_UND | -| U_NP | U_NP | BTN2 | BTN3 | BTN1 | BTN1 | BTN3 | BTN2 | U_NP | U_NP | - - -****** Media +******* Media #+NAME: media-l | RGB_MOD | RGB_HUI | RGB_SAI | RGB_VAI | RGB_TOG | @@ -564,7 +521,7 @@ To select, append ~MIRYOKU_LAYERS=FLIP~ to the ~make~ command line when building | U_NP | U_NP | MUTE | MPLY | MSTP | -****** Num +******* Num #+NAME: num-r | [ | 7 | 8 | 9 | ] | @@ -573,7 +530,7 @@ To select, append ~MIRYOKU_LAYERS=FLIP~ to the ~make~ command line when building | MINS | 0 | DOT | U_NP | U_NP | -****** Sym +******* Sym #+NAME: sym-r | { | & | * | ( | } | @@ -582,7 +539,7 @@ To select, append ~MIRYOKU_LAYERS=FLIP~ to the ~make~ command line when building | _ | ( | ) | U_NP | U_NP | -****** Fun +******* Fun #+NAME: fun-r | PSCR | F7 | F8 | F9 | F12 | @@ -591,7 +548,7 @@ To select, append ~MIRYOKU_LAYERS=FLIP~ to the ~make~ command line when building | TAB | SPC | APP | U_NP | U_NP | -*** COMMENT Templates +**** COMMENT Templates #+NAME: tem | | | | | | | | | | | @@ -621,13 +578,16 @@ Duplicate base layer tap keys on thumbs rather than trans to enable auto-repeat. | U_NP | U_NP | ESC | SPC | TAB | -* Code Generation +** Code Generation + +The layout is maintained in emacs org-mode tables and converted to QMK keymap +data structures using embedded python scripts. -** Table Conversion Scripts +*** Table Conversion Scripts -*** table-layout-taphold +**** table-layout-taphold Produce base layer from separate tap and hold tables. @@ -669,7 +629,7 @@ return results : U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP -*** table-layout-half +**** table-layout-half Produce sub layers given layer name and corresponding table for single hand and incorporating mods and reset from base layer. Layer names must end with 'R' or @@ -726,12 +686,12 @@ return results : U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP -*** table-layout-full +**** table-layout-full Produce full layer from single table. Fill for unused keys is configurable. #+NAME: table-layout-full -#+BEGIN_SRC python :var table=mbo :var fill="TRNS" :var symbol_names_table=symbol-names :var nonkc_table=nonkc :tangle no :results verbatim +#+BEGIN_SRC python :var table=button :var fill="TRNS" :var symbol_names_table=symbol-names :var nonkc_table=nonkc :tangle no :results verbatim width = 9 symbol_names_dict = {} nonkc_tuple = tuple(nonkc_table[0]) @@ -757,33 +717,33 @@ return results #+END_SRC #+RESULTS: table-layout-full -: U_RDO, U_PST, U_CPY, U_CUT, U_UND, U_RDO, U_PST, U_CPY, U_CUT, U_UND, +: U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, : KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_TRNS, KC_TRNS, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, -: KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +: U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, : U_NP, U_NP, KC_BTN2, KC_BTN3, KC_BTN1, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP -*** table-enums +**** table-enums Produce layer enums from layer names in hold table. #+NAME: table-enums #+BEGIN_SRC python :var hold_table=hold :var mods_table=mods :tangle no mods_dict = dict.fromkeys(mods_table[0]) -results = 'enum layers { BASE, MBO, ' +layers = [ 'BASE', 'BUTTON' ] for hold_row in hold_table: for hold in hold_row: - if hold not in mods_dict and hold != '' and hold != 'U_NP' and hold != 'RESET': - results += hold + ', ' -results = results.rstrip(', ') + ' };' + if hold not in mods_dict and hold != '' and hold != 'U_NP' and hold != 'RESET' and hold not in layers: + layers.append(hold) +results = 'enum layers { ' + ', '.join(layers) + ' };' return results #+END_SRC #+RESULTS: table-enums -: enum layers { BASE, MBO, MEDIA, NAV, MOUSE, SYM, NUM, FUN }; +: enum layers { BASE, BUTTON, MEDIA, NAV, MOUSE, SYM, NUM, FUN }; -*** table-keycode-mappings +**** table-keycode-mappings Produce keycode mappings according to the provided table. @@ -816,7 +776,7 @@ return results : #define U_UND KC_UNDO -*** COMMENT python-version +**** COMMENT python-version C-c C-c in code block to update @@ -831,10 +791,10 @@ return sys.version : [GCC 5.4.0 20160609] -** Data +*** Data -*** symbol-names +**** symbol-names Symbol, name, and shifted symbol mappings for use in tables. @@ -862,7 +822,7 @@ Symbol, name, and shifted symbol mappings for use in tables. | 0 | 0 | ) | RPRN | -*** mods +**** mods Modifiers usable in hold table. Need to have the same name for ~KC_~ and ~_T~ versions. @@ -871,7 +831,7 @@ versions. | LSFT | LCTL | LALT | LGUI | ALGR | -*** nonkc +**** nonkc Keycodes that match any of these prefixes will not have ~KC_~ automatically prepended. @@ -880,7 +840,7 @@ prepended. | U_ | RGB_ | RESET | S( | C( | SCMD( | LCMD( | -*** header +**** header Header for tangled files. @@ -888,11 +848,11 @@ Header for tangled files. #+BEGIN_SRC C :main no :tangle no Copyright 2019 Manna Harbour https://github.com/manna-harbour/miryoku -generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +generated -*- buffer-read-only: t -*- #+END_SRC -*** license-qmk +**** license-qmk License for tangled QMK C source files. @@ -902,20 +862,21 @@ License for tangled QMK C source files. #+END_SRC -* Subset Mapping +** Subset Mapping The keymap, build options, and configuration are shared between keyboards. The -layout is mapped onto keyboards with different physical layouts as a subset. +layout is mapped onto keyboards with different physical layouts as a subset +without code duplication using the QMK userspace feature and C macros. -** Userspace +*** Userspace The keymap is defined for ~LAYOUT_miryoku~ which is 10x4, with the outer 2 positions on the bottom row unused and the rest of the bottom row being the thumb keys. -*** [[./rules.mk][users/manna-harbour_miryoku/rules.mk]] +**** [[./rules.mk][users/manna-harbour_miryoku/rules.mk]] Build options. Automatically included. @@ -957,7 +918,7 @@ endif #+END_SRC -*** [[./config.h][users/manna-harbour_miryoku/config.h]] +**** [[./config.h][users/manna-harbour_miryoku/config.h]] Config options. Automatically included. @@ -1000,7 +961,7 @@ Config options. Automatically included. #+END_SRC -*** [[./manna-harbour_miryoku.h][users/manna-harbour_miryoku/manna-harbour_miryoku.h]] +**** [[./manna-harbour_miryoku.h][users/manna-harbour_miryoku/manna-harbour_miryoku.h]] Keymap-related definitions. Included from ~manna-harbour_miryoku.c~. Can be included from keymap or layout ~keymap.c~ if needed. @@ -1034,7 +995,7 @@ included from keymap or layout ~keymap.c~ if needed. #+END_SRC -*** [[./manna-harbour_miryoku.c][users/manna-harbour_miryoku/manna-harbour_miryoku.c]] +**** [[./manna-harbour_miryoku.c][users/manna-harbour_miryoku/manna-harbour_miryoku.c]] Contains the keymap. Added from ~rules.mk~. @@ -1048,7 +1009,9 @@ Contains the keymap. Added from ~rules.mk~. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined MIRYOKU_LAYERS_FLIP [BASE] = LAYOUT_miryoku( - #if defined MIRYOKU_ALPHAS_COLEMAK + #if defined MIRYOKU_ALPHAS_AZERTY +<> + #elif defined MIRYOKU_ALPHAS_COLEMAK <> #elif defined MIRYOKU_ALPHAS_COLEMAKDHK <> @@ -1060,6 +1023,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { <> #elif defined MIRYOKU_ALPHAS_QWERTY <> + #elif defined MIRYOKU_ALPHAS_QWERTZ +<> #else <> #endif @@ -1085,9 +1050,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { <> ), #endif - [MBO] = LAYOUT_miryoku( -<> - ), [NUM] = LAYOUT_miryoku( <> ), @@ -1096,11 +1058,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [FUN] = LAYOUT_miryoku( <> - ) -, + ), #else [BASE] = LAYOUT_miryoku( - #if defined MIRYOKU_ALPHAS_COLEMAK + #if defined MIRYOKU_ALPHAS_AZERTY +<> + #elif defined MIRYOKU_ALPHAS_COLEMAK <> #elif defined MIRYOKU_ALPHAS_COLEMAKDHK <> @@ -1112,6 +1075,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { <> #elif defined MIRYOKU_ALPHAS_QWERTY <> + #elif defined MIRYOKU_ALPHAS_QWERTZ +<> #else <> #endif @@ -1137,9 +1102,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { <> ), #endif - [MBO] = LAYOUT_miryoku( -<> - ), [NUM] = LAYOUT_miryoku( <> ), @@ -1148,13 +1110,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [FUN] = LAYOUT_miryoku( <> - ) + ), #endif + [BUTTON] = LAYOUT_miryoku( +<> + ) }; #+END_SRC -** Layouts +*** Layouts To use the keymap on a keyboard supporting the layouts feature, ~LAYOUT_miryoku~ is defined as a macro mapping onto the layout's own ~LAYOUT~ macro, leaving the @@ -1170,7 +1135,7 @@ make planck/rev6:manna-harbour_miryoku:flash FORCE_LAYOUT=ortho_4x12 # ortho_4x1 #+END_SRC -*** 60_ansi +**** 60_ansi An angled ortho split layout is mapped onto the row-staggered keyboard. The rows are moved up to better position the thumb keys, the hands are separated as @@ -1185,6 +1150,11 @@ command line when building. [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-60_ansi-noreverseangle.png]] +Another alternative subset mapping is provided mapping only the 3x10 alphas, +plus spacebar for space / Nav, with the remainder being the default 60_ansi +keymap with semicolon in place of quote. To select this mapping, append +~MIRYOKU_MAPPING=LITE~ to the ~make~ command line when building. + Keyboards supporting this layout: alps64, amj60, bakeneko60, bm60poker, bm60rgb, do60, dp60, dz60, facew, gskt00, infinity60, jm60, kc60, kc60se, ok60, org60, paladin64, panc60, reviung61, smk60, v60_type_r, yd60mq, 1upkeyboards/1up60hse, 1upkeyboards/1up60rgb, 40percentclub/luddite, acheron/keebspcb, acheron/lasgweloth, ai03/polaris, akegata_denki/device_one, atxkb/1894, bioi/g60ble, bt66tech/bt66tech60, cannonkeys/an_c, cannonkeys/instant60, cannonkeys/practice60, clawsome/coupe, dm9records/tartan, duck/eagle_viper, evyd13/plain60, exclusive/e6_rgb, gh60/revc, gh60/satan, gh60/v1p3, handwired/xealousbrown, hineybush/h60, hs60/v1, keebio/wtf60, noxary/260, playkbtw/pk60, ryloo_studio/m0110, thevankeyboards/bananasplit, wilba_tech/zeal60, xd60/rev2, xd60/rev3, cannonkeys/db60/hotswap, cannonkeys/db60/j02, cannonkeys/db60/rev2, exclusive/e6v2/le, exclusive/e6v2/oe, foxlab/leaf60/universal, handwired/co60/rev1, handwired/co60/rev7, handwired/swiftrax/nodu, hs60/v2/ansi, inett_studio/sqx/universal, melgeek/mj61/rev1, melgeek/mj61/rev2, melgeek/mj63/rev1, melgeek/mj63/rev2, sentraq/s60_x/default, sentraq/s60_x/rgb. Example build command lines: @@ -1192,10 +1162,11 @@ Example build command lines: #+BEGIN_SRC sh :tangle no make dz60:manna-harbour_miryoku:flash # dz60 make dz60:manna-harbour_miryoku:flash MIRYOKU_MAPPING=NOREVERSEANGLE # dz60, without reverse column angle +make dz60:manna-harbour_miryoku:flash MIRYOKU_MAPPING=LITE # dz60, with lite mapping #+END_SRC -**** [[../../layouts/community/60_ansi/manna-harbour_miryoku/config.h][layouts/community/60_ansi/manna-harbour_miryoku/config.h]] +***** [[../../layouts/community/60_ansi/manna-harbour_miryoku/config.h][layouts/community/60_ansi/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1209,7 +1180,7 @@ Contains subset mapping. #define XXX KC_NO #if defined MIRYOKU_MAPPING_NOREVERSEANGLE -#define LAYOUT_miryoku(\ + #define LAYOUT_miryoku(\ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ @@ -1222,8 +1193,38 @@ K00, K01, K02, K03, K04, XXX, XXX, XXX, K05, K06, K07, K08, K09, XX XXX, K32, K33, K34, XXX, XXX, XXX, XXX, K35, K36, K37, XXX,\ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX\ ) +#elif defined MIRYOKU_MAPPING_LITE + #if defined MIRYOKU_LAYERS_FLIP + #define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_60_ansi( \ +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_TAB, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, KC_LBRC, KC_RBRC, KC_BSLS, \ +KC_CAPS, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KC_SCLN, KC_ENT, \ +KC_LSFT, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, KC_RSFT, \ +KC_LCTL, KC_LGUI, KC_LALT, K36, KC_RALT, KC_RGUI, KC_APP, KC_RCTL \ +) + #else + #define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_60_ansi( \ +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_TAB, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, KC_LBRC, KC_RBRC, KC_BSLS, \ +KC_CAPS, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KC_SCLN, KC_ENT, \ +KC_LSFT, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, KC_RSFT, \ +KC_LCTL, KC_LGUI, KC_LALT, K33, KC_RALT, KC_RGUI, KC_APP, KC_RCTL \ +) + #endif #else -#define LAYOUT_miryoku(\ + #define LAYOUT_miryoku(\ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ @@ -1240,7 +1241,7 @@ XXX, XXX, K00, K01, K02, K03, K04, XXX, K05, K06, K07, K08, K09, XX #+END_SRC -**** [[../../layouts/community/60_ansi/manna-harbour_miryoku/keymap.c][layouts/community/60_ansi/manna-harbour_miryoku/keymap.c]] +***** [[../../layouts/community/60_ansi/manna-harbour_miryoku/keymap.c][layouts/community/60_ansi/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1251,7 +1252,7 @@ Required by the build system. #+END_SRC -*** ergodox +**** ergodox For the ergodox layout, the main 5x3 alphas are used as usual. The primary and secondary thumb keys are the inner and outer 2u thumb keys and the tertiary @@ -1270,7 +1271,7 @@ make ergodox_ez:manna-harbour_miryoku:flash # ergodox_ez #+END_SRC -**** [[../../layouts/community/ergodox/manna-harbour_miryoku/config.h][layouts/community/ergodox/manna-harbour_miryoku/config.h]] +***** [[../../layouts/community/ergodox/manna-harbour_miryoku/config.h][layouts/community/ergodox/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1302,7 +1303,7 @@ XXX, XXX, XXX, XXX, K32, K37, XXX, XXX, XXX, XXX,\ #+END_SRC -**** [[../../layouts/community/ergodox/manna-harbour_miryoku/keymap.c][layouts/community/ergodox/manna-harbour_miryoku/keymap.c]] +***** [[../../layouts/community/ergodox/manna-harbour_miryoku/keymap.c][layouts/community/ergodox/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1313,7 +1314,9 @@ Required by the build system. #+END_SRC -*** ortho_4x10 +**** ortho_4x10 + +An alternative with 180 degree rotation is also provided to enable the USB cable to be relocated for use with laptops. To select this mapping, append ~MIRYOKU_MAPPING=ROTATE~ to the ~make~ command line when building. Keyboards supporting this layout: newgame40, nimrod, marksard/rhymestone, pabile/p40. @@ -1321,10 +1324,11 @@ Example build command lines: #+BEGIN_SRC sh :tangle no make marksard/rhymestone:manna-harbour_miryoku:flash # marksard/rhymestone +make pabile/p40:manna-harbour_miryoku:flash MIRYOKU_MAPPING=ROTATE # pabile/p40, rotate #+END_SRC -**** [[../../layouts/community/ortho_4x10/manna-harbour_miryoku/config.h][layouts/community/ortho_4x10/manna-harbour_miryoku/config.h]] +***** [[../../layouts/community/ortho_4x10/manna-harbour_miryoku/config.h][layouts/community/ortho_4x10/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1335,22 +1339,39 @@ Contains subset mapping. #pragma once -#define LAYOUT_miryoku(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT_ortho_4x10(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ -KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO\ +#define XXX KC_NO + +#if defined MIRYOKU_MAPPING_ROTATE +#define LAYOUT_miryoku( \ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_ortho_4x10( \ +XXX, XXX, K37, K36, K35, K34, K33, K32, XXX, XXX, \ +K29, K28, K27, K26, K25, K24, K23, K22, K21, K20, \ +K19, K18, K17, K16, K15, K14, K13, K12, K11, K10, \ +K09, K08, K07, K06, K05, K04, K03, K02, K01, K00 \ ) +#else +#define LAYOUT_miryoku(\ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_ortho_4x10( \ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ +XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX \ +) +#endif #+END_SRC -**** [[../../layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c][layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c]] +***** [[../../layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c][layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1361,7 +1382,7 @@ Required by the build system. #+END_SRC -*** ortho_4x12 +**** ortho_4x12 For the ortho_4x12 layout, the middle two columns, and the 2 keys on each end of the bottom row are unused. This allows the hands to be positioned without ulnar @@ -1398,7 +1419,7 @@ make keebio/levinson:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_THUMBS #+END_SRC -**** [[../../layouts/community/ortho_4x12/manna-harbour_miryoku/config.h][layouts/community/ortho_4x12/manna-harbour_miryoku/config.h]] +***** [[../../layouts/community/ortho_4x12/manna-harbour_miryoku/config.h][layouts/community/ortho_4x12/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1452,7 +1473,7 @@ KC_NO, KC_NO, K32, K33, K34, KC_NO, KC_NO, K35, K36, K37, KC_NO, KC_ #+END_SRC -**** [[../../layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c][layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c]] +***** [[../../layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c][layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1463,7 +1484,7 @@ Required by the build system. #+END_SRC -*** ortho_5x12 +**** ortho_5x12 As per ortho_4x12 but the top row is unused. @@ -1480,7 +1501,7 @@ make keebio/nyquist/rev3:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_TH #+END_SRC -**** [[../../layouts/community/ortho_5x12/manna-harbour_miryoku/config.h][layouts/community/ortho_5x12/manna-harbour_miryoku/config.h]] +***** [[../../layouts/community/ortho_5x12/manna-harbour_miryoku/config.h][layouts/community/ortho_5x12/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1537,7 +1558,7 @@ KC_NO, KC_NO, K32, K33, K34, KC_NO, KC_NO, K35, K36, K37, KC_NO, KC_ #+END_SRC -**** [[../../layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c][layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c]] +***** [[../../layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c][layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1548,7 +1569,7 @@ Required by the build system. #+END_SRC -*** ortho_5x15 +**** ortho_5x15 For the ortho_5x15 layout, the top row, middle 5 columns, and the 2 keys on each end of the bottom row are unused. This allows the hands to be positioned @@ -1574,7 +1595,7 @@ make idobo:manna-harbour_miryoku:flash # idobo #+END_SRC -**** [[../../layouts/community/ortho_5x15/manna-harbour_miryoku/config.h][layouts/community/ortho_5x15/manna-harbour_miryoku/config.h]] +***** [[../../layouts/community/ortho_5x15/manna-harbour_miryoku/config.h][layouts/community/ortho_5x15/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1621,7 +1642,7 @@ XXX, XXX, K32, K33, K34, XXX, XXX, XXX, XXX, XXX, K35, K36, K37, XXX, XXX\ #+RESULTS: -**** [[../../layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c][layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c]] +***** [[../../layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c][layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1632,7 +1653,7 @@ Required by the build system. #+END_SRC -*** planck_mit +**** planck_mit The middle two columns including the middle 2u key, and the 2 keys on each end of the bottom row are unused. @@ -1647,7 +1668,7 @@ make planck/rev6:manna-harbour_miryoku:flash FORCE_LAYOUT=planck_mit # planck re #+END_SRC -**** [[../../layouts/community/planck_mit/manna-harbour_miryoku/config.h][layouts/community/planck_mit/manna-harbour_miryoku/config.h]] +***** [[../../layouts/community/planck_mit/manna-harbour_miryoku/config.h][layouts/community/planck_mit/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1673,7 +1694,7 @@ KC_NO, KC_NO, K32, K33, K34, KC_NO, K35, K36, K37, KC_NO, KC_ #+END_SRC -**** [[../../layouts/community/planck_mit/manna-harbour_miryoku/keymap.c][layouts/community/planck_mit/manna-harbour_miryoku/keymap.c]] +***** [[../../layouts/community/planck_mit/manna-harbour_miryoku/keymap.c][layouts/community/planck_mit/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1684,7 +1705,7 @@ Required by the build system. #+END_SRC -*** split_3x5_3 +**** split_3x5_3 Keyboards supporting this layout: arch_36, boardsource/microdox, centromere, crkbd, eek, miniaxe, minidox/rev1, pteron36, squiggle/rev1, suihankey/split/rev1. @@ -1696,7 +1717,7 @@ make minidox:manna-harbour_miryoku:flash # minidox #+END_SRC -**** [[../../layouts/community/split_3x5_3/manna-harbour_miryoku/config.h][layouts/community/split_3x5_3/manna-harbour_miryoku/config.h]] +***** [[../../layouts/community/split_3x5_3/manna-harbour_miryoku/config.h][layouts/community/split_3x5_3/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1722,7 +1743,7 @@ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ #+END_SRC -**** [[../../layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c][layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c]] +***** [[../../layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c][layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1733,7 +1754,7 @@ Required by the build system. #+END_SRC -*** split_3x6_3 +**** split_3x6_3 The outer columns are unused. @@ -1747,7 +1768,7 @@ make crkbd:manna-harbour_miryoku:flash # crkbd #+END_SRC -**** [[../../layouts/community/split_3x6_3/manna-harbour_miryoku/config.h][layouts/community/split_3x6_3/manna-harbour_miryoku/config.h]] +***** [[../../layouts/community/split_3x6_3/manna-harbour_miryoku/config.h][layouts/community/split_3x6_3/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1773,7 +1794,7 @@ KC_NO, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 #+END_SRC -**** [[../../layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c][layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c]] +***** [[../../layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c][layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1784,14 +1805,14 @@ Required by the build system. #+END_SRC -** Keyboards +*** Keyboards To use the keymap on a keyboard which does not support the layouts feature, ~LAYOUT_miryoku~ is defined as a macro mapping onto the keyboard's own ~LAYOUT~ macro, leaving the unused keys as ~KC_NO~. -*** atreus +**** atreus Only the main 5x3 alphas and the inner 3 thumb keys are used. @@ -1802,7 +1823,7 @@ make atreus:manna-harbour_miryoku:flash #+END_SRC -**** [[../../keyboards/atreus/keymaps/manna-harbour_miryoku/config.h][keyboards/atreus/keymaps/manna-harbour_miryoku/config.h]] +***** [[../../keyboards/atreus/keymaps/manna-harbour_miryoku/config.h][keyboards/atreus/keymaps/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1830,7 +1851,7 @@ XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX\ #+END_SRC -**** [[../../keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c][keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c]] +***** [[../../keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c][keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1841,7 +1862,57 @@ Required by the build system. #+END_SRC -*** ergotravel +**** bastardkb/scylla + +To build for this keyboard, + +#+BEGIN_SRC sh :tangle no +make bastardkb/scylla:manna-harbour_miryoku:flash +#+END_SRC + + +***** [[../../keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h][keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h]] + +Contains subset mapping. + +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h +// <
> + +<> + +#pragma once + +#define XXX KC_NO + +#define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_split_4x6_5( \ +XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \ +XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ +XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ +XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ + K32, K33, K34, K35, K36, K37, \ + XXX, XXX, XXX, XXX \ +) +#+END_SRC + + +***** [[../../keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c][keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c]] + +Required by the build system. + +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c +// <
> + +<> +#+END_SRC + + +**** ergotravel To build for this keyboard, @@ -1850,7 +1921,7 @@ make ergotravel:manna-harbour_miryoku:flash #+END_SRC -**** [[../../keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h][keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h]] +***** [[../../keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h][keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1878,7 +1949,7 @@ XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX \ #+END_SRC -**** [[../../keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c][keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c]] +***** [[../../keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c][keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1889,7 +1960,7 @@ Required by the build system. #+END_SRC -*** for_science +**** for_science The top row is unused. @@ -1900,7 +1971,7 @@ make for_science:manna-harbour_miryoku:flash #+END_SRC -**** [[../../keyboards/for_science/keymaps/manna-harbour_miryoku/config.h][keyboards/for_science/keymaps/manna-harbour_miryoku/config.h]] +***** [[../../keyboards/for_science/keymaps/manna-harbour_miryoku/config.h][keyboards/for_science/keymaps/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1929,7 +2000,7 @@ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ #+END_SRC -**** [[../../keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c][keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c]] +***** [[../../keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c][keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1940,7 +2011,7 @@ Required by the build system. #+END_SRC -*** gergo +**** gergo Only the main 5x3 alphas and the outer 3 thumb keys are used. @@ -1951,7 +2022,7 @@ make gergo:manna-harbour_miryoku:flash #+END_SRC -**** [[../../keyboards/gergo/keymaps/manna-harbour_miryoku/config.h][keyboards/gergo/keymaps/manna-harbour_miryoku/config.h]] +***** [[../../keyboards/gergo/keymaps/manna-harbour_miryoku/config.h][keyboards/gergo/keymaps/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -1979,7 +2050,7 @@ XXX, K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29, #+END_SRC -**** [[../../keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c][keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c]] +***** [[../../keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c][keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -1990,7 +2061,7 @@ Required by the build system. #+END_SRC -*** handwired/dactyl_manuform/4x5 +**** handwired/dactyl_manuform/4x5 Only the main 5x3 alphas and the main 3 thumb keys are used. @@ -2001,7 +2072,7 @@ make handwired/dactyl_manuform/4x5:manna-harbour_miryoku:flash #+END_SRC -**** [[../../keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h][keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h]] +***** [[../../keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h][keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -2032,7 +2103,7 @@ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ #+END_SRC -**** [[../../keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c][keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c]] +***** [[../../keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c][keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -2043,7 +2114,7 @@ Required by the build system. #+END_SRC -*** handwired/dactyl_manuform/5x6 +**** handwired/dactyl_manuform/5x6 Only the main 5x3 alphas and the main 3 thumb keys are used. @@ -2054,7 +2125,7 @@ make handwired/dactyl_manuform/5x6:manna-harbour_miryoku:flash #+END_SRC -**** [[../../keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h][keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h]] +***** [[../../keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h][keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -2086,7 +2157,7 @@ XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, X #+END_SRC -**** [[../../keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c][keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c]] +***** [[../../keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c][keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -2097,7 +2168,7 @@ Required by the build system. #+END_SRC -*** keebio/iris +**** keebio/iris Only the main 5x3 alphas and the bottom 3 thumb keys are used. @@ -2108,7 +2179,7 @@ make keebio/iris/rev4:manna-harbour_miryoku:flash #+END_SRC -**** [[../../keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h][keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h]] +***** [[../../keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h][keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -2137,7 +2208,7 @@ XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ #+END_SRC -**** [[../../keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c][keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c]] +***** [[../../keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c][keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -2148,7 +2219,7 @@ Required by the build system. #+END_SRC -*** keyboardio/atreus +**** keyboardio/atreus Only the main 5x3 alphas and the inner 3 thumb keys are used. @@ -2159,7 +2230,7 @@ make keyboardio/atreus:manna-harbour_miryoku:flash #+END_SRC -**** [[../../keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h][keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h]] +***** [[../../keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h][keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -2187,7 +2258,7 @@ XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX \ #+END_SRC -**** [[../../keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c][keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c]] +***** [[../../keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c][keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -2198,7 +2269,214 @@ Required by the build system. #+END_SRC -*** kyria +**** lily58 + +Only the main 5x3 alphas and the inner 3 thumb keys are used. + +To build for this keyboard, + +#+BEGIN_SRC sh :tangle no +make lily58:manna-harbour_miryoku:flash +#+END_SRC + + +***** [[../../keyboards/lily58/keymaps/manna-harbour_miryoku/config.h][keyboards/lily58/keymaps/manna-harbour_miryoku/config.h]] + +Contains subset mapping. + +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/lily58/keymaps/manna-harbour_miryoku/config.h +// <
> + +<> + +#pragma once + +#define XXX KC_NO + +#define LAYOUT_miryoku(\ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ +)\ +LAYOUT(\ +XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ +XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX,\ +XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX,\ +XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ + XXX, K32, K33, K34, K35, K36, K37, XXX\ +) +#+END_SRC + + +***** [[../../keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c][keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c]] + +Required by the build system. + +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c +// <
> + +<> +#+END_SRC + + +**** moonlander + +The main 5x3 alphas are used as usual. The primary, secondary, and tertiary +thumb keys are the closest piano key, middle piano key, and the innermost key of +the partial bottom row, respectively. The remaining keys are unused. + +To build for this keyboard, + +#+BEGIN_SRC sh :tangle no +make moonlander:manna-harbour_miryoku:flash +#+END_SRC + + +***** [[../../keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h][keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h]] + +Contains subset mapping. + +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h +// <
> + +<> + +#pragma once + +#define XXX KC_NO + +#define LAYOUT_miryoku(\ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ +)\ +LAYOUT_moonlander(\ +XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ +XXX, K00, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, K09, XXX,\ +XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX,\ +XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX,\ +XXX, XXX, XXX, XXX, K32, XXX, XXX, K37, XXX, XXX, XXX, XXX,\ + K33, K34, XXX, XXX, K35, K36\ +) +#+END_SRC + + +***** [[../../keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c][keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c]] + +Required by the build system. + +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c +// <
> + +<> +#+END_SRC + + +**** redox_w + +Only the main 5x3 alphas and the main 3 thumb keys are used. + +To build for this keyboard, + +#+BEGIN_SRC sh :tangle no +make redox_w:manna-harbour_miryoku:flash +#+END_SRC + + +***** [[../../keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h][keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h]] + +Contains subset mapping. + +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h +// <
> + +<> + +#pragma once + +#define XXX KC_NO + +#define LAYOUT_miryoku(\ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ +)\ +LAYOUT(\ +XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ +XXX, K00, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, K09, XXX,\ +XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX,\ +XXX, K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ +XXX, XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX, XXX\ +) +#+END_SRC + +#+RESULTS: + + +***** [[../../keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c][keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c]] + +Required by the build system. + +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c +// <
> + +<> +#+END_SRC + + +**** sofle + +To build for this keyboard, + +#+BEGIN_SRC sh :tangle no +make sofle:manna-harbour_miryoku:flash +#+END_SRC + + +***** [[../../keyboards/sofle/keymaps/manna-harbour_miryoku/config.h][keyboards/sofle/keymaps/manna-harbour_miryoku/config.h]] + +Contains subset mapping. + +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/sofle/keymaps/manna-harbour_miryoku/config.h +// <
> + +<> + +#pragma once + +#define XXX KC_NO + +#define LAYOUT_miryoku(\ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ +)\ +LAYOUT(\ +XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ +XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX,\ +XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX,\ +XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ + XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX\ +) +#+END_SRC + + +***** [[../../keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c][keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c]] + +Required by the build system. + +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c +// <
> + +<> +#+END_SRC + + +**** splitkb/kyria Only the main 5x3 alphas and the middle 3 lower thumb keys are used. @@ -2214,16 +2492,16 @@ position in the direction of thumb extension. To select this mapping, append To build for this keyboard, #+BEGIN_SRC sh :tangle no -make kyria:manna-harbour_miryoku:flash -make kyria:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_THUMBS # extended thumb position +make splitkb/kyria:manna-harbour_miryoku:flash +make splitkb/kyria:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_THUMBS # extended thumb position #+END_SRC -**** [[../../keyboards/kyria/keymaps/manna-harbour_miryoku/config.h][keyboards/kyria/keymaps/manna-harbour_miryoku/config.h]] +***** [[../../keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h][keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h]] Contains subset mapping. -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/kyria/keymaps/manna-harbour_miryoku/config.h +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h // <
> <> @@ -2262,225 +2540,18 @@ XXX, K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29, #+END_SRC -**** [[../../keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c][keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c]] +***** [[../../keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c][keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c]] Required by the build system. -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c +#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c // <
> <> #+END_SRC -*** lily58 - -Only the main 5x3 alphas and the inner 3 thumb keys are used. - -To build for this keyboard, - -#+BEGIN_SRC sh :tangle no -make lily58:manna-harbour_miryoku:flash -#+END_SRC - - -**** [[../../keyboards/lily58/keymaps/manna-harbour_miryoku/config.h][keyboards/lily58/keymaps/manna-harbour_miryoku/config.h]] - -Contains subset mapping. - -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/lily58/keymaps/manna-harbour_miryoku/config.h -// <
> - -<> - -#pragma once - -#define XXX KC_NO - -#define LAYOUT_miryoku(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT(\ -XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX,\ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX,\ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ - XXX, K32, K33, K34, K35, K36, K37, XXX\ -) -#+END_SRC - - -**** [[../../keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c][keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c]] - -Required by the build system. - -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c -// <
> - -<> -#+END_SRC - - -*** moonlander - -The main 5x3 alphas are used as usual. The primary, secondary, and tertiary -thumb keys are the closest piano key, middle piano key, and the innermost key of -the partial bottom row, respectively. The remaining keys are unused. - -To build for this keyboard, - -#+BEGIN_SRC sh :tangle no -make moonlander:manna-harbour_miryoku:flash -#+END_SRC - - -**** [[../../keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h][keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h]] - -Contains subset mapping. - -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h -// <
> - -<> - -#pragma once - -#define XXX KC_NO - -#define LAYOUT_miryoku(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT_moonlander(\ -XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ -XXX, K00, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, K09, XXX,\ -XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX,\ -XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX,\ -XXX, XXX, XXX, XXX, K32, XXX, XXX, K37, XXX, XXX, XXX, XXX,\ - K33, K34, XXX, XXX, K35, K36\ -) -#+END_SRC - - -**** [[../../keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c][keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c]] - -Required by the build system. - -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c -// <
> - -<> -#+END_SRC - - -*** redox_w - -Only the main 5x3 alphas and the main 3 thumb keys are used. - -To build for this keyboard, - -#+BEGIN_SRC sh :tangle no -make redox_w:manna-harbour_miryoku:flash -#+END_SRC - - -**** [[../../keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h][keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h]] - -Contains subset mapping. - -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h -// <
> - -<> - -#pragma once - -#define XXX KC_NO - -#define LAYOUT_miryoku(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT(\ -XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ -XXX, K00, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, K09, XXX,\ -XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX,\ -XXX, K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ -XXX, XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX, XXX\ -) -#+END_SRC - -#+RESULTS: - - -**** [[../../keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c][keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c]] - -Required by the build system. - -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c -// <
> - -<> -#+END_SRC - - -*** sofle - -To build for this keyboard, - -#+BEGIN_SRC sh :tangle no -make sofle:manna-harbour_miryoku:flash -#+END_SRC - - -**** [[../../keyboards/sofle/keymaps/manna-harbour_miryoku/config.h][keyboards/sofle/keymaps/manna-harbour_miryoku/config.h]] - -Contains subset mapping. - -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/sofle/keymaps/manna-harbour_miryoku/config.h -// <
> - -<> - -#pragma once - -#define XXX KC_NO - -#define LAYOUT_miryoku(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT(\ -XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX,\ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX,\ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ - XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX\ -) -#+END_SRC - - -**** [[../../keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c][keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c]] - -Required by the build system. - -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c -// <
> - -<> -#+END_SRC - - -*** torn +**** torn To build for this keyboard, @@ -2489,7 +2560,7 @@ make torn:manna-harbour_miryoku:flash #+END_SRC -**** [[../../keyboards/torn/keymaps/manna-harbour_miryoku/config.h][keyboards/torn/keymaps/manna-harbour_miryoku/config.h]] +***** [[../../keyboards/torn/keymaps/manna-harbour_miryoku/config.h][keyboards/torn/keymaps/manna-harbour_miryoku/config.h]] Contains subset mapping. @@ -2517,7 +2588,7 @@ KC_NO, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 #+RESULTS: -**** [[../../keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c][keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c]] +***** [[../../keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c][keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c]] Required by the build system. @@ -2528,7 +2599,7 @@ Required by the build system. #+END_SRC -** Customisation +*** Customisation To add customisations to a keyboard or layout while importing the miryoku keymap, copy ~config.h~ and ~keymap.c~ from the keyboard or layout's @@ -2542,7 +2613,7 @@ layout and modify ~LAYOUT_miryoku~ in ~config.h~ referring to the keyboard or layout's ~LAYOUT~ macro. -*** Examples +**** Examples To use any of the examples, create a new branch from the miryoku development branch and follow the same steps as seen in the commit messages and code changes @@ -2550,28 +2621,28 @@ in the examples, making the appropriate changes for your keyboard and desired customisations. -**** Add Layers +***** Add Layers - https://github.com/manna-harbour/qmk_firmware/commits/miryoku-examples-add-layers/keyboards/crkbd/keymaps/miryoku-examples-add-layers -* Experimental Features +** Experimental Features -** Bilateral Combinations +*** Bilateral Combinations - [[https://github.com/manna-harbour/qmk_firmware/issues/29][Bilateral Combinations]] -** Retro Shift +*** Retro Shift - [[https://github.com/manna-harbour/qmk_firmware/issues/33][Retro Shift]] -* Documentation :noexport_1: +** Documentation -** QMK +*** QMK - https://docs.qmk.fm/ - https://docs.qmk.fm/#/config_options @@ -2588,18 +2659,13 @@ customisations. - https://docs.qmk.fm/#/tap_hold -** Org Mode +*** Org Mode - https://orgmode.org/ - https://orgmode.org/manual/Tables.html - https://orgmode.org/manual/Working-with-Source-Code.html -* Contact - -For feature requests or issues with code or documentation please -[[https://github.com/manna-harbour/qmk_firmware/issues/new][open an issue]]. - -For more general discussion please [[https://github.com/manna-harbour/manna-harbour/tree/main/contact][contact Manna Harbour]]. +** [[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png]] diff --git a/users/manna-harbour_miryoku/rules.mk b/users/manna-harbour_miryoku/rules.mk index 809e630354..085f0b5019 100644 --- a/users/manna-harbour_miryoku/rules.mk +++ b/users/manna-harbour_miryoku/rules.mk @@ -1,6 +1,6 @@ # Copyright 2019 Manna Harbour # https://github.com/manna-harbour/miryoku -# generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- +# generated -*- buffer-read-only: t -*- MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control From 79a34d8ec3073e49bae6d49fa15867b08299b652 Mon Sep 17 00:00:00 2001 From: hadi Date: Fri, 15 Oct 2021 23:06:43 -0700 Subject: [PATCH 37/48] [Keyboard] Adding CK60 and CK65 (#14737) Co-authored-by: Ryan --- keyboards/senselessclay/ck60/ck60.c | 17 +++ keyboards/senselessclay/ck60/ck60.h | 35 ++++++ keyboards/senselessclay/ck60/config.h | 119 ++++++++++++++++++ keyboards/senselessclay/ck60/info.json | 10 ++ .../ck60/keymaps/default/keymap.c | 51 ++++++++ .../senselessclay/ck60/keymaps/via/keymap.c | 51 ++++++++ .../senselessclay/ck60/keymaps/via/rules.mk | 1 + keyboards/senselessclay/ck60/readme.md | 19 +++ keyboards/senselessclay/ck60/rules.mk | 21 ++++ keyboards/senselessclay/ck65/ck65.c | 17 +++ keyboards/senselessclay/ck65/ck65.h | 35 ++++++ keyboards/senselessclay/ck65/config.h | 119 ++++++++++++++++++ keyboards/senselessclay/ck65/info.json | 10 ++ .../ck65/keymaps/default/keymap.c | 51 ++++++++ .../senselessclay/ck65/keymaps/via/keymap.c | 51 ++++++++ .../senselessclay/ck65/keymaps/via/rules.mk | 1 + keyboards/senselessclay/ck65/readme.md | 19 +++ keyboards/senselessclay/ck65/rules.mk | 21 ++++ 18 files changed, 648 insertions(+) create mode 100644 keyboards/senselessclay/ck60/ck60.c create mode 100644 keyboards/senselessclay/ck60/ck60.h create mode 100644 keyboards/senselessclay/ck60/config.h create mode 100644 keyboards/senselessclay/ck60/info.json create mode 100644 keyboards/senselessclay/ck60/keymaps/default/keymap.c create mode 100644 keyboards/senselessclay/ck60/keymaps/via/keymap.c create mode 100644 keyboards/senselessclay/ck60/keymaps/via/rules.mk create mode 100644 keyboards/senselessclay/ck60/readme.md create mode 100644 keyboards/senselessclay/ck60/rules.mk create mode 100644 keyboards/senselessclay/ck65/ck65.c create mode 100644 keyboards/senselessclay/ck65/ck65.h create mode 100644 keyboards/senselessclay/ck65/config.h create mode 100644 keyboards/senselessclay/ck65/info.json create mode 100644 keyboards/senselessclay/ck65/keymaps/default/keymap.c create mode 100644 keyboards/senselessclay/ck65/keymaps/via/keymap.c create mode 100644 keyboards/senselessclay/ck65/keymaps/via/rules.mk create mode 100644 keyboards/senselessclay/ck65/readme.md create mode 100644 keyboards/senselessclay/ck65/rules.mk diff --git a/keyboards/senselessclay/ck60/ck60.c b/keyboards/senselessclay/ck60/ck60.c new file mode 100644 index 0000000000..a2fe38aac7 --- /dev/null +++ b/keyboards/senselessclay/ck60/ck60.c @@ -0,0 +1,17 @@ +/* Copyright 2020 Hadi Iskandarani + * + * 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 "ck60.h" \ No newline at end of file diff --git a/keyboards/senselessclay/ck60/ck60.h b/keyboards/senselessclay/ck60/ck60.h new file mode 100644 index 0000000000..fa83202dfa --- /dev/null +++ b/keyboards/senselessclay/ck60/ck60.h @@ -0,0 +1,35 @@ +/* Copyright 2020 Hadi Iskandarani + * + * 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( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \ + K400, K401, K402, K406, K410, K411, K412, K413 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, ____ }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, ____ }, \ + { K400, K401, K402, ____, ____, ____, K406, ____, ____, ____, K410, K411, K412, K413 } \ +} diff --git a/keyboards/senselessclay/ck60/config.h b/keyboards/senselessclay/ck60/config.h new file mode 100644 index 0000000000..7e4a493701 --- /dev/null +++ b/keyboards/senselessclay/ck60/config.h @@ -0,0 +1,119 @@ +/* +Copyright 2020 Hadi Iskandarani + +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 0x4849 // HI +#define PRODUCT_ID 0x0601 // 60rgb (1) +#define DEVICE_VER 0x0000 // rev0 +#define MANUFACTURER senselessclay +#define PRODUCT ck60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* + * 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) + * + */ +/* rev0 */ +#define MATRIX_ROW_PINS { B3, B2, F1, F4, F5 } +#define MATRIX_COL_PINS { F0, D5, D3, D2, D1, D0, C7, C6, B6, B5, B4, D7, D6, D4 } + +//#define UNUSED_PINS { B0, B7, E6 } + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* 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 + +/* 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 + * + * 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 + +/* 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 + +/* RGB Backlighting */ +#define RGB_DI_PIN B1 +#define RGBLED_NUM 62 +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_LIMIT_VAL 128 +#define RGBLIGHT_SLEEP +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+5 \ No newline at end of file diff --git a/keyboards/senselessclay/ck60/info.json b/keyboards/senselessclay/ck60/info.json new file mode 100644 index 0000000000..e188740c3c --- /dev/null +++ b/keyboards/senselessclay/ck60/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "CK60", + "url": "https://candykeys.com", + "maintainer": "hadi", + "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.75, "y":1, "w":1.25, "h":2}, {"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":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":2.75}, {"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}] + } + } +} \ No newline at end of file diff --git a/keyboards/senselessclay/ck60/keymaps/default/keymap.c b/keyboards/senselessclay/ck60/keymaps/default/keymap.c new file mode 100644 index 0000000000..2ac1e06981 --- /dev/null +++ b/keyboards/senselessclay/ck60/keymaps/default/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2020 Hadi Iskandarani + * + * 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 layers { + _0, + _1, + _2, + _3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_0] = LAYOUT( + /*Base*/ + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, + KC_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL), + [_1] = LAYOUT( + 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, + KC_CAPS, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; \ No newline at end of file diff --git a/keyboards/senselessclay/ck60/keymaps/via/keymap.c b/keyboards/senselessclay/ck60/keymaps/via/keymap.c new file mode 100644 index 0000000000..2ac1e06981 --- /dev/null +++ b/keyboards/senselessclay/ck60/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2020 Hadi Iskandarani + * + * 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 layers { + _0, + _1, + _2, + _3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_0] = LAYOUT( + /*Base*/ + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, + KC_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL), + [_1] = LAYOUT( + 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, + KC_CAPS, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; \ No newline at end of file diff --git a/keyboards/senselessclay/ck60/keymaps/via/rules.mk b/keyboards/senselessclay/ck60/keymaps/via/rules.mk new file mode 100644 index 0000000000..036bd6d1c3 --- /dev/null +++ b/keyboards/senselessclay/ck60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/senselessclay/ck60/readme.md b/keyboards/senselessclay/ck60/readme.md new file mode 100644 index 0000000000..32700967da --- /dev/null +++ b/keyboards/senselessclay/ck60/readme.md @@ -0,0 +1,19 @@ +# ck60 + +A 60% keyboard implementation based around the ATMEGA32u4 with per-key RGB. + +* Keyboard Maintainer: [hadi](https://github.com/senselessclay) +* Hardware Supported: CK60 PCB +* Hardware Availability: https://candykeys.com/ + +Make example for this keyboard (after setting up your build environment): + + make senselessclay/ck60:default + +Flashing example for this keyboard: + + make senselessclay/ck60: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). + +If you'd like to reset the board into bootloader mode for flashing using [QMK Toolbox](https://github.com/qmk/qmk_toolbox), simply press the reset button directly above the controller assembly on the bottom side of the PCB. \ No newline at end of file diff --git a/keyboards/senselessclay/ck60/rules.mk b/keyboards/senselessclay/ck60/rules.mk new file mode 100644 index 0000000000..56ba35b4b8 --- /dev/null +++ b/keyboards/senselessclay/ck60/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# 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 +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/senselessclay/ck65/ck65.c b/keyboards/senselessclay/ck65/ck65.c new file mode 100644 index 0000000000..77128d9bf8 --- /dev/null +++ b/keyboards/senselessclay/ck65/ck65.c @@ -0,0 +1,17 @@ +/* Copyright 2020 Hadi Iskandarani + * + * 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 "ck65.h" \ No newline at end of file diff --git a/keyboards/senselessclay/ck65/ck65.h b/keyboards/senselessclay/ck65/ck65.h new file mode 100644 index 0000000000..1d258ee346 --- /dev/null +++ b/keyboards/senselessclay/ck65/ck65.h @@ -0,0 +1,35 @@ +/* Copyright 2020 Hadi Iskandarani + * + * 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( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ + K400, K401, K402, K406, K409, K410, K411, K412, K413, K414 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, ____, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ + { K400, K401, K402, ____, ____, ____, K406, ____, ____, K409, K410, K411, K412, K413, K414 } \ +} diff --git a/keyboards/senselessclay/ck65/config.h b/keyboards/senselessclay/ck65/config.h new file mode 100644 index 0000000000..772b2e410a --- /dev/null +++ b/keyboards/senselessclay/ck65/config.h @@ -0,0 +1,119 @@ +/* +Copyright 2020 Hadi Iskandarani + +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 0x4849 // HI +#define PRODUCT_ID 0x0651 // 65rgb (1) +#define DEVICE_VER 0x0000 // rev0 +#define MANUFACTURER senselessclay +#define PRODUCT ck65 + +/* 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) + * + */ +/* rev0 */ +#define MATRIX_ROW_PINS { B3, B2, F1, F4, F5 } +#define MATRIX_COL_PINS { F0, D5, D3, D2, D1, D0, F7, C7, C6, B6, B5, B4, D7, D6, D4 } + +//#define UNUSED_PINS { B0, B7, E6 } + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* 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 + +/* 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 + * + * 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 + +/* 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 + +/* RGB Backlighting */ +#define RGB_DI_PIN B1 +#define RGBLED_NUM 69 +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_LIMIT_VAL 122 +#define RGBLIGHT_SLEEP +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+5 \ No newline at end of file diff --git a/keyboards/senselessclay/ck65/info.json b/keyboards/senselessclay/ck65/info.json new file mode 100644 index 0000000000..fbcc959376 --- /dev/null +++ b/keyboards/senselessclay/ck65/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "CK65", + "url": "https://candykeys.com", + "maintainer": "hadi", + "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":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.75, "y":1, "w":1.25, "h":2}, {"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}, {"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}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + } + } +} \ No newline at end of file diff --git a/keyboards/senselessclay/ck65/keymaps/default/keymap.c b/keyboards/senselessclay/ck65/keymaps/default/keymap.c new file mode 100644 index 0000000000..be627f899d --- /dev/null +++ b/keyboards/senselessclay/ck65/keymaps/default/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2020 Hadi Iskandarani + * + * 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 layers { + _0, + _1, + _2, + _3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_0] = LAYOUT( + /*Base*/ + 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_ENT, KC_END, + 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_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, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT), + [_1] = LAYOUT( + 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_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_CAPS, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, 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( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; \ No newline at end of file diff --git a/keyboards/senselessclay/ck65/keymaps/via/keymap.c b/keyboards/senselessclay/ck65/keymaps/via/keymap.c new file mode 100644 index 0000000000..be627f899d --- /dev/null +++ b/keyboards/senselessclay/ck65/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2020 Hadi Iskandarani + * + * 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 layers { + _0, + _1, + _2, + _3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_0] = LAYOUT( + /*Base*/ + 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_ENT, KC_END, + 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_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, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT), + [_1] = LAYOUT( + 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_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_CAPS, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, 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( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; \ No newline at end of file diff --git a/keyboards/senselessclay/ck65/keymaps/via/rules.mk b/keyboards/senselessclay/ck65/keymaps/via/rules.mk new file mode 100644 index 0000000000..036bd6d1c3 --- /dev/null +++ b/keyboards/senselessclay/ck65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/senselessclay/ck65/readme.md b/keyboards/senselessclay/ck65/readme.md new file mode 100644 index 0000000000..653266a59f --- /dev/null +++ b/keyboards/senselessclay/ck65/readme.md @@ -0,0 +1,19 @@ +# ck65 + +A 65% keyboard implementation based around the ATMEGA32u4 with per-key RGB. + +* Keyboard Maintainer: [hadi](https://github.com/senselessclay) +* Hardware Supported: CK65 PCB +* Hardware Availability: https://candykeys.com/ + +Make example for this keyboard (after setting up your build environment): + + make senselessclay/ck65:default + +Flashing example for this keyboard: + + make senselessclay/ck65: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). + +If you'd like to reset the board into bootloader mode for flashing using [QMK Toolbox](https://github.com/qmk/qmk_toolbox), simply press the reset button directly above the controller assembly on the bottom side of the PCB. \ No newline at end of file diff --git a/keyboards/senselessclay/ck65/rules.mk b/keyboards/senselessclay/ck65/rules.mk new file mode 100644 index 0000000000..56ba35b4b8 --- /dev/null +++ b/keyboards/senselessclay/ck65/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# 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 +AUDIO_ENABLE = no # Audio output \ No newline at end of file From 9e2e7737823e86612c3a90b485650e349cd251ea Mon Sep 17 00:00:00 2001 From: AKiwi92 <69772382+AKiwi92@users.noreply.github.com> Date: Sat, 16 Oct 2021 07:08:41 +0100 Subject: [PATCH 38/48] [Keyboard] Amended Some Pins - KiwiKeebs Macro V2 (#14824) Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Ash --- keyboards/kiwikeebs/macro_v2/config.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/kiwikeebs/macro_v2/config.h b/keyboards/kiwikeebs/macro_v2/config.h index ab486fe54d..9ecc4d6686 100644 --- a/keyboards/kiwikeebs/macro_v2/config.h +++ b/keyboards/kiwikeebs/macro_v2/config.h @@ -40,15 +40,15 @@ along with this program. If not, see . * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) * */ -#define MATRIX_ROW_PINS { E6, D7 } -#define MATRIX_COL_PINS { F7, B1, B3, B2 } +#define MATRIX_ROW_PINS { B5, B4 } +#define MATRIX_COL_PINS { B6, C6, C7, D4 } #define UNUSED_PINS /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define ENCODERS_PAD_A { D1 } -#define ENCODERS_PAD_B { D0 } +#define ENCODERS_PAD_A { D7 } +#define ENCODERS_PAD_B { D6 } /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 From eddb206369e78ee0c34fab8ce64f5d3bab9e1b13 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat, 16 Oct 2021 17:31:09 +0900 Subject: [PATCH 39/48] add docs/ja/ja_doc_status.sh (#14402) --- docs/ja/ja_doc_status.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docs/ja/ja_doc_status.sh diff --git a/docs/ja/ja_doc_status.sh b/docs/ja/ja_doc_status.sh new file mode 100644 index 0000000000..3dfbbd2bc6 --- /dev/null +++ b/docs/ja/ja_doc_status.sh @@ -0,0 +1,34 @@ +#! /bin/sh +# +# Script to display the Japanese translation status of documents +# +if [ ! -d docs/ja ]; then + echo "'docs/ja' not found." + echo "do:" + echo " cd \$(QMK_TOP)" + echo " ./docs/ja/ja_doc_status.sh" + exit 1 +fi + +en_docs=`cd docs;ls -1 [a-z]*.md` +ja_docs=`cd docs/ja;ls -1 [a-z]*.md` +en_count=`echo $en_docs | wc -w` +ja_count=`echo $ja_docs | wc -w` +echo "English documents $en_count files." +echo "Japanese documents $ja_count files." + +echo "Files that have not been translated yet:" +for docfile in $en_docs +do + if [ ! -f docs/ja/$docfile ]; then + wc docs/$docfile + fi +done | sort +echo "Files that have not been updated yet:" +grep --no-filename "^[ ]*git diff" docs/ja/*.md | while read cmd +do + cline=`echo $cmd | sh | wc -l` + if [ $cline -gt 0 ]; then + echo "$cline $cmd" + fi +done | sort From 9200baf593f7394d3ee74b42e15ba9fdcd06932f Mon Sep 17 00:00:00 2001 From: tangowithfoxtrot <5676771+tangowithfoxtrot@users.noreply.github.com> Date: Sat, 16 Oct 2021 11:03:12 -0500 Subject: [PATCH 40/48] [Keyboard] Fix minor typo in Ploopy Trackball Nano Docs (#14717) --- keyboards/ploopyco/trackball_nano/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/ploopyco/trackball_nano/readme.md b/keyboards/ploopyco/trackball_nano/readme.md index 8a293602a8..a82b3bc711 100644 --- a/keyboards/ploopyco/trackball_nano/readme.md +++ b/keyboards/ploopyco/trackball_nano/readme.md @@ -2,7 +2,7 @@ # Ploopy Trackball Nano -![Ploopyco Trackball Nano](https://www.ploopy.co/uploads/b/113cb4122f867acc306a72a2741c5237a9b1d0db13abfe4e8e394cd466c4a311/_MG_7710_1614037372.jpg) +![Ploopyco Trackball Nano](https://ploopy.co/wp-content/uploads/2021/06/2.jpg) It's a DIY, QMK Powered Trackball...Nano! @@ -28,7 +28,7 @@ Occasionally, new revisions of the PCB will be released. Every board comes with Match the firmware that you flash onto the board with the designator on the board. -# Customzing your Ploopy Nano Trackball +# Customizing your Ploopy Nano Trackball You can change the DPI/CPI or speed of the trackball by calling `adns_set_cpi` at any time. Additionally, there is a `DPI_CONFIG` macro that will cycle through an array of options for the DPI. This is set to 375, 750, and 1375, but can be changed. 750 is the default. @@ -51,4 +51,4 @@ When flashing the bootloader, use the following fuse settings: |----------|-------------| | Low | `0x5E` | | High | `0x99` | -| Extended | `0xC3` | \ No newline at end of file +| Extended | `0xC3` | From 3c0eeec755882f606fa9175677bd4d3d20082c07 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 17 Oct 2021 03:44:56 +1100 Subject: [PATCH 41/48] Try to clarify "number of elements in info.json does not match" error (#14844) --- lib/python/qmk/info.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 1b4c42ff41..350e5e2178 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -691,8 +691,8 @@ def merge_info_jsons(keyboard, info_data): if layout_name in info_data['layouts']: if len(info_data['layouts'][layout_name]['layout']) != len(layout['layout']): - msg = '%s: %s: Number of elements in info.json does not match! info.json:%s != %s:%s' - _log_error(info_data, msg % (info_data['keyboard_folder'], layout_name, len(layout['layout']), layout_name, len(info_data['layouts'][layout_name]['layout']))) + msg = 'Number of keys for %s does not match! info.json specifies %d keys, C macro specifies %d' + _log_error(info_data, msg % (layout_name, len(layout['layout']), len(info_data['layouts'][layout_name]['layout']))) else: for new_key, existing_key in zip(layout['layout'], info_data['layouts'][layout_name]['layout']): existing_key.update(new_key) From 772f67484f49a48b7b408a4128006aa022b45cf0 Mon Sep 17 00:00:00 2001 From: Peter Park Date: Sat, 16 Oct 2021 19:22:35 -0700 Subject: [PATCH 42/48] [Keyboard] Update Support for The Uni (#14569) Co-authored-by: Drashna Jaelre Co-authored-by: ridingqwerty Co-authored-by: Ryan Co-authored-by: Peter Park --- keyboards/the_uni/keymaps/default/keymap.c | 53 ++--------------- keyboards/the_uni/keymaps/qwerty/keymap.c | 57 ++----------------- keyboards/the_uni/{ => pro_micro}/config.h | 0 keyboards/the_uni/pro_micro/pro_micro.c | 18 ++++++ .../{the_uni.h => pro_micro/pro_micro.h} | 0 keyboards/the_uni/pro_micro/readme.md | 20 +++++++ keyboards/the_uni/pro_micro/rules.mk | 22 +++++++ keyboards/the_uni/readme.md | 30 +++++++--- keyboards/the_uni/rules.mk | 21 ------- keyboards/the_uni/usb_c/config.h | 52 +++++++++++++++++ keyboards/the_uni/usb_c/readme.md | 20 +++++++ keyboards/the_uni/usb_c/rules.mk | 22 +++++++ .../the_uni/{the_uni.c => usb_c/usb_c.c} | 2 +- keyboards/the_uni/usb_c/usb_c.h | 30 ++++++++++ 14 files changed, 217 insertions(+), 130 deletions(-) rename keyboards/the_uni/{ => pro_micro}/config.h (100%) create mode 100644 keyboards/the_uni/pro_micro/pro_micro.c rename keyboards/the_uni/{the_uni.h => pro_micro/pro_micro.h} (100%) create mode 100644 keyboards/the_uni/pro_micro/readme.md create mode 100644 keyboards/the_uni/pro_micro/rules.mk delete mode 100644 keyboards/the_uni/rules.mk create mode 100644 keyboards/the_uni/usb_c/config.h create mode 100644 keyboards/the_uni/usb_c/readme.md create mode 100644 keyboards/the_uni/usb_c/rules.mk rename keyboards/the_uni/{the_uni.c => usb_c/usb_c.c} (96%) create mode 100644 keyboards/the_uni/usb_c/usb_c.h diff --git a/keyboards/the_uni/keymaps/default/keymap.c b/keyboards/the_uni/keymaps/default/keymap.c index 01674d9486..492c7a3c94 100644 --- a/keyboards/the_uni/keymaps/default/keymap.c +++ b/keyboards/the_uni/keymaps/default/keymap.c @@ -19,59 +19,18 @@ along with this program. If not, see . #include "keymap_steno.h" enum uni_layers { -/* - _QWERTY, - _CHOOSE, -*/ - _PLOVER, + _PLOVER, }; -/* -enum uni_keycodes { - PLOVER, - QWERTY -}; -*/ - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - [_QWERTY] = LAYOUT( - KC_Q, KC_W, KC_E, KC_R, LT(_CHOOSE, KC_T), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_1, KC_C, KC_V, KC_N, KC_M, KC_2), - [_CHOOSE] = LAYOUT( - _______, _______, _______, _______, _______, PLOVER, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______), -*/ - [_PLOVER] = LAYOUT( - STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR , - STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR , - STN_N1, STN_A, STN_O, STN_E, STN_U, STN_N2), + [_PLOVER] = LAYOUT( + STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR , + STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR , + STN_N1, STN_A, STN_O, STN_E, STN_U, STN_N2), }; -/* -switch (keycode) { - bool process_record_user(uint16_t keycode, keyrecord_t *record) { - case PLOVER: - if (!record->event.pressed) { - layer_on(_PLOVER); - } - return false; - break; - case QWERTY: - if (!record->event.pressed) { - layer_on(_QWERTY); - } - return false; - break; - } - return true; - } -*/ - void matrix_init_user() { - steno_set_mode(STENO_MODE_GEMINI); // or STENO_MODE_BOLT + steno_set_mode(STENO_MODE_GEMINI); // or STENO_MODE_BOLT } diff --git a/keyboards/the_uni/keymaps/qwerty/keymap.c b/keyboards/the_uni/keymaps/qwerty/keymap.c index 3eaac57f3d..b2f03a3613 100644 --- a/keyboards/the_uni/keymaps/qwerty/keymap.c +++ b/keyboards/the_uni/keymaps/qwerty/keymap.c @@ -16,62 +16,15 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -//#include "keymap_steno.h" enum uni_layers { - _QWERTY, -/* - _CHOOSE, - _PLOVER, -*/ + _QWERTY, }; -/* -enum uni_keycodes { - PLOVER, - QWERTY -}; -*/ - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_1, KC_C, KC_V, KC_N, KC_M, KC_2), -/* - - [_CHOOSE] = LAYOUT( - _______, _______, _______, _______, _______, PLOVER, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______), - [_PLOVER] = LAYOUT( - STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR , - STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR , - STN_N1, STN_A, STN_O, STN_E, STN_U, STN_N2), -*/ + [_QWERTY] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_1, KC_C, KC_V, KC_N, KC_M, KC_2), }; - -/* -switch (keycode) { - bool process_record_user(uint16_t keycode, keyrecord_t *record) { - case PLOVER: - if (!record->event.pressed) { - layer_on(_PLOVER); - } - return false; - break; - case QWERTY: - if (!record->event.pressed) { - layer_on(_QWERTY); - } - return false; - break; - } - return true; - } -*/ - - void matrix_init_user() { - //steno_set_mode(STENO_MODE_GEMINI); // or STENO_MODE_BOLT - } diff --git a/keyboards/the_uni/config.h b/keyboards/the_uni/pro_micro/config.h similarity index 100% rename from keyboards/the_uni/config.h rename to keyboards/the_uni/pro_micro/config.h diff --git a/keyboards/the_uni/pro_micro/pro_micro.c b/keyboards/the_uni/pro_micro/pro_micro.c new file mode 100644 index 0000000000..3d5b3b23bb --- /dev/null +++ b/keyboards/the_uni/pro_micro/pro_micro.c @@ -0,0 +1,18 @@ +/* +Copyright 2021 Peter C. Park + +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 "pro_micro.h" diff --git a/keyboards/the_uni/the_uni.h b/keyboards/the_uni/pro_micro/pro_micro.h similarity index 100% rename from keyboards/the_uni/the_uni.h rename to keyboards/the_uni/pro_micro/pro_micro.h diff --git a/keyboards/the_uni/pro_micro/readme.md b/keyboards/the_uni/pro_micro/readme.md new file mode 100644 index 0000000000..d6b6231561 --- /dev/null +++ b/keyboards/the_uni/pro_micro/readme.md @@ -0,0 +1,20 @@ +# The Uni + +- Keyboard Maintainer: [Peter](https://github.com/petercpark) +- Link to Keyboard Files: [The_Uni](https://github.com/petercpark/The_Uni) +- Hardware Supported: + - The Uni v1 and v2 (pro_micro) +- Hardware Availability: [https://www.stenokeyboards.com](https://www.stenokeyboards.com) + +# Bootloader + +Enter the bootloader by: + +* **Physical reset button**: On the Uni v3, briefly press the button on the back of the PCB. +* **Reset Pads**: Uni v1 and v2 have pins/pads you must short instead (RST to GND). + +Make examples for this keyboard (after setting up your build environment): + + make the_uni/pro_micro: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/the_uni/pro_micro/rules.mk b/keyboards/the_uni/pro_micro/rules.mk new file mode 100644 index 0000000000..1a595e91e4 --- /dev/null +++ b/keyboards/the_uni/pro_micro/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # 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 +AUDIO_ENABLE = no # Audio output +STENO_ENABLE = yes diff --git a/keyboards/the_uni/readme.md b/keyboards/the_uni/readme.md index 730ea2483d..cd1c99e435 100644 --- a/keyboards/the_uni/readme.md +++ b/keyboards/the_uni/readme.md @@ -1,19 +1,31 @@ # The Uni -![The Uni](https://raw.githubusercontent.com/petercpark/The_Uni/main/Pics/layout.png) -![The Uni Closeup](https://github.com/petercpark/The_Uni/blob/main/Pics/close-up-uni.jpg?raw=true) +​ +![Layout](https://docs.stenokeyboards.com/images/uni-layout.png) +![The Uni v2](https://github.com/petercpark/The_Uni/blob/main/Pics/uni%20v2/uni-v2.JPG?raw=true) A compact unibody split ortholinear keyboard made specifically for stenography. -- Keyboard Maintainer: [Peter C. Park](https://github.com/petercpark) -- Link to Keyboard Files: [The_Uni](https://github.com/petercpark/The_Uni) -- Hardware Supported: The Uni v1 and v2 (pro micro or equivalent) -- Hardware Availability: [website](https://www.stenokeyboards.com) +- Keyboard Maintainer: [Peter](https://github.com/petercpark) +- Link to Keyboard Files (pro_micro version): [https://github.com/petercpark/The_Uni](https://github.com/petercpark/The_Uni) +- Hardware Supported: -Make example for this keyboard (after setting up your build environment): + - The Uni v1 and v2 (pro_micro) + - The Uni v3 (usb_c) - make the_uni:default +- Hardware Availability: [https://www.stenokeyboards.com](https://www.stenokeyboards.com) -To enter the bootloader, short the rst and gnd pins with a conductive material such as a tweezer or a wire. Uni v2 will have reset pads next to the pro micro so you can short these pads to reset the pro micro. +# Bootloader + +Enter the bootloader by: + +* **Physical reset button**: On the Uni v3, briefly press the button on the back of the PCB. +* **Reset Pads**: Uni v1 and v2 have pins/pads you must short instead (RST to GND). + +Make examples for this keyboard (after setting up your build environment): + + make the_uni/pro_micro:default + + make the_uni/usb_c: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/the_uni/rules.mk b/keyboards/the_uni/rules.mk deleted file mode 100644 index 36c52b6777..0000000000 --- a/keyboards/the_uni/rules.mk +++ /dev/null @@ -1,21 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - - -# Build Options -# comment out to disable the options. -# -BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite -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 - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no -FORCE_NKRO = yes -EXTRAKEY_ENABLE = no -MOUSEKEY_ENABLE = no # Mouse keys -STENO_ENABLE = yes diff --git a/keyboards/the_uni/usb_c/config.h b/keyboards/the_uni/usb_c/config.h new file mode 100644 index 0000000000..3110c0d821 --- /dev/null +++ b/keyboards/the_uni/usb_c/config.h @@ -0,0 +1,52 @@ +/* +Copyright 2021 Peter C. Park + +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 0x9000 +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0002 +#define MANUFACTURER stenokeyboards +#define PRODUCT The Uni + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 11 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B7, D6, C7 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, D5, D3, D2, D1, D0, D4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* 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 */ +#define LOCKING_RESYNC_ENABLE + + +/*force the nkro if it does not work*/ +#define FORCE_NKRO diff --git a/keyboards/the_uni/usb_c/readme.md b/keyboards/the_uni/usb_c/readme.md new file mode 100644 index 0000000000..23895db39f --- /dev/null +++ b/keyboards/the_uni/usb_c/readme.md @@ -0,0 +1,20 @@ +# The Uni v3 Firmware + +- Keyboard Maintainer: [Peter](https://github.com/petercpark) +- Link to Keyboard Files: Not Available +- Hardware Supported: + - The Uni v3 (usb_c) +- Hardware Availability: [https://www.stenokeyboards.com](https://www.stenokeyboards.com) + +## Bootloader + +Enter the bootloader by: + +* **Physical reset button**: On the Uni v3, briefly press the button on the back of the PCB. +* **Reset Pads**: Uni v1 and v2 have pins/pads you must short instead (RST to GND). + +Make examples for this keyboard (after setting up your build environment): + + make the_uni/usb_c: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/the_uni/usb_c/rules.mk b/keyboards/the_uni/usb_c/rules.mk new file mode 100644 index 0000000000..e5d2f2e042 --- /dev/null +++ b/keyboards/the_uni/usb_c/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 = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # 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 +AUDIO_ENABLE = no # Audio output +STENO_ENABLE = yes diff --git a/keyboards/the_uni/the_uni.c b/keyboards/the_uni/usb_c/usb_c.c similarity index 96% rename from keyboards/the_uni/the_uni.c rename to keyboards/the_uni/usb_c/usb_c.c index b99b06830c..e690d0a886 100644 --- a/keyboards/the_uni/the_uni.c +++ b/keyboards/the_uni/usb_c/usb_c.c @@ -15,4 +15,4 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "the_uni.h" +#include "usb_c.h" diff --git a/keyboards/the_uni/usb_c/usb_c.h b/keyboards/the_uni/usb_c/usb_c.h new file mode 100644 index 0000000000..9371c3a241 --- /dev/null +++ b/keyboards/the_uni/usb_c/usb_c.h @@ -0,0 +1,30 @@ +/* +Copyright 2021 Peter C. Park + +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( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, \ + K202, K203, K204, K205, K206, K207 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110 }, \ + { KC_NO, KC_NO, K202, K203, K204, K205, K206, K207, KC_NO, KC_NO, KC_NO } \ +} From b8ca0af06af64924f1490ebb6b536b25e471081a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=8BAndrzej=20Ressel?= Date: Sun, 17 Oct 2021 04:51:02 +0200 Subject: [PATCH 43/48] [Keyboard] Add SpiderIsland 25 key keyboard (#14793) Co-authored-by: Ryan --- keyboards/spiderisland/winry25tc/config.h | 41 +++++++++++++++++++ keyboards/spiderisland/winry25tc/info.json | 36 ++++++++++++++++ .../winry25tc/keymaps/default/keymap.c | 39 ++++++++++++++++++ keyboards/spiderisland/winry25tc/readme.md | 14 +++++++ keyboards/spiderisland/winry25tc/rules.mk | 22 ++++++++++ keyboards/spiderisland/winry25tc/winry25tc.c | 17 ++++++++ keyboards/spiderisland/winry25tc/winry25tc.h | 33 +++++++++++++++ 7 files changed, 202 insertions(+) create mode 100644 keyboards/spiderisland/winry25tc/config.h create mode 100644 keyboards/spiderisland/winry25tc/info.json create mode 100644 keyboards/spiderisland/winry25tc/keymaps/default/keymap.c create mode 100644 keyboards/spiderisland/winry25tc/readme.md create mode 100644 keyboards/spiderisland/winry25tc/rules.mk create mode 100644 keyboards/spiderisland/winry25tc/winry25tc.c create mode 100644 keyboards/spiderisland/winry25tc/winry25tc.h diff --git a/keyboards/spiderisland/winry25tc/config.h b/keyboards/spiderisland/winry25tc/config.h new file mode 100644 index 0000000000..1e7ff4c63b --- /dev/null +++ b/keyboards/spiderisland/winry25tc/config.h @@ -0,0 +1,41 @@ +/* Copyright 2021 Andrzej Ressel (andrzej.ressel@gmail.com) + * + * 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 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER SpiderIsland +#define PRODUCT Winry 25tc + +#define MATRIX_ROWS 5 +#define MATRIX_COLS 5 + +#define MATRIX_ROW_PINS { E6, F0, D6, D2, B6 } +#define MATRIX_COL_PINS { F5, C7, B7, B2, B4 } + +#define DIODE_DIRECTION COL2ROW + +#define RGB_DI_PIN D5 +#define RGBLED_NUM 40 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */ diff --git a/keyboards/spiderisland/winry25tc/info.json b/keyboards/spiderisland/winry25tc/info.json new file mode 100644 index 0000000000..8e503bc74a --- /dev/null +++ b/keyboards/spiderisland/winry25tc/info.json @@ -0,0 +1,36 @@ +{ + "keyboard_name": "Winry 25tc", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (E6,F5)", "x":0, "y":0}, + {"label":"K01 (E6,C7)", "x":1, "y":0}, + {"label":"K02 (E6,B7)", "x":2, "y":0}, + {"label":"K03 (E6,B2)", "x":3, "y":0}, + {"label":"K04 (E6,B4)", "x":4, "y":0}, + {"label":"K10 (F0,F5)", "x":0, "y":1}, + {"label":"K11 (F0,C7)", "x":1, "y":1}, + {"label":"K12 (F0,B7)", "x":2, "y":1}, + {"label":"K13 (F0,B2)", "x":3, "y":1}, + {"label":"K14 (F0,B4)", "x":4, "y":1}, + {"label":"K20 (D6,F5)", "x":0, "y":2}, + {"label":"K21 (D6,C7)", "x":1, "y":2}, + {"label":"K22 (D6,B7)", "x":2, "y":2}, + {"label":"K23 (D6,B2)", "x":3, "y":2}, + {"label":"K24 (D6,B4)", "x":4, "y":2}, + {"label":"K30 (D2,F5)", "x":0, "y":3}, + {"label":"K31 (D2,C7)", "x":1, "y":3}, + {"label":"K32 (D2,B7)", "x":2, "y":3}, + {"label":"K33 (D2,B2)", "x":3, "y":3}, + {"label":"K34 (D2,B4)", "x":4, "y":3}, + {"label":"K40 (B6,F5)", "x":0, "y":4}, + {"label":"K41 (B6,C7)", "x":1, "y":4}, + {"label":"K42 (B6,B7)", "x":2, "y":4}, + {"label":"K43 (B6,B2)", "x":3, "y":4}, + {"label":"K44 (B6,B4)", "x":4, "y":4} + ] + } + } +} diff --git a/keyboards/spiderisland/winry25tc/keymaps/default/keymap.c b/keyboards/spiderisland/winry25tc/keymaps/default/keymap.c new file mode 100644 index 0000000000..ec1d0f42ed --- /dev/null +++ b/keyboards/spiderisland/winry25tc/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2021 Andrzej Ressel (andrzej.ressel@gmail.com) + * + * 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 my_layers { + _FIRST_LAYER, + _SECOND_LAYER +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_FIRST_LAYER] = LAYOUT( + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, + KC_P7, KC_P8, KC_P9, KC_PPLS, RGB_TOG, + KC_P4, KC_P5, KC_P6, KC_PENT, RGB_MOD, + KC_P1, KC_P2, KC_P3, KC_UP, MO(_SECOND_LAYER), + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_SECOND_LAYER] = 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_MUTE, KC_VOLD, KC_VOLU, + KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, _______, + KC_RSFT, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), +}; diff --git a/keyboards/spiderisland/winry25tc/readme.md b/keyboards/spiderisland/winry25tc/readme.md new file mode 100644 index 0000000000..45ba0bd5a4 --- /dev/null +++ b/keyboards/spiderisland/winry25tc/readme.md @@ -0,0 +1,14 @@ +# SpiderIsland 25-key RGB Backlight Hot Swap Mechanical Keyboard + +Keyboard from [SpiderIsland on AliExpress](https://a.aliexpress.com/_dVJsSpR). Seller provides [kbfirmware](https://kbfirmware.com/) JSON config that was converted to QMK. + +* Keyboard Maintainer: [andrzejressel](https://github.com/andrzejressel) +* Hardware Availability: https://aliexpress.com/item/1005001523579896.html + +Make example for this keyboard (after setting up your build environment): + + make spiderisland/winry25tc:default + +**Reset Key**: Located on the other side of the keyboard. + +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). \ No newline at end of file diff --git a/keyboards/spiderisland/winry25tc/rules.mk b/keyboards/spiderisland/winry25tc/rules.mk new file mode 100644 index 0000000000..4eb00f7407 --- /dev/null +++ b/keyboards/spiderisland/winry25tc/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 = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# 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 + +KEY_LOCK_ENABLE = yes # Enable KC_LOCK support diff --git a/keyboards/spiderisland/winry25tc/winry25tc.c b/keyboards/spiderisland/winry25tc/winry25tc.c new file mode 100644 index 0000000000..938dadaf8f --- /dev/null +++ b/keyboards/spiderisland/winry25tc/winry25tc.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Andrzej Ressel (andrzej.ressel@gmail.com) + * + * 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 "winry25tc.h" diff --git a/keyboards/spiderisland/winry25tc/winry25tc.h b/keyboards/spiderisland/winry25tc/winry25tc.h new file mode 100644 index 0000000000..5498dd8d6b --- /dev/null +++ b/keyboards/spiderisland/winry25tc/winry25tc.h @@ -0,0 +1,33 @@ +/* Copyright 2021 Andrzej Ressel (andrzej.ressel@gmail.com) + * + * 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( \ + K00, K01, K02, K03, K04, \ + K10, K11, K12, K13, K14, \ + K20, K21, K22, K23, K24, \ + K30, K31, K32, K33, K34, \ + K40, K41, K42, K43, K44 \ +) { \ + { K00, K01, K02, K03, K04 }, \ + { K10, K11, K12, K13, K14 }, \ + { K20, K21, K22, K23, K24 }, \ + { K30, K31, K32, K33, K34 }, \ + { K40, K41, K42, K43, K44 }, \ +} From d2f9e352c81fbf3fb04c8978dbe9151ded10cc09 Mon Sep 17 00:00:00 2001 From: Roger Date: Sat, 16 Oct 2021 21:26:13 -0700 Subject: [PATCH 44/48] [Keymap] added media controls, copy and paste; moved print screen (#14850) --- .../keebio/quefrency/keymaps/rogthefrog/config.h | 2 +- .../keebio/quefrency/keymaps/rogthefrog/keymap.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h b/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h index 583a363b91..2332c4f523 100644 --- a/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h +++ b/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h @@ -4,7 +4,7 @@ This is the c configuration file for the keymap Copyright 2012 Jun Wako Copyright 2015 Jack Humbert Copyright 2018 Danny Nguyen -Copyright 2020 Roger Billerey-Mosier +Copyright 2021 Roger Billerey-Mosier 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 diff --git a/keyboards/keebio/quefrency/keymaps/rogthefrog/keymap.c b/keyboards/keebio/quefrency/keymaps/rogthefrog/keymap.c index f4a306f70f..0cc0cfe2b4 100644 --- a/keyboards/keebio/quefrency/keymaps/rogthefrog/keymap.c +++ b/keyboards/keebio/quefrency/keymaps/rogthefrog/keymap.c @@ -1,5 +1,5 @@ /* - Copyright 2020 Roger Billerey-Mosier + Copyright 2021 Roger Billerey-Mosier 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 @@ -34,13 +34,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_END, 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_PGUP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(_FN1), KC_SPC, KC_NO, KC_APP, KC_PSCR, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT - ), + KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(_FN1), KC_SPC, KC_NO, LCTL(KC_C), LCTL(KC_V), KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT + ), [_FN1] = LAYOUT_65( - 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_DEL, _______, + 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_DEL, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, + _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MUTE, KC_MPRV, KC_VOLD, KC_MNXT ) }; From 587f7508fca50b48578e61c8fb1e1972b56381e1 Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Mon, 18 Oct 2021 03:09:33 +0300 Subject: [PATCH 45/48] preonic/rev3_drop: Fix old custom matrix code (#14857) The old custom matrix code for Preonic rev3 was relying on the `matrix_col_t` type, because the code actually reads the row pins and assembles the state for whole columns, and then transposes the matrix in the custom debouncing code. Restore that type (which is no longer defined by the core QMK code) to make the custom matrix code work properly (when `matrix_row_t` was used instead of `matrix_col_t`, the state of two electrical rows was lost, and those electrical rows corresponded to the bottom physical row, which did not work). --- keyboards/preonic/rev3_drop/matrix.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/keyboards/preonic/rev3_drop/matrix.c b/keyboards/preonic/rev3_drop/matrix.c index 392997e0a5..07171a39e9 100644 --- a/keyboards/preonic/rev3_drop/matrix.c +++ b/keyboards/preonic/rev3_drop/matrix.c @@ -24,13 +24,15 @@ #include "debug.h" #include "matrix.h" +typedef uint16_t matrix_col_t; + /* * col: { B11, B10, B2, B1, A7, B0 } * row: { A10, A9, A8, B15, C13, C14, C15, A2 } */ /* matrix state(1:on, 0:off) */ static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t matrix_debouncing[MATRIX_COLS]; +static matrix_col_t matrix_debouncing[MATRIX_COLS]; static bool debouncing = false; static uint16_t debouncing_time = 0; @@ -66,7 +68,7 @@ void matrix_init(void) { palSetPadMode(GPIOA, 6, PAL_MODE_INPUT_PULLDOWN); memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t)); - memset(matrix_debouncing, 0, MATRIX_COLS * sizeof(matrix_row_t)); + memset(matrix_debouncing, 0, MATRIX_COLS * sizeof(matrix_col_t)); matrix_init_quantum(); } @@ -74,7 +76,7 @@ void matrix_init(void) { uint8_t matrix_scan(void) { // actual matrix for (int col = 0; col < MATRIX_COLS; col++) { - matrix_row_t data = 0; + matrix_col_t data = 0; // strobe col { B11, B10, B2, B1, A7, B0 } switch (col) { From 5fbcbc6af80f60c0770f4e758d32f0f4dedaae5d Mon Sep 17 00:00:00 2001 From: precondition <57645186+precondition@users.noreply.github.com> Date: Tue, 19 Oct 2021 16:26:59 +0200 Subject: [PATCH 46/48] [DOCS] Fix the STENO_COMBINEDMAP table (#14883) --- docs/feature_stenography.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/feature_stenography.md b/docs/feature_stenography.md index af4754ed78..8d66034d4b 100644 --- a/docs/feature_stenography.md +++ b/docs/feature_stenography.md @@ -129,7 +129,8 @@ As defined in `keymap_steno.h`. |`STN_RES2`||(GeminiPR only)| |`STN_PWR`||(GeminiPR only)| -If you do not want to hit two keys with one finger combined keycodes can be used. These are also defined in `keymap_steno.h`, and causes both keys to be reported as pressed or released. To use these keycodes define `STENO_COMBINEDMAP` in your `config.h` file +If you do not want to hit two keys with one finger combined keycodes can be used. These are also defined in `keymap_steno.h`, and causes both keys to be reported as pressed or released. To use these keycodes define `STENO_COMBINEDMAP` in your `config.h` file. + |Combined key | Key1 | Key 2 | |---------------|--------|----------| |STN_S3 | STN_S1 | STN_S2 | From c9562ebfde8bab54c83215c4970163d19ce199b1 Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Wed, 20 Oct 2021 04:48:01 +0300 Subject: [PATCH 47/48] Make the MAGIC_TOGGLE_GUI keycode work (#14886) --- quantum/process_keycode/process_magic.c | 1 + 1 file changed, 1 insertion(+) diff --git a/quantum/process_keycode/process_magic.c b/quantum/process_keycode/process_magic.c index 01f2fb9289..d5cff4f12a 100644 --- a/quantum/process_keycode/process_magic.c +++ b/quantum/process_keycode/process_magic.c @@ -43,6 +43,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_ALT_GUI: case MAGIC_SWAP_LCTL_LGUI ... MAGIC_EE_HANDS_RIGHT: + case MAGIC_TOGGLE_GUI: /* keymap config */ keymap_config.raw = eeconfig_read_keymap(); switch (keycode) { From 0fd45d59845d71e435f36975d9ba8a54dfb2a87d Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 19 Oct 2021 20:50:44 -0700 Subject: [PATCH 48/48] Fix type of Tap Dance max index variable (#14887) --- quantum/process_keycode/process_tap_dance.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c index 225b36cd5f..c707fdea30 100644 --- a/quantum/process_keycode/process_tap_dance.c +++ b/quantum/process_keycode/process_tap_dance.c @@ -20,7 +20,7 @@ uint8_t get_oneshot_mods(void); #endif static uint16_t last_td; -static int8_t highest_td = -1; +static int16_t highest_td = -1; void qk_tap_dance_pair_on_each_tap(qk_tap_dance_state_t *state, void *user_data) { qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;