summaryrefslogtreecommitdiffstats
path: root/keyboards/clueboard/2x1800/2021
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/clueboard/2x1800/2021')
-rw-r--r--keyboards/clueboard/2x1800/2021/.noci0
-rw-r--r--keyboards/clueboard/2x1800/2021/2021.c154
-rw-r--r--keyboards/clueboard/2x1800/2021/2021.h18
-rw-r--r--keyboards/clueboard/2x1800/2021/config.h96
-rw-r--r--keyboards/clueboard/2x1800/2021/font.h156
-rw-r--r--keyboards/clueboard/2x1800/2021/info.json419
-rw-r--r--keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json18
-rw-r--r--keyboards/clueboard/2x1800/2021/keymaps/default_4u/keymap.c28
-rw-r--r--keyboards/clueboard/2x1800/2021/keymaps/default_4u/readme.md1
-rw-r--r--keyboards/clueboard/2x1800/2021/keymaps/default_7u/keymap.c49
-rw-r--r--keyboards/clueboard/2x1800/2021/keymaps/default_7u/readme.md1
-rw-r--r--keyboards/clueboard/2x1800/2021/keymaps/signboard/config.h20
-rw-r--r--keyboards/clueboard/2x1800/2021/keymaps/signboard/keymap.c50
-rw-r--r--keyboards/clueboard/2x1800/2021/keymaps/signboard/readme.md1
-rw-r--r--keyboards/clueboard/2x1800/2021/max7219.c318
-rw-r--r--keyboards/clueboard/2x1800/2021/max7219.h87
-rw-r--r--keyboards/clueboard/2x1800/2021/readme.md17
-rw-r--r--keyboards/clueboard/2x1800/2021/rules.mk1
18 files changed, 0 insertions, 1434 deletions
diff --git a/keyboards/clueboard/2x1800/2021/.noci b/keyboards/clueboard/2x1800/2021/.noci
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/clueboard/2x1800/2021/.noci
+++ /dev/null
diff --git a/keyboards/clueboard/2x1800/2021/2021.c b/keyboards/clueboard/2x1800/2021/2021.c
deleted file mode 100644
index 40f2a2ed67..0000000000
--- a/keyboards/clueboard/2x1800/2021/2021.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Copyright 2017 Zach White <skullydazed@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 "2021.h"
-#include "max7219.h"
-#include "font.h"
-
-#ifndef DRAWING_TOY_MODE
-static uint16_t led_frame_timer = 0;
-
-void matrix_scan_kb(void) {
- if (timer_elapsed(led_frame_timer) > 100) {
- max7219_message_sign_task(true);
- led_frame_timer = timer_read();
- }
-}
-#endif
-
-void matrix_init_kb(void) {
- max7219_init();
-
-#if defined(MAX7219_LED_TEST)
- while(1) {
- for (int i=0; i<MAX7219_CONTROLLERS; i++) {
- max7219_display_test(i, true);
- wait_ms(500);
- max7219_display_test(i, false);
- }
- }
-#elif defined(MAX7219_LED_ITERATE)
- while (1) {
- for (int row=0; row<8; row++) {
- for(int col=0;col<8*MAX7219_CONTROLLERS;col++) {
- max7219_set_led(row, col, true);
- wait_ms(500);
- max7219_set_led(row, col, false);
- }
- }
- }
-#elif defined(MAX7219_LED_DANCE)
- while (1) {
- for (int col=0; col<8; col++) {
- for (int device_num=0; device_num<MAX7219_CONTROLLERS; device_num++) {
- if (col % 2 == 0) {
- max7219_led_a[col][device_num] = 0b01010101;
- } else {
- max7219_led_a[col][device_num] = 0b10101010;
- }
- }
- }
- max7219_write_frame();
- wait_ms(500);
- for (int col=0; col<8; col++) {
- for (int device_num=0; device_num<MAX7219_CONTROLLERS; device_num++) {
- if (col % 2 == 0) {
- max7219_led_a[col][device_num] = 0b10101010;
- } else {
- max7219_led_a[col][device_num] = 0b01010101;
- }
- }
- }
- max7219_write_frame();
- wait_ms(500);
- }
-#elif defined(MAX7219_LED_FONTTEST)
- uint8_t message[MSG_FONTTEST_LEN][6] = MSG_FONTTEST;
- max7219_message_sign(message, MSG_FONTTEST_LEN);
-#elif defined(MAX7219_LED_CLUEBOARD)
- uint8_t message[MSG_CLUEBOARD_LEN][6] = MSG_CLUEBOARD;
- max7219_message_sign(message, MSG_CLUEBOARD_LEN);
-#elif defined(MAX7219_LED_KONAMI)
- uint8_t message[MSG_KONAMI_LEN][6] = MSG_KONAMI;
- max7219_message_sign(message, MSG_KONAMI_LEN);
-#elif defined(MAX7219_LED_QMK_POWERED)
- uint8_t message[MSG_QMK_POWERED_LEN][6] = MSG_QMK_POWERED;
- max7219_message_sign(message, MSG_QMK_POWERED_LEN);
-#elif defined(DRAWING_TOY_MODE)
- max7219_set_led(0, 0, true);
-#endif
-}
-
-__attribute__ ((weak))
-bool encoder_update_keymap(int8_t index, bool clockwise) {
- return false;
-}
-
-#define NUM_COLUMNS 8*MAX7219_CONTROLLERS
-uint8_t led_position[2] = {0,0}; // The location of the cursor in the matrix
-
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_keymap(index, clockwise)) {
-#if defined(DRAWING_TOY_MODE)
- // Encoder 1, left
- if (index == 0 && clockwise) {
- if (led_position[0] < NUM_COLUMNS-1) { // turned right
- led_position[0]++;
- } else {
- led_position[0]=0;
- }
- } else if (index == 0) {
- if (led_position[0] > 0) { // turned left
- led_position[0]--;
- } else {
- led_position[0]=NUM_COLUMNS-1;
- }
- }
-
- // Encoder 2, right
- else if (index == 1 && clockwise) {
- if (led_position[1] < 7) { // turned right
- led_position[1]++;
- } else {
- led_position[1]=0;
- }
- } else if (index == 1) {
- if (led_position[1] > 0) { // turned left
- led_position[1]--;
- } else {
- led_position[1]=7;
- }
- }
-
- max7219_set_led(led_position[1], led_position[0], true);
-#else
- // Encoder 1, left
- if (index == 0 && clockwise) {
- tap_code(KC_MS_R); // turned right
- } else if (index == 0) {
- tap_code(KC_MS_L); // turned left
- }
-
- // Encoder 2, right
- else if (index == 1 && clockwise) {
- tap_code(KC_MS_U); // turned right
- } else if (index == 1) {
- tap_code(KC_MS_D); // turned left
- }
-#endif
- }
- return true;
-}
diff --git a/keyboards/clueboard/2x1800/2021/2021.h b/keyboards/clueboard/2x1800/2021/2021.h
deleted file mode 100644
index ecb9e00c4e..0000000000
--- a/keyboards/clueboard/2x1800/2021/2021.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2017 Zach White <skullydazed@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"
diff --git a/keyboards/clueboard/2x1800/2021/config.h b/keyboards/clueboard/2x1800/2021/config.h
deleted file mode 100644
index eccede6a41..0000000000
--- a/keyboards/clueboard/2x1800/2021/config.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-Copyright 2017 Zach White <skullydazed@clueboard.co>
-
-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 "config_common.h"
-
-/* audio support */
-#define AUDIO_PIN_ALT B7
-#define AUDIO_PIN C4
-#define AUDIO_CLICKY
-
-/*
- * Encoder Assignments
- */
-#define ENCODERS_PAD_A { D0, C5 }
-#define ENCODERS_PAD_B { D1, C6 }
-#define ENCODER_RESOLUTION 4
-
-/* 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
-
-// Configure our MAX7219's
-//#define MAX7219_LOAD B0
-//#define MAX7219_CONTROLLERS 4
-//#define MAX7219_LED_INTENSITY 1 // Max: 15
-
-// Define this to disable the startup test
-//#define MAX7219_NO_STARTUP_TEST
-
-/* This controls the speed of the sign, lower is faster. This is the minimal
- * time between animation frames, in ms. Actual time between frames will
- * always be slightly longer due to other keyboard tasks.
- */
-//#define MAX7219_SCROLL_TIME 100
-
-/* This setting controls how big the scrollable area for your message sign
- * is. If you set it to 0 your display will not work. If you set it to 1
- * you will have no buffer area, and you will only be able to display a
- * total of 6 characters. Every number after that increases the buffer area
- * by 32 columns.
- *
- * You can calculate how big to make this for the number of characters you
- * want to display:
- *
- * <number of characters in message> * 6 / 32 + 1
- *
- * You do not need to tune this unless you are trying to save ram.
- */
-//#define MAX7219_BUFFER_MULTIPLIER 24
-
-// You can only define one of these at a time:
-
-// Define this to test all LEDs. Keyboard functions will not work.
-//#define MAX7219_LED_TEST
-
-// Define this to iterate through LEDs 1 by 1. Keyboard functions will not work.
-//#define MAX7219_LED_ITERATE
-
-// Define this to show a simple animation. Keyboard functions will not work.
-//#define MAX7219_LED_DANCE
-
-// Define this to show all the characters available
-//#define MAX7219_LED_FONTTEST
-
-// Define this to show Clueboard on the sign
-//#define MAX7219_LED_CLUEBOARD
-
-// Define this to show the Konami code on the sign
-//#define MAX7219_LED_KONAMI
-
-// Define this to show QMK on the sign
-//#define MAX7219_LED_QMK_POWERED
-
-// Define this to treat the message board like an etch-a-sketch
-//#define DRAWING_TOY_MODE
-
-// Define this if you don't want any of the above
-//#define MAX7219_LED_CUSTOM
diff --git a/keyboards/clueboard/2x1800/2021/font.h b/keyboards/clueboard/2x1800/2021/font.h
deleted file mode 100644
index 5ddcbfba56..0000000000
--- a/keyboards/clueboard/2x1800/2021/font.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/* 5x8 Font for Clueboard 2x1800.
- *
- * Copyright (c) 2021 Zach White <skullydazed@gmail.com>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * This permission notice shall be included in all copies or
- * substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-// Top row of keyboard, when shift held
-#define CHR_TILDE {0b00110000, 0b01000000, 0b00110000, 0b00001000, 0b00110000, 0b00000000}
-#define CHR_BANG {0b00000000, 0b00000000, 0b11111010, 0b10000000, 0b00000000, 0b00000000}
-#define CHR_AT {0b01001100, 0b10010010, 0b10011110, 0b10000010, 0b01111100, 0b00000000}
-#define CHR_POUND {0b00101000, 0b11111110, 0b00101000, 0b11111110, 0b00101000, 0b00000000}
-#define CHR_DOLLAR {0b00100100, 0b01010100, 0b11111110, 0b10101010, 0b01001000, 0b00000000}
-#define CHR_PERCENT {0b11000010, 0b11000100, 0b00010000, 0b00100110, 0b01000110, 0b00000000}
-#define CHR_CARET {0b00100000, 0b01000000, 0b10000000, 0b01000000, 0b00100000, 0b00000000}
-#define CHR_AMPERSAND {0b01101100, 0b10010010, 0b10101010, 0b01000100, 0b00001010, 0b00000000}
-#define CHR_ASTERISK {0b00101000, 0b00010000, 0b01111100, 0b00010000, 0b00101000, 0b00000000}
-#define CHR_LPAREN {0b00000000, 0b00111000, 0b01000100, 0b10000010, 0b00000000, 0b00000000}
-#define CHR_RPAREN {0b00000000, 0b10000010, 0b01000100, 0b00111000, 0b00000000, 0b00000000}
-#define CHR_UNDERSCORE {0b00000010, 0b00000010, 0b00000010, 0b00000010, 0b00000010, 0b00000000}
-#define CHR_PLUS {0b00010000, 0b00010000, 0b01111100, 0b00010000, 0b00010000, 0b00000000}
-
-// Top row of keyboard, without shift
-#define CHR_BACKTICK {0b00000000, 0b11000000, 0b01100000, 0b10000000, 0b00000000, 0b00000000}
-#define CHR_1 {0b00100000, 0b01000010, 0b11111110, 0b00000010, 0b00000010, 0b00000000}
-#define CHR_2 {0b01000010, 0b10000110, 0b10001010, 0b10010010, 0b01100010, 0b00000000}
-#define CHR_3 {0b10000100, 0b10000010, 0b10100010, 0b11010010, 0b10001100, 0b00000000}
-#define CHR_4 {0b00011000, 0b00101000, 0b01001000, 0b11111110, 0b00001000, 0b00000000}
-#define CHR_5 {0b11100100, 0b10100010, 0b10100010, 0b10100010, 0b10011100, 0b00000000}
-#define CHR_6 {0b00111100, 0b01010010, 0b10010010, 0b10010010, 0b00001100, 0b00000000}
-#define CHR_7 {0b11000000, 0b10001110, 0b10010000, 0b10100000, 0b11000000, 0b00000000}
-#define CHR_8 {0b01101100, 0b10010010, 0b10010010, 0b10010010, 0b01101100, 0b00000000}
-#define CHR_9 {0b01100000, 0b10010010, 0b10010010, 0b10010010, 0b01111000, 0b00000000}
-#define CHR_0 {0b01111100, 0b10001010, 0b10010010, 0b10100010, 0b01111100, 0b00000000}
-#define CHR_DASH {0b00000000, 0b00010000, 0b00010000, 0b00010000, 0b00000000, 0b00000000}
-#define CHR_EQUAL {0b00000000, 0b00101000, 0b00101000, 0b00101000, 0b00000000, 0b00000000}
-
-// Letters
-#define CHR_A {0b01111110, 0b10001000, 0b10001000, 0b10001000, 0b01111110, 0b00000000}
-#define CHR_B {0b11111110, 0b10010010, 0b10010010, 0b10010010, 0b01101100, 0b00000000}
-#define CHR_C {0b01111100, 0b10000010, 0b10000010, 0b10000010, 0b01000100, 0b00000000}
-#define CHR_D {0b11111110, 0b10000010, 0b10000010, 0b10000010, 0b01111100, 0b00000000}
-#define CHR_E {0b11111110, 0b10010010, 0b10010010, 0b10010010, 0b10000010, 0b00000000}
-#define CHR_F {0b11111110, 0b10010000, 0b10010000, 0b10010000, 0b10000000, 0b00000000}
-#define CHR_G {0b01111100, 0b10000010, 0b10010010, 0b10010010, 0b01011100, 0b00000000}
-#define CHR_H {0b11111110, 0b00010000, 0b00010000, 0b00010000, 0b11111110, 0b00000000}
-#define CHR_I {0b00000000, 0b10000010, 0b11111110, 0b10000010, 0b00000000, 0b00000000}
-#define CHR_J {0b00000100, 0b00000010, 0b10000010, 0b11111100, 0b10000000, 0b00000000}
-#define CHR_K {0b11111110, 0b00010000, 0b00101000, 0b01000100, 0b10000010, 0b00000000}
-#define CHR_L {0b00000000, 0b11111110, 0b00000010, 0b00000010, 0b00000010, 0b00000000}
-#define CHR_M {0b11111110, 0b01000000, 0b00110000, 0b01000000, 0b11111110, 0b00000000}
-#define CHR_N {0b11111110, 0b01100000, 0b00010000, 0b00001100, 0b11111110, 0b00000000}
-#define CHR_O {0b01111100, 0b10000010, 0b10000010, 0b10000010, 0b01111100, 0b00000000}
-#define CHR_P {0b11111110, 0b10010000, 0b10010000, 0b10010000, 0b01100000, 0b00000000}
-#define CHR_Q {0b01111100, 0b10000010, 0b10001010, 0b10000100, 0b01111010, 0b00000000}
-#define CHR_R {0b11111110, 0b10010000, 0b10011000, 0b10010100, 0b01100010, 0b00000000}
-#define CHR_S {0b01100100, 0b10010010, 0b10010010, 0b10010010, 0b01001100, 0b00000000}
-#define CHR_T {0b10000000, 0b10000000, 0b11111110, 0b10000000, 0b10000000, 0b00000000}
-#define CHR_U {0b11111100, 0b00000010, 0b00000010, 0b00000010, 0b11111100, 0b00000000}
-#define CHR_V {0b11111000, 0b00000100, 0b00000010, 0b00000100, 0b11111000, 0b00000000}
-#define CHR_W {0b11111100, 0b00000010, 0b00011100, 0b00000010, 0b11111110, 0b00000000}
-#define CHR_X {0b11000110, 0b00101000, 0b00010000, 0b00101000, 0b11000110, 0b00000000}
-#define CHR_Y {0b11100000, 0b00010000, 0b00001110, 0b00010000, 0b11100000, 0b00000000}
-#define CHR_Z {0b10000110, 0b10001010, 0b10010010, 0b10100010, 0b11000010, 0b00000000}
-
-#define CHR_a {0b00000100, 0b00101010, 0b00101010, 0b00101010, 0b00011110, 0b00000000}
-#define CHR_b {0b11111110, 0b00010010, 0b00100010, 0b00100010, 0b00011100, 0b00000000}
-#define CHR_c {0b00011100, 0b00100010, 0b00100010, 0b00100010, 0b00000100, 0b00000000}
-#define CHR_d {0b00011100, 0b00100010, 0b00100010, 0b00010010, 0b11111110, 0b00000000}
-#define CHR_e {0b00011100, 0b00101010, 0b00101010, 0b00101010, 0b00011000, 0b00000000}
-#define CHR_f {0b00000000, 0b00010000, 0b01111110, 0b10010000, 0b10000000, 0b01000000}
-#define CHR_g {0b00011000, 0b00100101, 0b00100101, 0b00100101, 0b00111110, 0b00000000}
-#define CHR_h {0b11111110, 0b00010000, 0b00100000, 0b00100000, 0b00011110, 0b00000000}
-#define CHR_i {0b00000000, 0b00010010, 0b10111110, 0b00000010, 0b00000000, 0b00000000}
-#define CHR_j {0b00000100, 0b00000010, 0b00100010, 0b10111100, 0b00000000, 0b00000000}
-#define CHR_k {0b11111110, 0b00001000, 0b00010100, 0b00100010, 0b00000000, 0b00000000}
-#define CHR_l {0b00000000, 0b10000010, 0b11111110, 0b00000010, 0b00000000, 0b00000000}
-#define CHR_m {0b00111110, 0b00100000, 0b00111110, 0b00100000, 0b00111110, 0b00000000}
-#define CHR_n {0b00111110, 0b00010000, 0b00100000, 0b00100000, 0b00011110, 0b00000000}
-#define CHR_o {0b00011100, 0b00100010, 0b00100010, 0b00100010, 0b00011100, 0b00000000}
-#define CHR_p {0b00111111, 0b00100100, 0b00100100, 0b00100100, 0b00011000, 0b00000000}
-#define CHR_q {0b00011000, 0b00100100, 0b00100100, 0b00011000, 0b00111111, 0b00000000}
-#define CHR_r {0b00111110, 0b00010000, 0b00100000, 0b00100000, 0b00010000, 0b00000000}
-#define CHR_s {0b00010010, 0b00101010, 0b00101010, 0b00101010, 0b00000100, 0b00000000}
-#define CHR_t {0b00100000, 0b11111100, 0b00100010, 0b00000010, 0b00000100, 0b00000000}
-#define CHR_u {0b00111100, 0b00000010, 0b00000010, 0b00000100, 0b00111110, 0b00000000}
-#define CHR_v {0b00111000, 0b00000100, 0b00000010, 0b00000100, 0b00111000, 0b00000000}
-#define CHR_w {0b00111100, 0b00000010, 0b00111100, 0b00000010, 0b00111100, 0b00000000}
-#define CHR_x {0b00100010, 0b00010100, 0b00001000, 0b00010100, 0b00100010, 0b00000000}
-#define CHR_y {0b00111000, 0b00000101, 0b00000101, 0b00000101, 0b00111110, 0b00000000}
-#define CHR_z {0b00100010, 0b00100110, 0b00101010, 0b00110010, 0b00100010, 0b00000000}
-
-// Punctuation
-#define CHR_LCURLY {0b00000000, 0b00010000, 0b01101100, 0b10000010, 0b00000000, 0b00000000}
-#define CHR_RCURLY {0b00000000, 0b10000010, 0b01101100, 0b00010000, 0b00000000, 0b00000000}
-#define CHR_PIPE {0b00000000, 0b00000000, 0b11101110, 0b00000000, 0b00000000, 0b00000000}
-#define CHR_COLON {0b00000000, 0b00000000, 0b01101100, 0b01101100, 0b00000000, 0b00000000}
-#define CHR_QUOTE {0b00000000, 0b01110000, 0b00000000, 0b01110000, 0b00000000, 0b00000000}
-#define CHR_LESSTHAN {0b00010000, 0b00101000, 0b01000100, 0b10000010, 0b00000000, 0b00000000}
-#define CHR_GREATERTHAN {0b10000010, 0b01000100, 0b00101000, 0b00010000, 0b00000000, 0b00000000}
-#define CHR_QUESTIONMARK {0b01000000, 0b10000000, 0b10001010, 0b10010000, 0b01100000, 0b00000000}
-#define CHR_INTERROBANG {0b01100000, 0b10000000, 0b11101010, 0b10010000, 0b01100000, 0b00000000}
-#define CHR_LBRACKET {0b00000000, 0b11111110, 0b10000010, 0b10000010, 0b00000000, 0b00000000}
-#define CHR_RBRACKET {0b00000000, 0b10000010, 0b10000010, 0b11111110, 0b00000000, 0b00000000}
-#define CHR_BACKSLASH {0b01000000, 0b00100000, 0b00010000, 0b00001000, 0b00000100, 0b00000000}
-#define CHR_SEMICOLON {0b00000000, 0b00000000, 0b01101010, 0b01101100, 0b00000000, 0b00000000}
-#define CHR_APOSTROPHE {0b00000000, 0b00000000, 0b01110000, 0b00000000, 0b00000000, 0b00000000}
-#define CHR_COMMA {0b00000000, 0b00000000, 0b00001010, 0b00001100, 0b00000000, 0b00000000}
-#define CHR_PERIOD {0b00000000, 0b00000000, 0b00000110, 0b00000110, 0b00000000, 0b00000000}
-#define CHR_SLASH {0b00000100, 0b00001000, 0b00010000, 0b00100000, 0b01000000, 0b00000000}
-#define CHR_SPACE {0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000}
-#define CHR_DEGREES {0b11000000, 0b11000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000}
-
-// Graphics
-#define CHR_CENT {0b00111000, 0b01000100, 0b11111110, 0b01000100, 0b00101000, 0b00000000}
-#define CHR_DEGREES_C {0b11000000, 0b11001100, 0b00010010, 0b00010010, 0b00000000, 0b00000000}
-#define CHR_DEGREES_F {0b11000000, 0b11011110, 0b00010100, 0b00010000, 0b00000000, 0b00000000}
-#define CHR_DIVISION {0b00010000, 0b00010000, 0b01010100, 0b00010000, 0b00010000, 0b00000000}
-#define CHR_LEFT_ARROW {0b00010000, 0b00111000, 0b01010100, 0b00010000, 0b00010000, 0b00000000}
-#define CHR_RIGHT_ARROW {0b00010000, 0b00010000, 0b01010100, 0b00111000, 0b00010000, 0b00000000}
-#define CHR_UP_ARROW {0b00010000, 0b00100000, 0b01111110, 0b00100000, 0b00010000, 0b00000000}
-#define CHR_DOWN_ARROW {0b00001000, 0b00000100, 0b01111110, 0b00000100, 0b00001000, 0b00000000}
-#define CHR_PI {0b00100010, 0b00111100, 0b00100000, 0b00111110, 0b00100010, 0b00000000}
-#define CHR_PSI {0b01111000, 0b00001000, 0b01111110, 0b00001000, 0b01111000, 0b00000000}
-
-// Predefined messages
-#define MSG_FONTTEST {CHR_TILDE, CHR_BANG, CHR_AT, CHR_POUND, CHR_PERCENT, CHR_CARET, CHR_AMPERSAND, CHR_LPAREN, CHR_RPAREN, CHR_UNDERSCORE, CHR_PLUS, CHR_BACKTICK, CHR_1, CHR_2, CHR_3, CHR_4, CHR_5, CHR_6, CHR_7, CHR_8, CHR_9, CHR_0, CHR_DASH, CHR_EQUAL, CHR_A, CHR_B, CHR_C, CHR_D, CHR_E, CHR_F, CHR_G, CHR_H, CHR_I, CHR_J, CHR_K, CHR_L, CHR_M, CHR_N, CHR_O, CHR_P, CHR_Q, CHR_R, CHR_S, CHR_T, CHR_U, CHR_V, CHR_W, CHR_X, CHR_Y, CHR_Z, CHR_a, CHR_b, CHR_c, CHR_d, CHR_e, CHR_f, CHR_g, CHR_h, CHR_i, CHR_j, CHR_k, CHR_l, CHR_m, CHR_n, CHR_o, CHR_p, CHR_q, CHR_r, CHR_s, CHR_t, CHR_u, CHR_v, CHR_w, CHR_x, CHR_y, CHR_z, CHR_LCURLY, CHR_RCURLY, CHR_PIPE, CHR_COLON, CHR_QUOTE, CHR_LESSTHAN, CHR_GREATERTHAN, CHR_QUESTIONMARK, CHR_INTERROBANG, CHR_LBRACKET, CHR_RBRACKET, CHR_BACKSLASH, CHR_SEMICOLON, CHR_APOSTROPHE, CHR_COMMA, CHR_PERIOD, CHR_SLASH, CHR_CENT, CHR_DEGREES, CHR_DEGREES_C, CHR_DEGREES_F, CHR_DIVISION, CHR_LEFT_ARROW, CHR_RIGHT_ARROW, CHR_UP_ARROW, CHR_DOWN_ARROW, CHR_PI, CHR_PSI}
-#define MSG_FONTTEST_LEN 104
-
-#define MSG_CLUEBOARD {CHR_INTERROBANG, CHR_C, CHR_l, CHR_u, CHR_e, CHR_b, CHR_o, CHR_a, CHR_r, CHR_d}
-#define MSG_CLUEBOARD_LEN 10
-
-#define MSG_KONAMI {CHR_UP_ARROW, CHR_SPACE, CHR_UP_ARROW, CHR_SPACE, CHR_DOWN_ARROW, CHR_SPACE, CHR_DOWN_ARROW, CHR_SPACE, CHR_LEFT_ARROW, CHR_SPACE, CHR_RIGHT_ARROW, CHR_SPACE, CHR_LEFT_ARROW, CHR_SPACE, CHR_RIGHT_ARROW, CHR_SPACE, CHR_B, CHR_SPACE, CHR_A, CHR_SPACE, CHR_LESSTHAN, CHR_S, CHR_E, CHR_L, CHR_E, CHR_C, CHR_T, CHR_GREATERTHAN, CHR_SPACE, CHR_LESSTHAN, CHR_S, CHR_T, CHR_A, CHR_R, CHR_T, CHR_GREATERTHAN}
-#define MSG_KONAMI_LEN 36
-
-#define MSG_QMK_POWERED {CHR_PSI, CHR_P, CHR_o, CHR_w, CHR_e, CHR_r, CHR_e, CHR_d, CHR_SPACE, CHR_b, CHR_y, CHR_SPACE, CHR_Q, CHR_M, CHR_K}
-#define MSG_QMK_POWERED_LEN 15
diff --git a/keyboards/clueboard/2x1800/2021/info.json b/keyboards/clueboard/2x1800/2021/info.json
deleted file mode 100644
index 088ce343db..0000000000
--- a/keyboards/clueboard/2x1800/2021/info.json
+++ /dev/null
@@ -1,419 +0,0 @@
-{
- "manufacturer": "Clueboard",
- "keyboard_name": "Clueboard 2x1800 2021",
- "maintainer": "skullydazed",
- "bootloader": "halfkay",
- "debounce": 5,
- "diode_direction": "ROW2COL",
- "features": {
- "audio": true,
- "bootmagic": false,
- "console": true,
- "encoder": true,
- "extrakey": true,
- "mousekey": true,
- "nkro": true
- },
- "indicators": {
- "caps_lock": "B5",
- "num_lock": "B4",
- "scroll_lock": "B6"
- },
- "matrix_pins": {
- "cols": ["D2", "D3", "D4", "D5", "D7", "E0", "E1", "F0", "E6", "A0", "E7"],
- "rows": ["C0", "C1", "C2", "C3", "C7", "F7", "F1", "F2", "F3", "F4", "F5", "F6"]
- },
- "processor": "at90usb1286",
- "usb": {
- "pid": "0x23A0"
- },
- "layout_aliases": {
- "LAYOUT": "LAYOUT_all"
- },
- "layouts": {
- "LAYOUT_4u_space": {
- "layout": [
- { "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
- { "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
- { "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
- { "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
- { "matrix": [0, 4], "w": 1, "x": 4.75, "y": 0 },
- { "matrix": [0, 6], "w": 1, "x": 6.25, "y": 0 },
- { "matrix": [0, 7], "w": 1, "x": 7.25, "y": 0 },
- { "matrix": [0, 8], "w": 1, "x": 8.25, "y": 0 },
- { "matrix": [0, 9], "w": 1, "x": 9.25, "y": 0 },
- { "matrix": [0, 10], "w": 1, "x": 10.75, "y": 0 },
- { "matrix": [6, 0], "w": 1, "x": 11.75, "y": 0 },
- { "matrix": [6, 1], "w": 1, "x": 12.75, "y": 0 },
- { "matrix": [6, 2], "w": 1, "x": 13.75, "y": 0 },
- { "matrix": [6, 3], "w": 1, "x": 15.25, "y": 0 },
- { "matrix": [6, 4], "w": 1, "x": 16.25, "y": 0 },
- { "matrix": [6, 5], "w": 1, "x": 17.25, "y": 0 },
- { "matrix": [6, 6], "w": 1, "x": 18.25, "y": 0 },
- { "matrix": [6, 7], "w": 1, "x": 20, "y": 0 },
- { "matrix": [6, 8], "w": 1, "x": 21, "y": 0 },
- { "matrix": [6, 9], "w": 1, "x": 22, "y": 0 },
- { "matrix": [6, 10], "w": 1, "x": 23, "y": 0 },
- { "matrix": [1, 0], "w": 1, "x": 0, "y": 1.25 },
- { "matrix": [1, 1], "w": 1, "x": 1, "y": 1.25 },
- { "matrix": [1, 2], "w": 1, "x": 2, "y": 1.25 },
- { "matrix": [1, 3], "w": 1, "x": 3, "y": 1.25 },
- { "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1.25 },
- { "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1.25 },
- { "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1.25 },
- { "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1.25 },
- { "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1.25 },
- { "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1.25 },
- { "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1.25 },
- { "matrix": [7, 0], "w": 1, "x": 11.5, "y": 1.25 },
- { "matrix": [7, 1], "w": 1, "x": 12.5, "y": 1.25 },
- { "matrix": [7, 2], "w": 1, "x": 13.5, "y": 1.25 },
- { "matrix": [7, 3], "w": 1, "x": 14.5, "y": 1.25 },
- { "matrix": [7, 4], "w": 1, "x": 15.5, "y": 1.25 },
- { "matrix": [7, 5], "w": 1, "x": 16.5, "y": 1.25 },
- { "matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25 },
- { "matrix": [7, 7], "w": 1, "x": 20, "y": 1.25 },
- { "matrix": [7, 8], "w": 1, "x": 21, "y": 1.25 },
- { "matrix": [7, 9], "w": 1, "x": 22, "y": 1.25 },
- { "matrix": [7, 10], "w": 1, "x": 23, "y": 1.25 },
- { "h": 2, "matrix": [2, 0], "w": 1, "x": 0, "y": 2.25 },
- { "matrix": [2, 1], "w": 1, "x": 1, "y": 2.25 },
- { "matrix": [2, 2], "w": 1, "x": 2, "y": 2.25 },
- { "matrix": [2, 3], "w": 1, "x": 3, "y": 2.25 },
- { "matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.25 },
- { "matrix": [2, 5], "w": 1, "x": 6, "y": 2.25 },
- { "matrix": [2, 6], "w": 1, "x": 7, "y": 2.25 },
- { "matrix": [2, 7], "w": 1, "x": 8, "y": 2.25 },
- { "matrix": [2, 8], "w": 1, "x": 9, "y": 2.25 },
- { "matrix": [2, 9], "w": 1, "x": 10, "y": 2.25 },
- { "matrix": [2, 10], "w": 1, "x": 11, "y": 2.25 },
- { "matrix": [8, 0], "w": 1, "x": 12, "y": 2.25 },
- { "matrix": [8, 1], "w": 1, "x": 13, "y": 2.25 },
- { "matrix": [8, 2], "w": 1, "x": 14, "y": 2.25 },
- { "matrix": [8, 3], "w": 1, "x": 15, "y": 2.25 },
- { "matrix": [8, 4], "w": 1, "x": 16, "y": 2.25 },
- { "matrix": [8, 5], "w": 1, "x": 17, "y": 2.25 },
- { "matrix": [8, 6], "w": 1.5, "x": 18, "y": 2.25 },
- { "matrix": [8, 7], "w": 1, "x": 20, "y": 2.25 },
- { "matrix": [8, 8], "w": 1, "x": 21, "y": 2.25 },
- { "matrix": [8, 9], "w": 1, "x": 22, "y": 2.25 },
- { "h": 2, "matrix": [8, 10], "w": 1, "x": 23, "y": 2.25 },
- { "matrix": [3, 1], "w": 1, "x": 1, "y": 3.25 },
- { "matrix": [3, 2], "w": 1, "x": 2, "y": 3.25 },
- { "matrix": [3, 3], "w": 1, "x": 3, "y": 3.25 },
- { "matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.25 },
- { "matrix": [3, 5], "w": 1, "x": 6.25, "y": 3.25 },
- { "matrix": [3, 6], "w": 1, "x": 7.25, "y": 3.25 },
- { "matrix": [3, 7], "w": 1, "x": 8.25, "y": 3.25 },
- { "matrix": [3, 8], "w": 1, "x": 9.25, "y": 3.25 },
- { "matrix": [3, 9], "w": 1, "x": 10.25, "y": 3.25 },
- { "matrix": [3, 10], "w": 1, "x": 11.25, "y": 3.25 },
- { "matrix": [9, 0], "w": 1, "x": 12.25, "y": 3.25 },
- { "matrix": [9, 1], "w": 1, "x": 13.25, "y": 3.25 },
- { "matrix": [9, 2], "w": 1, "x": 14.25, "y": 3.25 },
- { "matrix": [9, 3], "w": 1, "x": 15.25, "y": 3.25 },
- { "matrix": [9, 4], "w": 1, "x": 16.25, "y": 3.25 },
- { "matrix": [9, 5], "w": 2.25, "x": 17.25, "y": 3.25 },
- { "matrix": [9, 7], "w": 1, "x": 20, "y": 3.25 },
- { "matrix": [9, 8], "w": 1, "x": 21, "y": 3.25 },
- { "matrix": [9, 9], "w": 1, "x": 22, "y": 3.25 },
- { "h": 2, "matrix": [4, 0], "w": 1, "x": 0, "y": 4.25 },
- { "matrix": [4, 1], "w": 1, "x": 1, "y": 4.25 },
- { "matrix": [4, 2], "w": 1, "x": 2, "y": 4.25 },
- { "matrix": [4, 3], "w": 1, "x": 3, "y": 4.25 },
- { "matrix": [4, 4], "w": 1.25, "x": 5.5, "y": 4.25 },
- { "matrix": [4, 5], "w": 1, "x": 6.75, "y": 4.25 },
- { "matrix": [4, 6], "w": 1, "x": 7.75, "y": 4.25 },
- { "matrix": [4, 7], "w": 1, "x": 8.75, "y": 4.25 },
- { "matrix": [4, 8], "w": 1, "x": 9.75, "y": 4.25 },
- { "matrix": [4, 9], "w": 1, "x": 10.75, "y": 4.25 },
- { "matrix": [4, 10], "w": 1, "x": 11.75, "y": 4.25 },
- { "matrix": [10, 0], "w": 1, "x": 12.75, "y": 4.25 },
- { "matrix": [10, 1], "w": 1, "x": 13.75, "y": 4.25 },
- { "matrix": [10, 2], "w": 1, "x": 14.75, "y": 4.25 },
- { "matrix": [10, 3], "w": 1, "x": 15.75, "y": 4.25 },
- { "matrix": [10, 4], "w": 1.75, "x": 16.75, "y": 4.25 },
- { "matrix": [10, 5], "w": 1, "x": 20, "y": 4.25 },
- { "matrix": [9, 6], "w": 1, "x": 21, "y": 4.25 },
- { "matrix": [10, 7], "w": 1, "x": 22, "y": 4.25 },
- { "h": 2, "matrix": [10, 8], "w": 1, "x": 23, "y": 4.25 },
- { "matrix": [10, 9], "w": 1, "x": 4.25, "y": 4.5 },
- { "matrix": [10, 10], "w": 1, "x": 18.75, "y": 4.5 },
- { "matrix": [5, 1], "w": 1, "x": 1, "y": 5.25 },
- { "matrix": [5, 2], "w": 1, "x": 2, "y": 5.25 },
- { "matrix": [5, 3], "w": 1, "x": 6.5, "y": 5.25 },
- { "matrix": [5, 4], "w": 1, "x": 7.5, "y": 5.25 },
- { "matrix": [5, 5], "w": 1, "x": 8.5, "y": 5.25 },
- { "matrix": [5, 6], "w": 4, "x": 9.5, "y": 5.25 },
- { "matrix": [5, 7], "w": 1, "x": 13.5, "y": 5.25 },
- { "matrix": [5, 8], "w": 1, "x": 14.5, "y": 5.25 },
- { "matrix": [11, 0], "w": 1, "x": 15.5, "y": 5.25 },
- { "matrix": [11, 2], "w": 1, "x": 16.5, "y": 5.25 },
- { "matrix": [11, 3], "w": 1, "x": 21, "y": 5.25 },
- { "matrix": [11, 4], "w": 1, "x": 22, "y": 5.25 },
- { "matrix": [11, 5], "w": 1, "x": 3.25, "y": 5.5 },
- { "matrix": [10, 6], "w": 1, "x": 4.25, "y": 5.5 },
- { "matrix": [11, 6], "w": 1, "x": 5.25, "y": 5.5 },
- { "matrix": [11, 7], "w": 1, "x": 17.75, "y": 5.5 },
- { "matrix": [11, 8], "w": 1, "x": 18.75, "y": 5.5 },
- { "matrix": [11, 9], "w": 1, "x": 19.75, "y": 5.5 }
- ]
- },
- "LAYOUT_7u_space": {
- "layout": [
- { "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
- { "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
- { "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
- { "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
- { "matrix": [0, 4], "w": 1, "x": 4.75, "y": 0 },
- { "matrix": [0, 6], "w": 1, "x": 6.25, "y": 0 },
- { "matrix": [0, 7], "w": 1, "x": 7.25, "y": 0 },
- { "matrix": [0, 8], "w": 1, "x": 8.25, "y": 0 },
- { "matrix": [0, 9], "w": 1, "x": 9.25, "y": 0 },
- { "matrix": [0, 10], "w": 1, "x": 10.75, "y": 0 },
- { "matrix": [6, 0], "w": 1, "x": 11.75, "y": 0 },
- { "matrix": [6, 1], "w": 1, "x": 12.75, "y": 0 },
- { "matrix": [6, 2], "w": 1, "x": 13.75, "y": 0 },
- { "matrix": [6, 3], "w": 1, "x": 15.25, "y": 0 },
- { "matrix": [6, 4], "w": 1, "x": 16.25, "y": 0 },
- { "matrix": [6, 5], "w": 1, "x": 17.25, "y": 0 },
- { "matrix": [6, 6], "w": 1, "x": 18.25, "y": 0 },
- { "matrix": [6, 7], "w": 1, "x": 20, "y": 0 },
- { "matrix": [6, 8], "w": 1, "x": 21, "y": 0 },
- { "matrix": [6, 9], "w": 1, "x": 22, "y": 0 },
- { "matrix": [6, 10], "w": 1, "x": 23, "y": 0 },
- { "matrix": [1, 0], "w": 1, "x": 0, "y": 1.25 },
- { "matrix": [1, 1], "w": 1, "x": 1, "y": 1.25 },
- { "matrix": [1, 2], "w": 1, "x": 2, "y": 1.25 },
- { "matrix": [1, 3], "w": 1, "x": 3, "y": 1.25 },
- { "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1.25 },
- { "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1.25 },
- { "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1.25 },
- { "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1.25 },
- { "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1.25 },
- { "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1.25 },
- { "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1.25 },
- { "matrix": [7, 0], "w": 1, "x": 11.5, "y": 1.25 },
- { "matrix": [7, 1], "w": 1, "x": 12.5, "y": 1.25 },
- { "matrix": [7, 2], "w": 1, "x": 13.5, "y": 1.25 },
- { "matrix": [7, 3], "w": 1, "x": 14.5, "y": 1.25 },
- { "matrix": [7, 4], "w": 1, "x": 15.5, "y": 1.25 },
- { "matrix": [7, 5], "w": 1, "x": 16.5, "y": 1.25 },
- { "matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25 },
- { "matrix": [7, 7], "w": 1, "x": 20, "y": 1.25 },
- { "matrix": [7, 8], "