[Keyboard] Clean up contra & move to data-driven (#19973)
Co-authored-by: Joel Challis <git@zvecr.com>master
parent
f6390892e3
commit
80c6fbad1c
|
@ -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
|
|
|
@ -1 +0,0 @@
|
||||||
#include "contra.h"
|
|
|
@ -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 } \
|
|
||||||
}
|
|
|
@ -3,6 +3,12 @@
|
||||||
"manufacturer": "Cartel",
|
"manufacturer": "Cartel",
|
||||||
"url": "",
|
"url": "",
|
||||||
"maintainer": "qmk",
|
"maintainer": "qmk",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0x4354",
|
"vid": "0x4354",
|
||||||
"pid": "0x0001",
|
"pid": "0x0001",
|
||||||
|
@ -10,14 +16,122 @@
|
||||||
},
|
},
|
||||||
"processor": "atmega32u4",
|
"processor": "atmega32u4",
|
||||||
"bootloader": "caterina",
|
"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"],
|
"community_layouts": ["planck_mit", "ortho_4x12"],
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_ortho_4x12": {
|
"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_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}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
// Copyright QMK Community
|
||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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](https://github.com/ai03-2725/Contra)
|
||||||
Keyboard Maintainer: The QMK Community
|
* Hardware Availability: PCB sold by various vendors
|
||||||
Hardware Supported: CONTRA
|
|
||||||
Hardware Availability: [CARTEL](https://cartel.ltd/projects/contra/)
|
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
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.
|
||||||
|
|
|
@ -1,18 +1 @@
|
||||||
# Build Options
|
# This file intentionally left blank
|
||||||
# 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
|
|
||||||
|
|
Loading…
Reference in New Issue