Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chameleon - Add keyboard #22427

Merged
merged 26 commits into from
Dec 5, 2023
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
559c9ef
initial commit
TweetyDaBird Sep 6, 2023
f1775e8
initial commit Chameleon
TweetyDaBird Sep 6, 2023
54214cd
Merge branch 'Chameleon' of https://github.com/TweetyDaBird/qmk_firmw…
TweetyDaBird Sep 6, 2023
b538eb5
fleshed out keymap
TweetyDaBird Sep 18, 2023
0454ea7
modified: keyboards/tweetydabird/chameleon/keymaps/default/keymap.c
TweetyDaBird Sep 18, 2023
81ca067
fix keymap
TweetyDaBird Sep 18, 2023
d10e43b
tweaked
TweetyDaBird Oct 7, 2023
d16631b
Minor tweak
TweetyDaBird Nov 9, 2023
535c9f1
Merge branch 'qmk:master' into Chameleon
TweetyDaBird Nov 9, 2023
6f01a14
Fixed keymap error
TweetyDaBird Nov 9, 2023
f9d07a1
Update keyboards/tweetydabird/chameleon/keymaps/default/keymap.c
TweetyDaBird Nov 9, 2023
af5e491
Update keyboards/tweetydabird/chameleon/readme.md
TweetyDaBird Nov 9, 2023
ba736ff
Update keyboards/tweetydabird/chameleon/info.json
TweetyDaBird Nov 9, 2023
a3b9f90
Update keyboards/tweetydabird/chameleon/info.json
TweetyDaBird Nov 9, 2023
018101f
Update keyboards/tweetydabird/chameleon/info.json
TweetyDaBird Nov 9, 2023
9ee36ea
Add image link to readme
TweetyDaBird Nov 9, 2023
3a89a8d
Format info.json
TweetyDaBird Nov 9, 2023
be36574
Update keyboards/tweetydabird/chameleon/info.json
TweetyDaBird Nov 9, 2023
45bec42
Stab in the dark on adding multiple layouts
TweetyDaBird Nov 9, 2023
cc2b23e
Imgur link
TweetyDaBird Nov 9, 2023
f8b7386
Update keyboards/tweetydabird/chameleon/readme.md
TweetyDaBird Nov 9, 2023
cf6fa5b
Apply suggestions from code review
TweetyDaBird Nov 9, 2023
19376b0
Update keyboards/tweetydabird/chameleon/info.json
TweetyDaBird Nov 10, 2023
af7d1ce
Update keyboards/tweetydabird/chameleon/info.json
TweetyDaBird Nov 10, 2023
4ea76cb
Updated readme
TweetyDaBird Nov 11, 2023
774fa83
Update info.json
TweetyDaBird Nov 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions keyboards/tweetydabird/chameleon/config.h
TweetyDaBird marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Copyright 2023 Markus Knutsson (@TweetyDaBird)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral
117 changes: 117 additions & 0 deletions keyboards/tweetydabird/chameleon/info.json
TweetyDaBird marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
{
"manufacturer": "Tweetys Wild Thinking",
"keyboard_name": "Chameleon (QMK)",
TweetyDaBird marked this conversation as resolved.
Show resolved Hide resolved
"maintainer": "TweetyDaBird",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "GP18", "pin_b": "GP19", "resolution": 2},
{"pin_a": "GP27", "pin_b": "GP0", "resolution": 2},
{"pin_a": "GP17", "pin_b": "GP16", "resolution": 2},
{"pin_a": "GP10", "pin_b": "GP9", "resolution": 2}
]
},
"features": {
"bootmagic": true,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true,
"tri_layer": true
},
"matrix_pins": {
"cols": ["GP15", "GP14", "GP6", "GP5", "GP4", "GP3"],
"rows": ["GP29", "GP22", "GP21", "GP24", "GP13", "GP1", "GP11", "GP2", "GP12", "GP8"]
},
"processor": "RP2040",
"rgblight": {
"animations": {
"alternating": true,
"breathing": true,
"rainbow_mood": true
},
"layers": {
"enabled": true
},
"led_count": 8,
"sleep": true
},
"url": "https://lectronz.com/stores/tweetys-wild-thinking",
"usb": {
"device_version": "1.0.0",
"pid": "0x23B0",
"vid": "0xFEED"
},
"ws2812": {
"driver": "vendor",
"pin": "GP20"
},
TweetyDaBird marked this conversation as resolved.
Show resolved Hide resolved
"layouts": {
TweetyDaBird marked this conversation as resolved.
Show resolved Hide resolved
"LAYOUT_ortho_5x12": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [1, 5], "x": 6, "y": 0},
{"matrix": [1, 4], "x": 7, "y": 0},
{"matrix": [1, 3], "x": 8, "y": 0},
{"matrix": [1, 2], "x": 9, "y": 0},
{"matrix": [1, 1], "x": 10, "y": 0},
{"matrix": [1, 0], "x": 11, "y": 0},
{"matrix": [2, 0], "x": 0, "y": 1},
{"matrix": [2, 1], "x": 1, "y": 1},
{"matrix": [2, 2], "x": 2, "y": 1},
{"matrix": [2, 3], "x": 3, "y": 1},
{"matrix": [2, 4], "x": 4, "y": 1},
{"matrix": [2, 5], "x": 5, "y": 1},
{"matrix": [3, 5], "x": 6, "y": 1},
{"matrix": [3, 4], "x": 7, "y": 1},
{"matrix": [3, 3], "x": 8, "y": 1},
{"matrix": [3, 2], "x": 9, "y": 1},
{"matrix": [3, 1], "x": 10, "y": 1},
{"matrix": [3, 0], "x": 11, "y": 1},
{"matrix": [4, 0], "x": 0, "y": 2},
{"matrix": [4, 1], "x": 1, "y": 2},
{"matrix": [4, 2], "x": 2, "y": 2},
{"matrix": [4, 3], "x": 3, "y": 2},
{"matrix": [4, 4], "x": 4, "y": 2},
{"matrix": [4, 5], "x": 5, "y": 2},
{"matrix": [5, 5], "x": 6, "y": 2},
{"matrix": [5, 4], "x": 7, "y": 2},
{"matrix": [5, 3], "x": 8, "y": 2},
{"matrix": [5, 2], "x": 9, "y": 2},
{"matrix": [5, 1], "x": 10, "y": 2},
{"matrix": [5, 0], "x": 11, "y": 2},
{"matrix": [6, 0], "x": 0, "y": 3},
{"matrix": [6, 1], "x": 1, "y": 3},
{"matrix": [6, 2], "x": 2, "y": 3},
{"matrix": [6, 3], "x": 3, "y": 3},
{"matrix": [6, 4], "x": 4, "y": 3},
{"matrix": [6, 5], "x": 5, "y": 3},
{"matrix": [7, 5], "x": 6, "y": 3},
{"matrix": [7, 4], "x": 7, "y": 3},
{"matrix": [7, 3], "x": 8, "y": 3},
{"matrix": [7, 2], "x": 9, "y": 3},
{"matrix": [7, 1], "x": 10, "y": 3},
{"matrix": [7, 0], "x": 11, "y": 3},
{"matrix": [8, 0], "x": 0, "y": 4},
{"matrix": [8, 1], "x": 1, "y": 4},
{"matrix": [8, 2], "x": 2, "y": 4},
{"matrix": [8, 3], "x": 3, "y": 4},
{"matrix": [8, 4], "x": 4, "y": 4},
{"matrix": [8, 5], "x": 5, "y": 4},
{"matrix": [9, 5], "x": 6, "y": 4},
{"matrix": [9, 4], "x": 7, "y": 4},
{"matrix": [9, 3], "x": 8, "y": 4},
{"matrix": [9, 2], "x": 9, "y": 4},
{"matrix": [9, 1], "x": 10, "y": 4},
{"matrix": [9, 0], "x": 11, "y": 4}
]
}
}
}
57 changes: 57 additions & 0 deletions keyboards/tweetydabird/chameleon/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
* │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ Del │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Bksp │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ Esc │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ Shft │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Ent │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ AltGr│ CTRL │ ALT │ Win │ Lower│ Space│ Space│ Raise│ ← │ ↓ │ ↑ │ → │
* └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
*/
[0] = LAYOUT_ortho_5x12(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_RALT, KC_LCTL, KC_LALT, KC_LGUI, TG(1), KC_SPC, KC_SPC, TG(2), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
[1] = LAYOUT_ortho_5x12(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT_ortho_5x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
TweetyDaBird marked this conversation as resolved.
Show resolved Hide resolved
[3] = LAYOUT_ortho_5x12(
TweetyDaBird marked this conversation as resolved.
Show resolved Hide resolved
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
TweetyDaBird marked this conversation as resolved.
Show resolved Hide resolved
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
};
#endif
28 changes: 28 additions & 0 deletions keyboards/tweetydabird/chameleon/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Chameleon

![chameleon](https://lectronz.com/lectronz/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBalFoIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--4be3beffa89240abba6874d8ef242fc7b0b10994/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBTU0lKU2xCRlJ3WTZCa1ZVT2hSeVpYTnBlbVZmZEc5ZmJHbHRhWFJiQjJrQ3dBTnBBb0FDIiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--3e445397da8bf51b531321877b7934091a51a638/IMG_1311.JPEG)
TweetyDaBird marked this conversation as resolved.
Show resolved Hide resolved

Chameleon is a 46-60 Key Grid Ortho Keyboard with optional 5x12 or 4x12 layouts.
TweetyDaBird marked this conversation as resolved.
Show resolved Hide resolved

* Keyboard Maintainer: [TweetyDaBird](https://github.com/TweetyDaBird)
* Hardware Supported: Chameleon 46-60 key PCB
* Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking)
* Hardware Design: [GitHub](https://github.com/TweetyDaBird/Chameleon)

Make example for this keyboard (after setting up your build environment):

make tweetydabird/chameleon:default

Flashing example for this keyboard:

make tweetydabird/chameleon: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 (top left) and plug in the keyboard
* **Physical reset/boot buttons**: Hold the 'BOOT' button and briefly press 'RESET' on the back of the PCB
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if available on your keymap
1 change: 1 addition & 0 deletions keyboards/tweetydabird/chameleon/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# This file intentionally left blank