From 0d084a0a3e412154cc4a9bea554acf9f43562803 Mon Sep 17 00:00:00 2001 From: vin Date: Mon, 16 Oct 2023 15:48:42 -0400 Subject: replace colemad with workman TODO: Think of ways to use oneshot and tap-dances --- keyboards/crkbd/keymaps/colemad/config.h | 17 -- keyboards/crkbd/keymaps/colemad/glcdfont.c | 234 ---------------------- keyboards/crkbd/keymaps/colemad/keycodes.h | 24 --- keyboards/crkbd/keymaps/colemad/keymap.c | 66 ------ keyboards/crkbd/keymaps/colemad/layers.h | 10 - keyboards/crkbd/keymaps/colemad/oled.c | 128 ------------ keyboards/crkbd/keymaps/colemad/oled.h | 13 -- keyboards/crkbd/keymaps/colemad/process_records.c | 21 -- keyboards/crkbd/keymaps/colemad/process_records.h | 5 - keyboards/crkbd/keymaps/colemad/readme.md | 122 ----------- keyboards/crkbd/keymaps/colemad/rules.mk | 11 - keyboards/crkbd/keymaps/workman/config.h | 17 ++ keyboards/crkbd/keymaps/workman/glcdfont.c | 234 ++++++++++++++++++++++ keyboards/crkbd/keymaps/workman/keycodes.h | 16 ++ keyboards/crkbd/keymaps/workman/keymap.c | 66 ++++++ keyboards/crkbd/keymaps/workman/layers.h | 10 + keyboards/crkbd/keymaps/workman/oled.c | 128 ++++++++++++ keyboards/crkbd/keymaps/workman/oled.h | 13 ++ keyboards/crkbd/keymaps/workman/process_records.c | 21 ++ keyboards/crkbd/keymaps/workman/process_records.h | 5 + keyboards/crkbd/keymaps/workman/rules.mk | 11 + 21 files changed, 521 insertions(+), 651 deletions(-) delete mode 100644 keyboards/crkbd/keymaps/colemad/config.h delete mode 100644 keyboards/crkbd/keymaps/colemad/glcdfont.c delete mode 100644 keyboards/crkbd/keymaps/colemad/keycodes.h delete mode 100644 keyboards/crkbd/keymaps/colemad/keymap.c delete mode 100644 keyboards/crkbd/keymaps/colemad/layers.h delete mode 100644 keyboards/crkbd/keymaps/colemad/oled.c delete mode 100644 keyboards/crkbd/keymaps/colemad/oled.h delete mode 100644 keyboards/crkbd/keymaps/colemad/process_records.c delete mode 100644 keyboards/crkbd/keymaps/colemad/process_records.h delete mode 100644 keyboards/crkbd/keymaps/colemad/readme.md delete mode 100644 keyboards/crkbd/keymaps/colemad/rules.mk create mode 100644 keyboards/crkbd/keymaps/workman/config.h create mode 100644 keyboards/crkbd/keymaps/workman/glcdfont.c create mode 100644 keyboards/crkbd/keymaps/workman/keycodes.h create mode 100644 keyboards/crkbd/keymaps/workman/keymap.c create mode 100644 keyboards/crkbd/keymaps/workman/layers.h create mode 100644 keyboards/crkbd/keymaps/workman/oled.c create mode 100644 keyboards/crkbd/keymaps/workman/oled.h create mode 100644 keyboards/crkbd/keymaps/workman/process_records.c create mode 100644 keyboards/crkbd/keymaps/workman/process_records.h create mode 100644 keyboards/crkbd/keymaps/workman/rules.mk diff --git a/keyboards/crkbd/keymaps/colemad/config.h b/keyboards/crkbd/keymaps/colemad/config.h deleted file mode 100644 index d8b6861567..0000000000 --- a/keyboards/crkbd/keymaps/colemad/config.h +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2022 Álvaro Cortés (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define SPLIT_USB_DETECT // Added for Elite-C to work - -//#define QUICK_TAP_TERM 0 -//#define TAPPING_TERM 100 - -#ifdef OLED_ENABLE - #define SPLIT_LAYER_STATE_ENABLE - #define SPLIT_LED_STATE_ENABLE - #define SPLIT_MODS_ENABLE - #define SPLIT_OLED_ENABLE - #define OLED_TIMEOUT 60000 - #define OLED_FONT_H "keyboards/crkbd/keymaps/colemad/glcdfont.c" -#endif diff --git a/keyboards/crkbd/keymaps/colemad/glcdfont.c b/keyboards/crkbd/keymaps/colemad/glcdfont.c deleted file mode 100644 index 3bf950e162..0000000000 --- a/keyboards/crkbd/keymaps/colemad/glcdfont.c +++ /dev/null @@ -1,234 +0,0 @@ -// Copyright 2022 Álvaro Cortés (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#include "progmem.h" - -// Corne 8x6 font with QMK Firmware Logo -// Online editor: https://helixfonteditor.netlify.com/ -// See also: https://github.com/soundmonster/glcdfont_converter - -const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, - 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, - 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, - 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, - 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, - 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, - 0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, - 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, - 0xF8, 0xFC, 0x06, 0x03, 0x83, 0x43, - 0x23, 0x13, 0x23, 0x43, 0x83, 0x03, - 0x06, 0xFC, 0x00, 0x00, 0x00, 0x00, - 0xF8, 0xFC, 0x06, 0x03, 0xE3, 0x23, - 0x23, 0x03, 0x23, 0xE3, 0x23, 0x03, - 0xE3, 0xA3, 0x63, 0x03, 0xE3, 0x03, - 0x03, 0x03, 0x06, 0xFC, 0x00, 0x00, - 0xF8, 0xFC, 0x06, 0x03, 0xC3, 0x23, - 0x23, 0xC3, 0x03, 0x43, 0xA3, 0x23, - 0x43, 0x03, 0x06, 0xFC, 0x00, 0x00, - 0xF8, 0xFC, 0x06, 0x03, 0xE3, 0xA3, - 0xE3, 0x03, 0xE3, 0x03, 0x83, 0xE3, - 0x83, 0x03, 0x06, 0xFC, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, - 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, - 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, - 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, - 0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, - 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, - 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, - 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, - 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, - 0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, - 0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, - 0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, - 0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, - 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x1F, 0x3F, 0x60, 0x41, 0x41, 0x4F, - 0x48, 0x48, 0x48, 0x4F, 0x41, 0x41, - 0x20, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x1F, 0x3F, 0x60, 0x40, 0x47, 0x44, - 0x44, 0x40, 0x40, 0x47, 0x40, 0x40, - 0x47, 0x40, 0x47, 0x40, 0x47, 0x44, - 0x44, 0x40, 0x20, 0x1F, 0x00, 0x00, - 0x1F, 0x3F, 0x60, 0x40, 0x43, 0x44, - 0x44, 0x43, 0x40, 0x42, 0x44, 0x45, - 0x42, 0x40, 0x20, 0x1F, 0x00, 0x00, - 0x1F, 0x3F, 0x60, 0x40, 0x47, 0x40, - 0x47, 0x40, 0x47, 0x44, 0x40, 0x47, - 0x44, 0x40, 0x20, 0x1F, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, - 0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, - 0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, - 0x88, 0x88, 0x55, 0x55, 0x23, 0x23, - 0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, - 0x23, 0x23, 0x55, 0x55, 0x88, 0x88, - 0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, - 0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, - 0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, - 0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, - 0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, - 0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, - 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, - 0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, - 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, - 0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, - 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, - 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, - 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, - 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, - 0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, - 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, - 0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, - 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/colemad/keycodes.h b/keyboards/crkbd/keymaps/colemad/keycodes.h deleted file mode 100644 index 0f75dabef6..0000000000 --- a/keyboards/crkbd/keymaps/colemad/keycodes.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2022 Álvaro Cortés (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include QMK_KEYBOARD_H -#include "layers.h" - -/* Tap-Hold keycodes */ -#define KC_LOWER LT(_LOWER, KC_ENT) /* Tap for Enter, Hold for LOWER layer */ -#define KC_RAISE LT(_RAISE, KC_SPC) /* Tap for Space, Hold for RAISE layer */ - -/* Tap Dance keycodes */ -#if defined(TAP_DANCE_ENABLE) - #include "tap_dances.h" - #define KC_T_SFT T_SFT /* Single tap for Shift, Double tap for CAPS Lock */ -#else - #define KC_T_SFT KC_LSFT -#endif - -/* Macros */ -enum custom_keycodes { - VSCTERM = QK_USER, - CHNLANG -}; diff --git a/keyboards/crkbd/keymaps/colemad/keymap.c b/keyboards/crkbd/keymaps/colemad/keymap.c deleted file mode 100644 index 888499f5a2..0000000000 --- a/keyboards/crkbd/keymaps/colemad/keymap.c +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2022 Álvaro Cortés (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -#include "layers.h" -#include "keycodes.h" -#include "process_records.h" - -#ifdef OLED_ENABLE - #include "oled.h" -#endif - -/* Layer keymaps */ -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_COLEMAK] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - T_SFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LALT, KC_LCTL,KC_RAISE, KC_LOWER, T_SFT, KC_LGUI - // `-------------------------' `--------------------------' - ), - - [_LOWER] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_0, KC_1, KC_2, KC_3, KC_MINS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_ESC, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_SLSH, KC_4, KC_5, KC_6, KC_PLUS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_ASTR, KC_7, KC_8, KC_9, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - // `-------------------------' `--------------------------' - ), - - [_RAISE] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_F11, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_F12, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - // `-------------------------' `--------------------------' - ), - - [_ADJUST] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, XXXXXXX, KC_F13, KC_F14, KC_F15, XXXXXXX, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, KC_F16, KC_F17, KC_F18, KC_F19, XXXXXXX, XXXXXXX,RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX - // `-------------------------' `--------------------------' - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/crkbd/keymaps/colemad/layers.h b/keyboards/crkbd/keymaps/colemad/layers.h deleted file mode 100644 index f569ad156e..0000000000 --- a/keyboards/crkbd/keymaps/colemad/layers.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2022 Álvaro Cortés (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -enum custom_layers { - _COLEMAK, - _LOWER, - _RAISE, - _ADJUST, -}; diff --git a/keyboards/crkbd/keymaps/colemad/oled.c b/keyboards/crkbd/keymaps/colemad/oled.c deleted file mode 100644 index 8c5591184e..0000000000 --- a/keyboards/crkbd/keymaps/colemad/oled.c +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2022 Álvaro Cortés (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H -#include "layers.h" -#include "oled.h" - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_270; -} - -void render_layer_symbol(void) { - static const char PROGMEM default_layer[] = { - 0x20, 0x94, 0x95, 0x96, 0x20, - 0x20, 0xb4, 0xb5, 0xb6, 0x20, - 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; - static const char PROGMEM raise_layer[] = { - 0x20, 0x97, 0x98, 0x99, 0x20, - 0x20, 0xb7, 0xb8, 0xb9, 0x20, - 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; - static const char PROGMEM lower_layer[] = { - 0x20, 0x9a, 0x9b, 0x9c, 0x20, - 0x20, 0xba, 0xbb, 0xbc, 0x20, - 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; - static const char PROGMEM adjust_layer[] = { - 0x20, 0x9d, 0x9e, 0x9f, 0x20, - 0x20, 0xbd, 0xbe, 0xbf, 0x20, - 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; - if(layer_state_is(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } -} - -void render_layer_name(void) { - bool lower = layer_state_is(_LOWER) & !layer_state_is(_ADJUST); - bool raise = layer_state_is(_RAISE) & !layer_state_is(_ADJUST); - bool adjust = layer_state_is(_ADJUST); - - if(lower){ - oled_write_P(PSTR("LOWER"), false); - } else if(raise){ - oled_write_P(PSTR("RAISE"), false); - } else if(adjust){ - oled_write_P(PSTR(" ADJ "), false); - } else { - oled_write_P(PSTR(" "), false); - } -} - -void render_mod_state(uint8_t modifiers) { - static const char PROGMEM shift_line_1[] = { - 0x85, 0x86, 0x87, 0}; - static const char PROGMEM shift_line_2[] = { - 0xa5, 0xa6, 0xa7, 0}; - - static const char PROGMEM ctrl_line_1[] = { - 0x88, 0x89, 0x8a, 0x8b, 0}; - static const char PROGMEM ctrl_line_2[] = { - 0xa8, 0xa9, 0xaa, 0xab, 0}; - - static const char PROGMEM os_line_1[] = { - 0x8c, 0x8d, 0x8e, 0}; - static const char PROGMEM os_line_2[] = { - 0xac, 0xad, 0xae, 0}; - - static const char PROGMEM alt_line_1[] = { - 0x8f, 0x90, 0x91, 0}; - static const char PROGMEM alt_line_2[] = { - 0xaf, 0xb0, 0xb1, 0}; - - if (modifiers & MOD_MASK_GUI) { - oled_write(" ", false); - oled_write_ln_P(os_line_1, false); - oled_write(" ", false); - oled_write_ln_P(os_line_2, false); - } else { - oled_write_ln("", false); - oled_write_ln("", false); - } - - if (modifiers & MOD_MASK_SHIFT) { - oled_write(" ", false); - oled_write_ln_P(shift_line_1, false); - oled_write(" ", false); - oled_write_ln_P(shift_line_2, false); - } else { - oled_write_ln("", false); - oled_write_ln("", false); - } - - if (modifiers & MOD_MASK_ALT) { - oled_write(" ", false); - oled_write_ln_P(alt_line_1, false); - oled_write(" ", false); - oled_write_ln_P(alt_line_2, false); - } else { - oled_write_ln("", false); - oled_write_ln("", false); - } - - if (modifiers & MOD_MASK_CTRL) { - oled_write_ln_P(ctrl_line_1, false); - oled_write_ln_P(ctrl_line_2, false); - } else { - oled_write_ln("", false); - oled_write_ln("", false); - } -} - -void render_status(void){ - render_layer_name(); - - render_layer_symbol(); - - oled_write_P(PSTR("\n\n\n"), false); - - render_mod_state(get_mods()|get_oneshot_mods()); -} - -bool oled_task_user(void) { - render_status(); - return false; -} diff --git a/keyboards/crkbd/keymaps/colemad/oled.h b/keyboards/crkbd/keymaps/colemad/oled.h deleted file mode 100644 index c096466e71..0000000000 --- a/keyboards/crkbd/keymaps/colemad/oled.h +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2022 Álvaro Cortés (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#ifdef OLED_ENABLE - bool process_record_oled(uint16_t keycode, keyrecord_t *record); - oled_rotation_t oled_init_user(oled_rotation_t rotation); - void render_layer_symbol(void); - void render_layer_name(void); - void render_mod_state(uint8_t modifiers); - void render_status(void); - bool oled_task_user(void); -#endif \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/colemad/process_records.c b/keyboards/crkbd/keymaps/colemad/process_records.c deleted file mode 100644 index 549dec2464..0000000000 --- a/keyboards/crkbd/keymaps/colemad/process_records.c +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2022 Álvaro Cortés (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#include "layers.h" -#include "keycodes.h" - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - /* Macros */ - switch (keycode) { - case VSCTERM: - if (record->event.pressed) { - SEND_STRING(SS_LCTL("`")); // Ctrl + ` (to toggle vscode terminal) - } - return false; - case CHNLANG: - if (record->event.pressed) { - SEND_STRING(SS_LCTL(SS_LSFT("n"))); // Ctrl + Shift + N (to change keyboard layout) - } - return false; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/colemad/process_records.h b/keyboards/crkbd/keymaps/colemad/process_records.h deleted file mode 100644 index 7cedcfbe68..0000000000 --- a/keyboards/crkbd/keymaps/colemad/process_records.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2022 Álvaro Cortés (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -bool process_record_user(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/crkbd/keymaps/colemad/readme.md b/keyboards/crkbd/keymaps/colemad/readme.md deleted file mode 100644 index fd216bea36..0000000000 --- a/keyboards/crkbd/keymaps/colemad/readme.md +++ /dev/null @@ -1,122 +0,0 @@ -# **COLEMAD** - -Compiled and tested: `July 12, 2023` - -## Corne Keyboard (CRKBD) **Colemak** layout by [ACortesDev](https://github.com/ACortesDev) - -1. **Ergonomic navigation keys**. -2. **Symbols where expected to be**. -3. **Numbers (numpad)**. - Using the Telephone/ATM numpad layout. Easier to memorize/visualize as numbers follow *left-to-right, top-to-bottom* order. -4. **Easy Capital letters**. - Added a *CAPS Lock* key because... [There is no *CAPS Lock* key in the Colemak Layout](https://colemak.com/FAQ#Where_is_the_Caps_Lock_key.3F). - ---- - -### **Flashing** - -~~For *Pro Micro* execute: `sudo make crkbd:colemad:avrdude`~~ - -~~For *Elite-C* execute: `sudo make crkbd:colemad:dfu`~~ - -For *Pro Micro* and *Elite-C* run: - -```sh -qmk flash -kb crkbd -km colemad -bl dfu -``` - ---- - -### **Layers** - -#### 0. **COLEMAK** - -Notes: - -- Double tap Shift to (de)activate CAPS Lock. -- Hold down the Enter thumb key to switch to the LOWER layer -- Hold down the Space thumb key to switch to the RAISE layer -- Characters **"** **:** **|** **<** **>** **?** as you would expect them using *Shift*. - -```text - ,-----------------------------------------------------. ,-----------------------------------------------------. - | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | BackSP | A | R | S | T | D | | H | N | E | I | O | ' | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | Shift | Z | X | C | V | B | | K | M | , | . | / | ESC | - `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' - ,--------. ,--------. - ,-----------------| | | |-----------------. - | Alt | Ctrl | Space | | Enter | Shift | GUI | - | | | (RAISE)| |(LOWER) | | | - `--------+--------+--------' `--------+--------+--------' -``` - -#### 1. **LOWER** - -##### Numpad + Navigation - -```text - ,-----------------------------------------------------. ,-----------------------------------------------------. - | Tab | 0 | 1 | 2 | 3 | - | | PgUP | HOME | ↑ | END | ESC | | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | BackSP | / | 4 | 5 | 6 | + | | PgDN | ← | ↓ | → | DEL | | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | Shift | * | 7 | 8 | 9 | = | | | | | | | ESC | - `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' - ,--------. ,--------. - ,-----------------| | | |-----------------. - | Alt | Ctrl | Space | | | Shift | GUI | - | | | (RAISE)| |(LOWER) | | | - `--------+--------+--------' `--------+--------+--------' -``` - -#### 2. **RAISE** - -##### Symbols + Function Keys - -```text - ,-----------------------------------------------------. ,-----------------------------------------------------. - | Tab | ! | @ | # | $ | % | | ^ | & | * | ( | ) | F11 | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | BackSP | F1 | F2 | F3 | F4 | F5 | | ` | - | = | [ | ] | F12 | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | Shift | F6 | F7 | F8 | F9 | F10 | | ~ | _ | + | { | } | ESC | - `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' - ,--------. ,--------. - ,-----------------| | | |-----------------. - | Alt | Ctrl | | | Enter | Shift | GUI | - | | | (RAISE)| |(LOWER) | | | - `--------+--------+--------' `--------+--------+--------' -``` - -#### 3. **ADJUST** - -##### Macros + Settings - -Notes: - -- Function keys (from F13 to F19) to use for Linux/MacOS shortcuts. - -```text - ,-----------------------------------------------------. ,-----------------------------------------------------. - | | | F13 | F14 | F15 | | |RGB_TOG |RGB_MOD |RGB_VAI |RGB_HUI |RGB_SAI |RGB_SPI | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | | F16 | F17 | F18 | F19 | | | |RGB_RMOD|RGB_VAD |RGB_HUD |RGB_SAD |RGB_SPD | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | | | | | | | | | | | | | | - `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' - ,--------. ,--------. - ,-----------------| | | |-----------------. - | | | | | | | | - | | | (RAISE)| |(LOWER) | | | - `--------+--------+--------' `--------+--------+--------' -``` - -##### Ready to use Macro examples - -Checkout `keycodes.h` and `process_records.c/h` files. - -- Macro **VSCTERM**: Toggles the vscode terminal (Ctrl + `) -- Macro **CHNLANG**: Changes the OS keyboard layout (Ctrl + Shift + N) diff --git a/keyboards/crkbd/keymaps/colemad/rules.mk b/keyboards/crkbd/keymaps/colemad/rules.mk deleted file mode 100644 index 804d695e03..0000000000 --- a/keyboards/crkbd/keymaps/colemad/rules.mk +++ /dev/null @@ -1,11 +0,0 @@ -RGB_MATRIX_ENABLE = no -RGBLIGHT_ENABLE = no -SPLIT_KEYBOARD = yes -TAP_DANCE_ENABLE = no -MOUSEKEY_ENABLE = no -OLED_ENABLE = yes - -# Link Time Optimization (Reduces compiled size) -LTO_ENABLE = yes - -SRC += ./process_records.c ./oled.c diff --git a/keyboards/crkbd/keymaps/workman/config.h b/keyboards/crkbd/keymaps/workman/config.h new file mode 100644 index 0000000000..7a28bb5012 --- /dev/null +++ b/keyboards/crkbd/keymaps/workman/config.h @@ -0,0 +1,17 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define SPLIT_USB_DETECT // Added for Elite-C to work + +//#define QUICK_TAP_TERM 0 +//#define TAPPING_TERM 100 + +#ifdef OLED_ENABLE + #define SPLIT_LAYER_STATE_ENABLE + #define SPLIT_LED_STATE_ENABLE + #define SPLIT_MODS_ENABLE + #define SPLIT_OLED_ENABLE + #define OLED_TIMEOUT 60000 + #define OLED_FONT_H "keyboards/crkbd/keymaps/workman/glcdfont.c" +#endif diff --git a/keyboards/crkbd/keymaps/workman/glcdfont.c b/keyboards/crkbd/keymaps/workman/glcdfont.c new file mode 100644 index 0000000000..3bf950e162 --- /dev/null +++ b/keyboards/crkbd/keymaps/workman/glcdfont.c @@ -0,0 +1,234 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "progmem.h" + +// Corne 8x6 font with QMK Firmware Logo +// Online editor: https://helixfonteditor.netlify.com/ +// See also: https://github.com/soundmonster/glcdfont_converter + +const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, + 0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, + 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, + 0xF8, 0xFC, 0x06, 0x03, 0x83, 0x43, + 0x23, 0x13, 0x23, 0x43, 0x83, 0x03, + 0x06, 0xFC, 0x00, 0x00, 0x00, 0x00, + 0xF8, 0xFC, 0x06, 0x03, 0xE3, 0x23, + 0x23, 0x03, 0x23, 0xE3, 0x23, 0x03, + 0xE3, 0xA3, 0x63, 0x03, 0xE3, 0x03, + 0x03, 0x03, 0x06, 0xFC, 0x00, 0x00, + 0xF8, 0xFC, 0x06, 0x03, 0xC3, 0x23, + 0x23, 0xC3, 0x03, 0x43, 0xA3, 0x23, + 0x43, 0x03, 0x06, 0xFC, 0x00, 0x00, + 0xF8, 0xFC, 0x06, 0x03, 0xE3, 0xA3, + 0xE3, 0x03, 0xE3, 0x03, 0x83, 0xE3, + 0x83, 0x03, 0x06, 0xFC, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, + 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, + 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, + 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, + 0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, + 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, + 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, + 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, + 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, + 0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, + 0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, + 0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, + 0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, + 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0x3F, 0x60, 0x41, 0x41, 0x4F, + 0x48, 0x48, 0x48, 0x4F, 0x41, 0x41, + 0x20, 0x1F, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0x3F, 0x60, 0x40, 0x47, 0x44, + 0x44, 0x40, 0x40, 0x47, 0x40, 0x40, + 0x47, 0x40, 0x47, 0x40, 0x47, 0x44, + 0x44, 0x40, 0x20, 0x1F, 0x00, 0x00, + 0x1F, 0x3F, 0x60, 0x40, 0x43, 0x44, + 0x44, 0x43, 0x40, 0x42, 0x44, 0x45, + 0x42, 0x40, 0x20, 0x1F, 0x00, 0x00, + 0x1F, 0x3F, 0x60, 0x40, 0x47, 0x40, + 0x47, 0x40, 0x47, 0x44, 0x40, 0x47, + 0x44, 0x40, 0x20, 0x1F, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, + 0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, + 0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, + 0x88, 0x88, 0x55, 0x55, 0x23, 0x23, + 0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, + 0x23, 0x23, 0x55, 0x55, 0x88, 0x88, + 0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, + 0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, + 0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, + 0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, + 0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, + 0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, + 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, + 0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, + 0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, + 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, + 0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, + 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, + 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, + 0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, + 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, + 0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, + 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, +}; diff --git a/keyboards/crkbd/keymaps/workman/keycodes.h b/keyboards/crkbd/keymaps/workman/keycodes.h new file mode 100644 index 0000000000..2d7db40ecd --- /dev/null +++ b/keyboards/crkbd/keymaps/workman/keycodes.h @@ -0,0 +1,16 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include QMK_KEYBOARD_H +#include "layers.h" + +/* Tap-Hold keycodes */ +#define KC_LOWER LT(_LOWER, KC_ENT) /* Tap for Enter, Hold for LOWER layer */ +#define KC_RAISE LT(_RAISE, KC_SPC) /* Tap for Space, Hold for RAISE layer */ + +/* Macros */ +enum custom_keycodes { + VSCTERM = QK_USER, + CHNLANG +}; diff --git a/keyboards/crkbd/keymaps/workman/keymap.c b/keyboards/crkbd/keymaps/workman/keymap.c new file mode 100644 index 0000000000..f84b31a246 --- /dev/null +++ b/keyboards/crkbd/keymaps/workman/keymap.c @@ -0,0 +1,66 @@ +// Copyright 2023 Shokara Kou +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +#include "layers.h" +#include "keycodes.h" +#include "process_records.h" + +#ifdef OLED_ENABLE + #include "oled.h" +#endif + +/* Layer keymaps */ +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_WORKMAN] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSLS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_BSPC, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_ESC, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LALT, KC_LCTL,KC_RAISE, KC_LOWER, KC_LSFT, KC_LGUI + // `-------------------------' `--------------------------' + ), + + [_LOWER] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + _______, KC_ASTR, KC_7, KC_8, KC_9, KC_MINS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_ESC, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_SLSH, KC_4, KC_5, KC_6, KC_PLUS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_0, KC_1, KC_2, KC_3, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + // `-------------------------' `--------------------------' + ), + + [_RAISE] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_F11, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_F12, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + // `-------------------------' `--------------------------' + ), + + [_ADJUST] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, XXXXXXX, KC_F13, KC_F14, KC_F15, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, KC_F16, KC_F17, KC_F18, KC_F19, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX + // `-------------------------' `--------------------------' + ) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} diff --git a/keyboards/crkbd/keymaps/workman/layers.h b/keyboards/crkbd/keymaps/workman/layers.h new file mode 100644 index 0000000000..95a29e4e44 --- /dev/null +++ b/keyboards/crkbd/keymaps/workman/layers.h @@ -0,0 +1,10 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +enum custom_layers { + _WORKMAN, + _LOWER, + _RAISE, + _ADJUST, +}; diff --git a/keyboards/crkbd/keymaps/workman/oled.c b/keyboards/crkbd/keymaps/workman/oled.c new file mode 100644 index 0000000000..8c5591184e --- /dev/null +++ b/keyboards/crkbd/keymaps/workman/oled.c @@ -0,0 +1,128 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H +#include "layers.h" +#include "oled.h" + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; +} + +void render_layer_symbol(void) { + static const char PROGMEM default_layer[] = { + 0x20, 0x94, 0x95, 0x96, 0x20, + 0x20, 0xb4, 0xb5, 0xb6, 0x20, + 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; + static const char PROGMEM raise_layer[] = { + 0x20, 0x97, 0x98, 0x99, 0x20, + 0x20, 0xb7, 0xb8, 0xb9, 0x20, + 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; + static const char PROGMEM lower_layer[] = { + 0x20, 0x9a, 0x9b, 0x9c, 0x20, + 0x20, 0xba, 0xbb, 0xbc, 0x20, + 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; + static const char PROGMEM adjust_layer[] = { + 0x20, 0x9d, 0x9e, 0x9f, 0x20, + 0x20, 0xbd, 0xbe, 0xbf, 0x20, + 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; + if(layer_state_is(_ADJUST)) { + oled_write_P(adjust_layer, false); + } else if(layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if(layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else { + oled_write_P(default_layer, false); + } +} + +void render_layer_name(void) { + bool lower = layer_state_is(_LOWER) & !layer_state_is(_ADJUST); + bool raise = layer_state_is(_RAISE) & !layer_state_is(_ADJUST); + bool adjust = layer_state_is(_ADJUST); + + if(lower){ + oled_write_P(PSTR("LOWER"), false); + } else if(raise){ + oled_write_P(PSTR("RAISE"), false); + } else if(adjust){ + oled_write_P(PSTR(" ADJ "), false); + } else { + oled_write_P(PSTR(" "), false); + } +} + +void render_mod_state(uint8_t modifiers) { + static const char PROGMEM shift_line_1[] = { + 0x85, 0x86, 0x87, 0}; + static const char PROGMEM shift_line_2[] = { + 0xa5, 0xa6, 0xa7, 0}; + + static const char PROGMEM ctrl_line_1[] = { + 0x88, 0x89, 0x8a, 0x8b, 0}; + static const char PROGMEM ctrl_line_2[] = { + 0xa8, 0xa9, 0xaa, 0xab, 0}; + + static const char PROGMEM os_line_1[] = { + 0x8c, 0x8d, 0x8e, 0}; + static const char PROGMEM os_line_2[] = { + 0xac, 0xad, 0xae, 0}; + + static const char PROGMEM alt_line_1[] = { + 0x8f, 0x90, 0x91, 0}; + static const char PROGMEM alt_line_2[] = { + 0xaf, 0xb0, 0xb1, 0}; + + if (modifiers & MOD_MASK_GUI) { + oled_write(" ", false); + oled_write_ln_P(os_line_1, false); + oled_write(" ", false); + oled_write_ln_P(os_line_2, false); + } else { + oled_write_ln("", false); + oled_write_ln("", false); + } + + if (modifiers & MOD_MASK_SHIFT) { + oled_write(" ", false); + oled_write_ln_P(shift_line_1, false); + oled_write(" ", false); + oled_write_ln_P(shift_line_2, false); + } else { + oled_write_ln("", false); + oled_write_ln("", false); + } + + if (modifiers & MOD_MASK_ALT) { + oled_write(" ", false); + oled_write_ln_P(alt_line_1, false); + oled_write(" ", false); + oled_write_ln_P(alt_line_2, false); + } else { + oled_write_ln("", false); + oled_write_ln("", false); + } + + if (modifiers & MOD_MASK_CTRL) { + oled_write_ln_P(ctrl_line_1, false); + oled_write_ln_P(ctrl_line_2, false); + } else { + oled_write_ln("", false); + oled_write_ln("", false); + } +} + +void render_status(void){ + render_layer_name(); + + render_layer_symbol(); + + oled_write_P(PSTR("\n\n\n"), false); + + render_mod_state(get_mods()|get_oneshot_mods()); +} + +bool oled_task_user(void) { + render_status(); + return false; +} diff --git a/keyboards/crkbd/keymaps/workman/oled.h b/keyboards/crkbd/keymaps/workman/oled.h new file mode 100644 index 0000000000..c096466e71 --- /dev/null +++ b/keyboards/crkbd/keymaps/workman/oled.h @@ -0,0 +1,13 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifdef OLED_ENABLE + bool process_record_oled(uint16_t keycode, keyrecord_t *record); + oled_rotation_t oled_init_user(oled_rotation_t rotation); + void render_layer_symbol(void); + void render_layer_name(void); + void render_mod_state(uint8_t modifiers); + void render_status(void); + bool oled_task_user(void); +#endif \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/workman/process_records.c b/keyboards/crkbd/keymaps/workman/process_records.c new file mode 100644 index 0000000000..549dec2464 --- /dev/null +++ b/keyboards/crkbd/keymaps/workman/process_records.c @@ -0,0 +1,21 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "layers.h" +#include "keycodes.h" + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + /* Macros */ + switch (keycode) { + case VSCTERM: + if (record->event.pressed) { + SEND_STRING(SS_LCTL("`")); // Ctrl + ` (to toggle vscode terminal) + } + return false; + case CHNLANG: + if (record->event.pressed) { + SEND_STRING(SS_LCTL(SS_LSFT("n"))); // Ctrl + Shift + N (to change keyboard layout) + } + return false; + } + return true; +} diff --git a/keyboards/crkbd/keymaps/workman/process_records.h b/keyboards/crkbd/keymaps/workman/process_records.h new file mode 100644 index 0000000000..7cedcfbe68 --- /dev/null +++ b/keyboards/crkbd/keymaps/workman/process_records.h @@ -0,0 +1,5 @@ +// Copyright 2022 Álvaro Cortés (@ACortesDev) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +bool process_record_user(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/crkbd/keymaps/workman/rules.mk b/keyboards/crkbd/keymaps/workman/rules.mk new file mode 100644 index 0000000000..804d695e03 --- /dev/null +++ b/keyboards/crkbd/keymaps/workman/rules.mk @@ -0,0 +1,11 @@ +RGB_MATRIX_ENABLE = no +RGBLIGHT_ENABLE = no +SPLIT_KEYBOARD = yes +TAP_DANCE_ENABLE = no +MOUSEKEY_ENABLE = no +OLED_ENABLE = yes + +# Link Time Optimization (Reduces compiled size) +LTO_ENABLE = yes + +SRC += ./process_records.c ./oled.c -- cgit v1.2.3