From ffa1507c2c27cf9d1e6fcceeb5a7810a8d2eae19 Mon Sep 17 00:00:00 2001 From: George Wietor Date: Thu, 22 Apr 2021 13:13:44 -0400 Subject: [PATCH] VIA support for Planck Rev6 (#9144) Co-authored-by: Joel Challis Co-authored-by: George Wietor Co-authored-by: Jack Humbert --- keyboards/planck/config.h | 3 +- keyboards/planck/keymaps/via/keymap.c | 97 ++++++++++++++++++++++++++ keyboards/planck/keymaps/via/readme.md | 8 +++ keyboards/planck/keymaps/via/rules.mk | 2 + keyboards/planck/light/config.h | 3 +- keyboards/planck/rev1/config.h | 1 + keyboards/planck/rev2/config.h | 1 + keyboards/planck/rev3/config.h | 1 + keyboards/planck/rev4/config.h | 1 + keyboards/planck/rev5/config.h | 1 + keyboards/planck/rev6/config.h | 1 + 11 files changed, 115 insertions(+), 4 deletions(-) create mode 100644 keyboards/planck/keymaps/via/keymap.c create mode 100644 keyboards/planck/keymaps/via/readme.md create mode 100644 keyboards/planck/keymaps/via/rules.mk diff --git a/keyboards/planck/config.h b/keyboards/planck/config.h index f7dce70207fe621f5d71bc9f1c965484e0353949..71111eca215c43034335415de59a59d763b09ccb 100644 --- a/keyboards/planck/config.h +++ b/keyboards/planck/config.h @@ -21,8 +21,7 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 +#define VENDOR_ID 0x03A8 #define MANUFACTURER OLKB #define PRODUCT Planck diff --git a/keyboards/planck/keymaps/via/keymap.c b/keyboards/planck/keymaps/via/keymap.c new file mode 100644 index 0000000000000000000000000000000000000000..d469cd6aec87000b8654a5918a851b6a2478ddd2 --- /dev/null +++ b/keyboards/planck/keymaps/via/keymap.c @@ -0,0 +1,97 @@ +/* Copyright 2015-2017 Jack Humbert + * Updated 2020 mixedfeelings + * + * 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 + +#define LOWER FN_MO13 +#define RAISE FN_MO23 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Qwerty + * ,-----------------------------------------------------------------------------------. + * | 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 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + [0] = LAYOUT_ortho_4x12 ( + 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_SFTENT, + KC_NO, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [1] = LAYOUT_ortho_4x12 ( + 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_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + /* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 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 | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [2] = LAYOUT_ortho_4x12 ( + 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_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + /* Utility + * ,-----------------------------------------------------------------------------------. + * | |RESET |DEBUG | | | | | | | | |Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [3] = LAYOUT_ortho_4x12 ( + KC_TRNS, RESET, DEBUG, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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/planck/keymaps/via/readme.md b/keyboards/planck/keymaps/via/readme.md new file mode 100644 index 0000000000000000000000000000000000000000..a3cd80f1dbf2f7bc34ac6c50969a849ebbe4c00c --- /dev/null +++ b/keyboards/planck/keymaps/via/readme.md @@ -0,0 +1,8 @@ +# VIA QWERTY layout for Planck Rev6 +A heavily simplified version of the Planck Layout that deals with VIA layer limit by stripping out Dvorak, Colemak, and Plover layouts as well as all internal audio, lighting, and mod switching keys. + +Predefined Layers: +- 0 - Default Planck QWERTY keymap (minus lighting control, plus SHIFT ENTER) +- 1 - Default Planck LOWER keymap +- 2 - Default Planck RAISE keymap +- 3 - UTILITY keymap (RESET, DEBUG) diff --git a/keyboards/planck/keymaps/via/rules.mk b/keyboards/planck/keymaps/via/rules.mk new file mode 100644 index 0000000000000000000000000000000000000000..36b7ba9cbc98c1c3528d9e76b61f24e9c6aa9f80 --- /dev/null +++ b/keyboards/planck/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/planck/light/config.h b/keyboards/planck/light/config.h index c570ec7667c0c27f3cf3edec48785e0ef197ef9c..ccf9f098437c7b1870eec4879c9103f40419d0b7 100644 --- a/keyboards/planck/light/config.h +++ b/keyboards/planck/light/config.h @@ -5,8 +5,7 @@ #undef PRODUCT #define PRODUCT Planck Light -#undef PRODUCT_ID -#define PRODUCT_ID 0x6065 +#define PRODUCT_ID 0xBEA2 #define DEVICE_VER 0x0001 #undef MATRIX_ROW_PINS diff --git a/keyboards/planck/rev1/config.h b/keyboards/planck/rev1/config.h index 397887a73f394a8717162d277512a9bd04ca3cb0..82f9acd8f907aedcb0b5cc560f136c79af387c9c 100644 --- a/keyboards/planck/rev1/config.h +++ b/keyboards/planck/rev1/config.h @@ -1,3 +1,4 @@ #pragma once +#define PRODUCT_ID 0xAE01 #define DEVICE_VER 0x0001 diff --git a/keyboards/planck/rev2/config.h b/keyboards/planck/rev2/config.h index bed78bca3f0a8fd40f4dcda96f278ccc7ea376c0..09ec6c447096c31d9a27542416170db295af7d35 100644 --- a/keyboards/planck/rev2/config.h +++ b/keyboards/planck/rev2/config.h @@ -1,3 +1,4 @@ #pragma once +#define PRODUCT_ID 0xAE01 #define DEVICE_VER 0x0002 diff --git a/keyboards/planck/rev3/config.h b/keyboards/planck/rev3/config.h index fd6f0460e56d30dd9200fc7fcca247ac90a6cec0..a57e42dfbc2afdf89a276c6d285001a9467a4d58 100644 --- a/keyboards/planck/rev3/config.h +++ b/keyboards/planck/rev3/config.h @@ -1,3 +1,4 @@ #pragma once +#define PRODUCT_ID 0xAE01 #define DEVICE_VER 0x0003 diff --git a/keyboards/planck/rev4/config.h b/keyboards/planck/rev4/config.h index 572852bbf0cfb9ef6a32a7523ad8e442747084d6..c802efa8d473bde8173618fe0d9378d752ccd596 100644 --- a/keyboards/planck/rev4/config.h +++ b/keyboards/planck/rev4/config.h @@ -1,3 +1,4 @@ #pragma once +#define PRODUCT_ID 0xAE01 #define DEVICE_VER 0x0004 diff --git a/keyboards/planck/rev5/config.h b/keyboards/planck/rev5/config.h index 93692207805ac72a6148a567a3ee600f99be3151..c2ff086f33b262222a5629b49a99b0a50039fbf3 100644 --- a/keyboards/planck/rev5/config.h +++ b/keyboards/planck/rev5/config.h @@ -1,3 +1,4 @@ #pragma once +#define PRODUCT_ID 0xAE01 #define DEVICE_VER 0x0005 diff --git a/keyboards/planck/rev6/config.h b/keyboards/planck/rev6/config.h index 055610c699f554ca89c20e60d4fc36ecd3eb5971..63c44001f65890551ebd4c6ddf3606218247443c 100644 --- a/keyboards/planck/rev6/config.h +++ b/keyboards/planck/rev6/config.h @@ -19,6 +19,7 @@ #define REV6_CONFIG_H /* USB Device descriptor parameter */ +#define PRODUCT_ID 0xA4F9 #define DEVICE_VER 0x0006 #undef MATRIX_ROWS