~ruther/qmk_firmware

101f5044359fed6455bccd9f99afa6d5cbdbbf13 — Chuck Lauer Vose 3 years ago dd4e48b
[Keyboard] Rename Laptreus to Shapeshifter4060 (#15655)

D keyboards/laptreus/keymaps/vosechu/readme.md => keyboards/laptreus/keymaps/vosechu/readme.md +0 -0
D keyboards/laptreus/laptreus.c => keyboards/laptreus/laptreus.c +0 -6
@@ 1,6 0,0 @@
#include "laptreus.h"

void matrix_init_kb() {
  // auto detect output on init
  set_output(OUTPUT_AUTO);
}

D keyboards/laptreus/laptreus.h => keyboards/laptreus/laptreus.h +0 -19
@@ 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 } \
}

D keyboards/laptreus/readme.md => keyboards/laptreus/readme.md +0 -35
@@ 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

R keyboards/laptreus/config.h => keyboards/shapeshifter4060/config.h +9 -9
@@ 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

R keyboards/laptreus/info.json => keyboards/shapeshifter4060/info.json +2 -2
@@ 1,6 1,6 @@
{
    "keyboard_name": "Laptreus",
    "url": "",
    "keyboard_name": "Shapeshifter 4060",
    "url": "kitsunekeyboards.com",
    "maintainer": "vosechu",
    "layouts": {
        "LAYOUT": {

R keyboards/laptreus/keymaps/debug/keymap.c => keyboards/shapeshifter4060/keymaps/debug/keymap.c +17 -0
@@ 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

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

R keyboards/laptreus/keymaps/debug/readme.md => keyboards/shapeshifter4060/keymaps/debug/readme.md +6 -2
@@ 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


R keyboards/laptreus/keymaps/default/keymap.c => keyboards/shapeshifter4060/keymaps/default/keymap.c +17 -0
@@ 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 {

R keyboards/laptreus/keymaps/default/readme.md => keyboards/shapeshifter4060/keymaps/default/readme.md +1 -1
@@ 1,6 1,6 @@
# Default layout

This is the default layout for the Laptreus
This is the default layout for the Shapeshifter 4060

## Layout


R keyboards/laptreus/keymaps/vosechu/keymap.c => keyboards/shapeshifter4060/keymaps/vosechu/keymap.c +17 -0
@@ 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"

A keyboards/shapeshifter4060/keymaps/vosechu/readme.md => keyboards/shapeshifter4060/keymaps/vosechu/readme.md +82 -0
@@ 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

A keyboards/shapeshifter4060/readme.md => keyboards/shapeshifter4060/readme.md +37 -0
@@ 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

R keyboards/laptreus/rules.mk => keyboards/shapeshifter4060/rules.mk +0 -6
@@ 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

A keyboards/shapeshifter4060/shapeshifter4060.c => keyboards/shapeshifter4060/shapeshifter4060.c +18 -0
@@ 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"

A keyboards/shapeshifter4060/shapeshifter4060.h => keyboards/shapeshifter4060/shapeshifter4060.h +34 -0
@@ 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 }, \
}