From 80c6fbad1cd25071942f44119d76d29adcccd9f3 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Thu, 2 Mar 2023 01:53:31 +0800 Subject: [PATCH] [Keyboard] Clean up contra & move to data-driven (#19973) Co-authored-by: Joel Challis --- keyboards/contra/config.h | 15 --- keyboards/contra/contra.c | 1 - keyboards/contra/contra.h | 27 ----- keyboards/contra/info.json | 118 +++++++++++++++++++++- keyboards/contra/keymaps/default/config.h | 3 + keyboards/contra/readme.md | 25 +++-- keyboards/contra/rules.mk | 19 +--- 7 files changed, 135 insertions(+), 73 deletions(-) delete mode 100755 keyboards/contra/config.h delete mode 100755 keyboards/contra/contra.c delete mode 100755 keyboards/contra/contra.h diff --git a/keyboards/contra/config.h b/keyboards/contra/config.h deleted file mode 100755 index 36a3485b95..0000000000 --- a/keyboards/contra/config.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - - -/* key matrix pins */ -#define MATRIX_ROW_PINS { F6, B3, B2, B6 } -#define MATRIX_COL_PINS { F4, F5, B5, B4, E6, D7, C6, D4, D0, D1, D2, D3 } - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* 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 diff --git a/keyboards/contra/contra.c b/keyboards/contra/contra.c deleted file mode 100755 index 3ef66a9c0d..0000000000 --- a/keyboards/contra/contra.c +++ /dev/null @@ -1 +0,0 @@ -#include "contra.h" diff --git a/keyboards/contra/contra.h b/keyboards/contra/contra.h deleted file mode 100755 index 27a8dd2956..0000000000 --- a/keyboards/contra/contra.h +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "quantum.h" - -#define LAYOUT_ortho_4x12( \ - k00, k01, k02, k03, k04, k05, k06, 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, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, 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 }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B } \ -} - -#define LAYOUT_planck_mit( \ - k00, k01, k02, k03, k04, k05, k06, 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, \ - k30, k31, k32, k33, k34, k35, k37, k38, k39, k3A, k3B \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, 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 }, \ - { k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3A, k3B } \ -} diff --git a/keyboards/contra/info.json b/keyboards/contra/info.json index ce1c9a86dc..78aefb1dbf 100644 --- a/keyboards/contra/info.json +++ b/keyboards/contra/info.json @@ -3,6 +3,12 @@ "manufacturer": "Cartel", "url": "", "maintainer": "qmk", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, "usb": { "vid": "0x4354", "pid": "0x0001", @@ -10,14 +16,122 @@ }, "processor": "atmega32u4", "bootloader": "caterina", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["F4", "F5", "B5", "B4", "E6", "D7", "C6", "D4", "D0", "D1", "D2", "D3"], + "rows": ["F6", "B3", "B2", "B6"] + }, "community_layouts": ["planck_mit", "ortho_4x12"], "layouts": { "LAYOUT_ortho_4x12": { - "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"label":"⇑", "x":7, "y":3}, {"label":"←", "x":8, "y":3}, {"label":"↓", "x":9, "y":3}, {"label":"↑", "x":10, "y":3}, {"label":"→", "x":11, "y":3}] + "layout": [ + {"label":"Tab", "matrix": [0, 0], "x":0, "y":0}, + {"label":"Q", "matrix": [0, 1], "x":1, "y":0}, + {"label":"W", "matrix": [0, 2], "x":2, "y":0}, + {"label":"E", "matrix": [0, 3], "x":3, "y":0}, + {"label":"R", "matrix": [0, 4], "x":4, "y":0}, + {"label":"T", "matrix": [0, 5], "x":5, "y":0}, + {"label":"Y", "matrix": [0, 6], "x":6, "y":0}, + {"label":"U", "matrix": [0, 7], "x":7, "y":0}, + {"label":"I", "matrix": [0, 8], "x":8, "y":0}, + {"label":"O", "matrix": [0, 9], "x":9, "y":0}, + {"label":"P", "matrix": [0, 10], "x":10, "y":0}, + {"label":"BackSpace", "matrix": [0, 11], "x":11, "y":0}, + + {"label":"Esc", "matrix": [1, 0], "x":0, "y":1}, + {"label":"A", "matrix": [1, 1], "x":1, "y":1}, + {"label":"S", "matrix": [1, 2], "x":2, "y":1}, + {"label":"D", "matrix": [1, 3], "x":3, "y":1}, + {"label":"F", "matrix": [1, 4], "x":4, "y":1}, + {"label":"G", "matrix": [1, 5], "x":5, "y":1}, + {"label":"H", "matrix": [1, 6], "x":6, "y":1}, + {"label":"J", "matrix": [1, 7], "x":7, "y":1}, + {"label":"K", "matrix": [1, 8], "x":8, "y":1}, + {"label":"L", "matrix": [1, 9], "x":9, "y":1}, + {"label":";", "matrix": [1, 10], "x":10, "y":1}, + {"label":"'", "matrix": [1, 11], "x":11, "y":1}, + + {"label":"Shift", "matrix": [2, 0], "x":0, "y":2}, + {"label":"Z", "matrix": [2, 1], "x":1, "y":2}, + {"label":"X", "matrix": [2, 2], "x":2, "y":2}, + {"label":"C", "matrix": [2, 3], "x":3, "y":2}, + {"label":"V", "matrix": [2, 4], "x":4, "y":2}, + {"label":"B", "matrix": [2, 5], "x":5, "y":2}, + {"label":"N", "matrix": [2, 6], "x":6, "y":2}, + {"label":"M", "matrix": [2, 7], "x":7, "y":2}, + {"label":",", "matrix": [2, 8], "x":8, "y":2}, + {"label":".", "matrix": [2, 9], "x":9, "y":2}, + {"label":"/", "matrix": [2, 10], "x":10, "y":2}, + {"label":"Return", "matrix": [2, 11], "x":11, "y":2}, + + {"matrix": [3, 0], "x":0, "y":3}, + {"label":"Ctrl", "matrix": [3, 1], "x":1, "y":3}, + {"label":"Alt", "matrix": [3, 2], "x":2, "y":3}, + {"label":"Super", "matrix": [3, 3], "x":3, "y":3}, + {"label":"⇓", "matrix": [3, 4], "x":4, "y":3}, + {"matrix": [3, 5], "x":5, "y":3}, + {"matrix": [3, 6], "x":6, "y":3}, + {"label":"⇑", "matrix": [3, 7], "x":7, "y":3}, + {"label":"←", "matrix": [3, 8], "x":8, "y":3}, + {"label":"↓", "matrix": [3, 9], "x":9, "y":3}, + {"label":"↑", "matrix": [3, 10], "x":10, "y":3}, + {"label":"→", "matrix": [3, 11], "x":11, "y":3} + ] }, "LAYOUT_planck_mit": { - "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3, "w":2}, {"label":"⇑", "x":7, "y":3}, {"label":"←", "x":8, "y":3}, {"label":"↓", "x":9, "y":3}, {"label":"↑", "x":10, "y":3}, {"label":"→", "x":11, "y":3}] + "layout": [ + {"label":"Tab", "matrix": [0, 0], "x":0, "y":0}, + {"label":"Q", "matrix": [0, 1], "x":1, "y":0}, + {"label":"W", "matrix": [0, 2], "x":2, "y":0}, + {"label":"E", "matrix": [0, 3], "x":3, "y":0}, + {"label":"R", "matrix": [0, 4], "x":4, "y":0}, + {"label":"T", "matrix": [0, 5], "x":5, "y":0}, + {"label":"Y", "matrix": [0, 6], "x":6, "y":0}, + {"label":"U", "matrix": [0, 7], "x":7, "y":0}, + {"label":"I", "matrix": [0, 8], "x":8, "y":0}, + {"label":"O", "matrix": [0, 9], "x":9, "y":0}, + {"label":"P", "matrix": [0, 10], "x":10, "y":0}, + {"label":"BackSpace", "matrix": [0, 11], "x":11, "y":0}, + + {"label":"Esc", "matrix": [1, 0], "x":0, "y":1}, + {"label":"A", "matrix": [1, 1], "x":1, "y":1}, + {"label":"S", "matrix": [1, 2], "x":2, "y":1}, + {"label":"D", "matrix": [1, 3], "x":3, "y":1}, + {"label":"F", "matrix": [1, 4], "x":4, "y":1}, + {"label":"G", "matrix": [1, 5], "x":5, "y":1}, + {"label":"H", "matrix": [1, 6], "x":6, "y":1}, + {"label":"J", "matrix": [1, 7], "x":7, "y":1}, + {"label":"K", "matrix": [1, 8], "x":8, "y":1}, + {"label":"L", "matrix": [1, 9], "x":9, "y":1}, + {"label":";", "matrix": [1, 10], "x":10, "y":1}, + {"label":"'", "matrix": [1, 11], "x":11, "y":1}, + + {"label":"Shift", "matrix": [2, 0], "x":0, "y":2}, + {"label":"Z", "matrix": [2, 1], "x":1, "y":2}, + {"label":"X", "matrix": [2, 2], "x":2, "y":2}, + {"label":"C", "matrix": [2, 3], "x":3, "y":2}, + {"label":"V", "matrix": [2, 4], "x":4, "y":2}, + {"label":"B", "matrix": [2, 5], "x":5, "y":2}, + {"label":"N", "matrix": [2, 6], "x":6, "y":2}, + {"label":"M", "matrix": [2, 7], "x":7, "y":2}, + {"label":",", "matrix": [2, 8], "x":8, "y":2}, + {"label":".", "matrix": [2, 9], "x":9, "y":2}, + {"label":"/", "matrix": [2, 10], "x":10, "y":2}, + {"label":"Return", "matrix": [2, 11], "x":11, "y":2}, + + {"matrix": [3, 0], "x":0, "y":3}, + {"label":"Ctrl", "matrix": [3, 1], "x":1, "y":3}, + {"label":"Alt", "matrix": [3, 2], "x":2, "y":3}, + {"label":"Super", "matrix": [3, 3], "x":3, "y":3}, + {"label":"⇓", "matrix": [3, 4], "x":4, "y":3}, + {"matrix": [3, 5], "x":5, "y":3}, + {"label":"⇑", "matrix": [3, 7], "x":7, "y":3}, + {"label":"←", "matrix": [3, 8], "x":8, "y":3}, + {"label":"↓", "matrix": [3, 9], "x":9, "y":3}, + {"label":"↑", "matrix": [3, 10], "x":10, "y":3}, + {"label":"→", "matrix": [3, 11], "x":11, "y":3} + ] } } } diff --git a/keyboards/contra/keymaps/default/config.h b/keyboards/contra/keymaps/default/config.h index 6114392f63..76f4aade7b 100644 --- a/keyboards/contra/keymaps/default/config.h +++ b/keyboards/contra/keymaps/default/config.h @@ -1,3 +1,6 @@ +// Copyright QMK Community +// SPDX-License-Identifier: GPL-2.0+ + #pragma once diff --git a/keyboards/contra/readme.md b/keyboards/contra/readme.md index 2bf1d4de35..9be1c66460 100644 --- a/keyboards/contra/readme.md +++ b/keyboards/contra/readme.md @@ -1,16 +1,21 @@ -CONTRA -====== +# Contra -![CONTRA](https://cartel.ltd/wp-content/uploads/2018/01/img_3209.jpg) +Contra is a low cost 40% keyboard. -A 40% keyboard by [CARTEL](https://cartel.ltd/) - -Keyboard Maintainer: The QMK Community -Hardware Supported: CONTRA -Hardware Availability: [CARTEL](https://cartel.ltd/projects/contra/) +* Keyboard Maintainer: The QMK Community +* Hardware Supported: [Contra](https://github.com/ai03-2725/Contra) +* Hardware Availability: PCB sold by various vendors Make example for this keyboard (after setting up your build environment): - make contra:dana + make contra:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +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: + +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured. +* **Physical reset button**: Briefly press the reset button soldered on the PCB. +* **Bootmagic reset**: Hold down the top left key and plug in the controller. diff --git a/keyboards/contra/rules.mk b/keyboards/contra/rules.mk index 6beb282431..6e7633bfe0 100755 --- a/keyboards/contra/rules.mk +++ b/keyboards/contra/rules.mk @@ -1,18 +1 @@ -# 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 -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output - -LAYOUTS_HAS_RGB = no - -# Disable unsupported hardware -RGBLIGHT_SUPPORTED = no -AUDIO_SUPPORTED = no -BACKLIGHT_SUPPORTED = no +# This file intentionally left blank