diff options
18 files changed, 252 insertions, 92 deletions
diff --git a/docs/newbs_flashing.md b/docs/newbs_flashing.md index c17ff4c956..6e90af9d10 100644 --- a/docs/newbs_flashing.md +++ b/docs/newbs_flashing.md @@ -96,7 +96,7 @@ This has been made pretty simple compared to what it used to be. When you are re qmk flash -If you have not configured your keyboard/keymap name in the CLI, or you have multiple keyboards, you can specify the keyboard and keymap: +If you did not configure your keyboard/keymap name in the CLI according to the [Configure your build environment](newbs_getting_started.md) section, or you have multiple keyboards, you can specify the keyboard and keymap: qmk flash -kb <my_keyboard> -km <my_keymap> diff --git a/keyboards/laptreus/keymaps/debug/keymap.c b/keyboards/laptreus/keymaps/debug/keymap.c deleted file mode 100644 index 8ffb06fa25..0000000000 --- a/keyboards/laptreus/keymaps/debug/keymap.c +++ /dev/null @@ -1,11 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* ============================= DEBUG LAYER ============================= */ - [0] = LAYOUT( - KC_A, KC_1, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, - KC_A, KC_2, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, - KC_A, KC_3, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, - KC_A, KC_4, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L - ) -}; diff --git a/keyboards/laptreus/keymaps/vosechu/readme.md b/keyboards/laptreus/keymaps/vosechu/readme.md deleted file mode 100644 index e69de29bb2..0000000000 --- a/keyboards/laptreus/keymaps/vosechu/readme.md +++ /dev/null diff --git a/keyboards/laptreus/laptreus.c b/keyboards/laptreus/laptreus.c deleted file mode 100644 index 2e59ffd622..0000000000 --- a/keyboards/laptreus/laptreus.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "laptreus.h" - -void matrix_init_kb() { - // auto detect output on init - set_output(OUTPUT_AUTO); -} diff --git a/keyboards/laptreus/laptreus.h b/keyboards/laptreus/laptreus.h deleted file mode 100644 index 2e7932e494..0000000000 --- a/keyboards/laptreus/laptreus.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -#include "quantum.h" -#include "outputselect.h" - -#define XXX KC_NO - -#define LAYOUT( \ - k40, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k49, \ - k41, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k48, \ - k42, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k47, \ - k43, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k46 \ -) { \ - { 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 }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 }, \ - { k40, k41, k42, k43, XXX, XXX, k46, k47, k48, k49 } \ -} diff --git a/keyboards/laptreus/readme.md b/keyboards/laptreus/readme.md deleted file mode 100644 index e27c206048..0000000000 --- a/keyboards/laptreus/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# Laptreus - -TODO: Insert cool photo - -Laptreus is a 40% bluetooth keyboard in the style of the Atreus, which is specifically designed to sit atop your laptop keyboard. - -Maintainer: [Chuck Lauer Vose](https://github.com/vosechu) -MCU: Adafruit Feather 32u4 BLE -Purchase link: GB coming soon -Case link: GB coming soon -Case design files: TODO - -## Flashing - -**NOTE**: Make sure you don't have a second QMK keyboard plugged in when you do this! - -[Default layout documentation](https://github.com/qmk/qmk_firmware/tree/master/keyboards/laptreus/keymaps/default) - -To compile and flash to the board: - - make laptreus:default:avrdude - -To just compile: - - make laptreus:default - -Then use QMK toolbox to write the file - -## Changelog - -v1.2: Mostly working, but JST connector is a little too tight and the reset switch is not connected. - -## Build log - -TODO diff --git a/keyboards/laptreus/config.h b/keyboards/shapeshifter4060/config.h index 0c13da4bd6..c8953821a7 100644 --- a/keyboards/laptreus/config.h +++ b/keyboards/shapeshifter4060/config.h @@ -1,5 +1,5 @@ /* -Copyright 2019 Chuck "@vosechu" Lauer Vose <vosechu@gmail.com> +Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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 @@ -22,18 +22,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* USB Device descriptor parameter */ #define VENDOR_ID 0x1209 // pid.codes Vendor ID -#define PRODUCT_ID 0xA1F1 // FIXME: Need to send PR to pid.codes to make this official -#define DEVICE_VER 0x0001 +#define PRODUCT_ID 0xA1F1 // Shapeshifter 4060: https://pid.codes/1209/A1F1/ +#define DEVICE_VER 0x0002 #define MANUFACTURER Vosechu -#define PRODUCT Laptreus +#define PRODUCT Shapeshifter 4060 /* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 10 +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 -#define MATRIX_ROW_PINS { F7, F6, F5, F1, F4 } -#define MATRIX_COL_PINS { D6, B7, B6, D7, C6, D1, D0, D3, D2, F0 } -#define UNUSED_PINS { } +#define MATRIX_ROW_PINS { F4, F5, F6, F7 } +#define MATRIX_COL_PINS { D0, D1, B1, B3, B2, B6, B5, B4, E6, D7, C6, D4 } +#define UNUSED_PINS { D2, D3 } /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION ROW2COL diff --git a/keyboards/laptreus/info.json b/keyboards/shapeshifter4060/info.json index f82cc8419d..5ec2bc2b03 100644 --- a/keyboards/laptreus/info.json +++ b/keyboards/shapeshifter4060/info.json @@ -1,6 +1,6 @@ { - "keyboard_name": "Laptreus", - "url": "", + "keyboard_name": "Shapeshifter 4060", + "url": "kitsunekeyboards.com", "maintainer": "vosechu", "layouts": { "LAYOUT": { diff --git a/keyboards/shapeshifter4060/keymaps/debug/keymap.c b/keyboards/shapeshifter4060/keymaps/debug/keymap.c new file mode 100644 index 0000000000..06f9d8ea8f --- /dev/null +++ b/keyboards/shapeshifter4060/keymaps/debug/keymap.c @@ -0,0 +1,28 @@ +/* +Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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 <http://www.gnu.org/licenses/>. +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* ============================= DEBUG LAYER ============================= */ + [0] = LAYOUT( + KC_A, KC_1, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, + KC_A, KC_2, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, + KC_A, KC_3, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, + KC_A, KC_4, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L + ) +}; diff --git a/keyboards/laptreus/keymaps/debug/readme.md b/keyboards/shapeshifter4060/keymaps/debug/readme.md index fa4a27eda8..3dcbc27ae7 100644 --- a/keyboards/laptreus/keymaps/debug/readme.md +++ b/keyboards/shapeshifter4060/keymaps/debug/readme.md @@ -8,11 +8,15 @@ This layout is expressly for debugging to see if your keys are working. To compile and flash to the board: - make laptreus:debug:avrdude + make shapeshifter4060:debug:avrdude + +If you want to use this with a Proton C, do this instead: + + make shapeshifter4060:debug CTPC=yes To just compile: - make laptreus:debug + make shapeshifter4060:debug Then use QMK toolbox to write the file diff --git a/keyboards/laptreus/keymaps/default/keymap.c b/keyboards/shapeshifter4060/keymaps/default/keymap.c index b0e1c9f023..e390b5a36f 100644 --- a/keyboards/laptreus/keymaps/default/keymap.c +++ b/keyboards/shapeshifter4060/keymaps/default/keymap.c @@ -1,3 +1,20 @@ +/* +Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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 <http://www.gnu.org/licenses/>. +*/ + #include QMK_KEYBOARD_H enum layer_names { diff --git a/keyboards/laptreus/keymaps/default/readme.md b/keyboards/shapeshifter4060/keymaps/default/readme.md index 0124ab9a9f..9dbe80e645 100644 --- a/keyboards/laptreus/keymaps/default/readme.md +++ b/keyboards/shapeshifter4060/keymaps/default/readme.md @@ -1,6 +1,6 @@ # Default layout -This is the default layout for the Laptreus +This is the default layout for the Shapeshifter 4060 ## Layout diff --git a/keyboards/laptreus/keymaps/vosechu/keymap.c b/keyboards/shapeshifter4060/keymaps/vosechu/keymap.c index 8bb08a8732..eb04506ec0 100644 --- a/keyboards/laptreus/keymaps/vosechu/keymap.c +++ b/keyboards/shapeshifter4060/keymaps/vosechu/keymap.c @@ -1,3 +1,20 @@ +/* +Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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 <http://www.gnu.org/licenses/>. +*/ + #include QMK_KEYBOARD_H #include "vosechu.h" diff --git a/keyboards/shapeshifter4060/keymaps/vosechu/readme.md b/keyboards/shapeshifter4060/keymaps/vosechu/readme.md new file mode 100644 index 0000000000..a438e5536d --- /dev/null +++ b/keyboards/shapeshifter4060/keymaps/vosechu/readme.md @@ -0,0 +1,82 @@ +# Vosechu layout + +This is my personal layout for the Shapeshifter. It's taken a long time to get +to this point, but I think there are some things that are cool and special about +it. + +## Layout + +Some special things: + +* Lower/Raise are on the F/J keys. Tap to type the character, hold to activate the layer +* Enter and Backspace also activate the Lift layer. +* -- To get repeated backspace, hold BkLft and then press Shift + + +### Dvorak + + ,-----------------------------------------------------------------------------------. + | Nada | ' | , | . | P | Y | F | G | C | R | L | Reset| + |------+------+------+------+------+-------------+------+------+------+------+------| + | Esc | A | O | E | Lwr/U| I | D | Rse/H| T | N | S | Nada | + |------+------+------+------+------+------|------+------+------+------+------+------| + | Nada | ; | Q | J | K | X | B | M | W | V | Z | Enter| + |------+------+------+------+------+------+------+------+------+------+------+------| + | Nada |Ctrl/~|AltTab| Cmd | BkLft| Shift| Space|EntLft| - | = | / | \ | + `-----------------------------------------------------------------------------------' + +### Qwerty + + ,-----------------------------------------------------------------------------------. + | Tab | Q | W | E | R | T | Y | U | I | O | P | Back | + |------+------+------+------+------+-------------+------+------+------+------+------| + | Esc | A | S | D | Lwr/F| G | H | Rse/J| K | L | ; | " | + |------+------+------+------+------+------|------+------+------+------+------+------| + | Shift| Z | X | C | V | B | N | M | , | . | / | Enter| + |------+------+------+------+------+------+------+------+------+------+------+------| + | Hyper|Ctrl/~|AltTab| Cmd | BkLft| Shift| Space|EntLft| Left | Down | Up | Right| + `-----------------------------------------------------------------------------------' + +### Raise + + ,-----------------------------------------------------------------------------------. + | | < | > | { | } | | | | | | | | + |------+------+------+------+------+-------------+------+------+------+------+------| + | | ( | ) | [ | ] | | | | | | | | + |------+------+------+------+------+------|------+------+------+------+------+------| + | | | | | | | | | | | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | BkLft| Shift| Space|EntLft| | | | | + `-----------------------------------------------------------------------------------' + +### Lower + + ,-----------------------------------------------------------------------------------. + | | | | | | | | 7 | 8 | 9 | | | + |------+------+------+------+------+-------------+------+------+------+------+------| + | | | | | | | | 4 | 5 | 6 | | | + |------+------+------+------+------+------|------+------+------+------+------+------| + | | | | | | | | 1 | 2 | 3 | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | BkLft| Shift| Space| 0 | 0 | . | | | + `-----------------------------------------------------------------------------------' + +### Lift + + ,-----------------------------------------------------------------------------------. + | |Hist ←| Tab ←| ↑ | Tab →|Hist →| Mute | |ScrLft|ScrFul|ScrRgt| | + |------+------+------+------+------+-------------+------+------+------+------+------| + | | | ← | ↓ | → | Pg Up|Vol up|Slk up| | |Qwerty| | + |------+------+------+------+------+------|------+------+------+------+------+------| + | | | | | | Pg Dn|Vol dn|Slk dn| | |Dvorak| | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | Reset| | | | Bksp | | Shift| Cmd | Opt | Ctrl | | + `-----------------------------------------------------------------------------------' + +Special things: + +* Hist: Back button in your browser +* Tab: Move one tab left/right in most mac apps +* Slk: Go to the previous/next unread conversation in Slack +* Scr: Make this app fill the left/right side of your monitor (or full screen) +* Since arrows are on this layer, the command keys are moved to the right side diff --git a/keyboards/shapeshifter4060/readme.md b/keyboards/shapeshifter4060/readme.md new file mode 100644 index 0000000000..2f134ce15b --- /dev/null +++ b/keyboards/shapeshifter4060/readme.md @@ -0,0 +1,37 @@ +Shapeshifter 4060 +![Shapeshifter 4060](#TODO) + +The Shapeshifter 4060 is a 40% keyboard that takes inspiration from the Atreus and makes it accessible by putting it on a standard-sized 60% keyboard pcb. Ergonomics should be accessible by anyone! + +Keyboard Maintainer: [Chuck Lauer Vose](https://github.com/vosechu) +Hardware Supported: Kitsune Shapeshifter 4060 (v3.0.3) with a Pro Micro Compatible board / Proton C +Hardware Availability: GB coming soon + +Make example for this keyboard (after setting up your build environment): + + make shapeshifter4060:default + +For use with the Proton C + + make shapeshifter4060:default CTPC=yes + +Flashing example for this keyboard: + + make shapeshifter4060: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: + +- **Physical reset button**: Briefly press the button on the top of the PCB +- **Keycode in layout**: Press the key mapped to `RESET` if it is available + +## Changelog + +v3.0.3: Complete rewrite using a standard pro micro pinout. + +## Build log + +https://docs.google.com/document/d/1ml2rBdiO6GhrUx2HyLqip0i24bCU8d-fQR8adSEPWzQ/edit diff --git a/keyboards/laptreus/rules.mk b/keyboards/shapeshifter4060/rules.mk index 687d837857..00cb7fbcf7 100644 --- a/keyboards/laptreus/rules.mk +++ b/keyboards/shapeshifter4060/rules.mk @@ -1,9 +1,6 @@ # MCU name MCU = atmega32u4 -# Processor frequency -F_CPU = 8000000 - # Bootloader selection BOOTLOADER = caterina @@ -18,6 +15,3 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover #BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality KEY_LOCK_ENABLE = no - -BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = AdafruitBLE diff --git a/keyboards/shapeshifter4060/shapeshifter4060.c b/keyboards/shapeshifter4060/shapeshifter4060.c new file mode 100644 index 0000000000..abe6d65e76 --- /dev/null +++ b/keyboards/shapeshifter4060/shapeshifter4060.c @@ -0,0 +1,18 @@ +/* +Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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 <http://www.gnu.org/licenses/>. +*/ + +#include "shapeshifter4060.h" diff --git a/keyboards/shapeshifter4060/shapeshifter4060.h b/keyboards/shapeshifter4060/shapeshifter4060.h new file mode 100644 index 0000000000..0c5bd7e089 --- /dev/null +++ b/keyboards/shapeshifter4060/shapeshifter4060.h @@ -0,0 +1,34 @@ +/* +Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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 <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + 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, k30, k31, k32, k33, k34, k35, \ + k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 \ +) { \ + { 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, k30, k31, k32, k33, k34, k35 }, \ + { k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 }, \ +} |