Add personal keymap

This commit is contained in:
Richard Baptist 2019-06-14 10:24:47 +02:00
parent 1cd26607bd
commit 6fa9aa1aae
No known key found for this signature in database
GPG Key ID: 115D8B1815981F35
4 changed files with 624 additions and 0 deletions

View File

@ -0,0 +1,73 @@
/*
This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
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
//#define USE_MATRIX_I2C
/* Select hand configuration */
#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS
#define SSD1306OLED
#define USE_SERIAL_PD2
#define NO_ACTION_ONESHOT
#define NO_ACTION_MACRO
#define FORCE_NKRO
#undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 12
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
#define TAPPING_TERM 170
// #define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
#define TAPPING_TOGGLE 2
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_INTERVAL 16
#define MOUSEKEY_MAX_SPEED 6
#define MOUSEKEY_TIME_TO_MAX 32
#define MOUSEKEY_WHEEL_MAX_SPEED 4
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
#define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont.c"
#define LCPO_KEYS KC_LCTL, KC_RSFT, KC_COMM
#define RCPC_KEYS KC_RCTL, KC_RSFT, KC_DOT
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#ifndef NO_DEBUG
#define NO_DEBUG
#endif // !NO_DEBUG
#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE)
#define NO_PRINT
#endif // !NO_PRINT

View File

@ -0,0 +1,240 @@
#pragma once
#ifdef __AVR__
#include <avr/io.h>
#include <avr/pgmspace.h>
#elif defined(ESP8266)
#include <pgmspace.h>
#else
#define PROGMEM
#endif
// Helidox 8x6 font with QMK Firmware Logo
// Online editor: http://teripom.x0.com/
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, 0x00, 0x00, 0x00, 0xE0,
0x38, 0x1C, 0x0C, 0x06, 0x03, 0x03,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x03, 0x03, 0x82, 0x86, 0xCC, 0xF8,
0xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC0, 0x70,
0xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3,
0x9F, 0x87, 0x01, 0x01, 0x1F, 0x66,
0x66, 0x44, 0x4C, 0x58, 0x70, 0xE0,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
0xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6,
0xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03,
0x73, 0x76, 0x76, 0x0C, 0x18, 0xF8,
0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
0xDE, 0xD7, 0xDC, 0x00, 0xC0, 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, 0x80, 0xC0, 0x40, 0x7F, 0xF3,
0x60, 0x20, 0x30, 0x30, 0x38, 0x18,
0x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E,
0x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01,
0xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7F, 0xC1, 0x00,
0x1D, 0x67, 0xC0, 0x80, 0x01, 0x00,
0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00,
0x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1,
0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF,
0x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7,
0x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0,
0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07,
0x0F, 0xFF, 0x7F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
0x0F, 0x7F, 0x0F, 0x00, 0x03, 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, 0x00, 0x40, 0x60, 0x31,
0x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23,
0x61, 0x60, 0x60, 0x60, 0x60, 0x60,
0x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F,
0x1D, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
0x0C, 0x18, 0x10, 0x33, 0x3E, 0x38,
0x6E, 0x67, 0x60, 0x60, 0x60, 0x20,
0x30, 0x18, 0x08, 0x0F, 0x06, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x03, 0x06, 0x0C, 0x19, 0x31, 0x21,
0x60, 0x60, 0x60, 0x60, 0x61, 0x63,
0x67, 0x67, 0x33, 0x39, 0x18, 0x0E,
0x07, 0x03, 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,
};

View File

@ -0,0 +1,274 @@
#include QMK_KEYBOARD_H
#include "bootloader.h"
#ifdef PROTOCOL_LUFA
#include "lufa.h"
#include "split_util.h"
#endif
#ifdef SSD1306OLED
#include "ssd1306.h"
#endif
extern keymap_config_t keymap_config;
// #ifdef RGBLIGHT_ENABLE
//Following line allows macro to read current RGB settings
// extern rgblight_config_t rgblight_config;
// #endif
extern uint8_t is_master;
#define _COLEMAKDHM 0
#define _QWERTY 1
#define _GAME 3
#define _GAME_EXT 4
#define _FN 7
#define _SYM 8
#define _UTIL 9
#define _NAV 10
#define _TEMPLATE 16
#define KC_CLMK DF(0)
#define KC_QWERT DF(1)
#define KC_GAME DF(3)
// #define KC_T_SYM TT(8)
// #define KC_S_SYM MO(8)
#define KC_T_NAV TT(10)
#define KC_S_NAV MO(10)
#define KC_NV_ENT LT(_NAV, KC_ENT)
#define KC_FN_ESC LT(_FN, KC_ESC)
#define KC_UT_TAB LT(_UTIL, KC_TAB)
#define KC_SYMSPC LT(_SYM, KC_SPC)
#define KC_GMSPC LT(_GAME_EXT, KC_SPC)
#define KC_LCTLT LCTL_T(KC_LT)
#define KC_CTRGUI LCTL_T(KC_LGUI)
#define KC_CTLENT RCTL_T(KC_ENT)
#define KC_ALTBR LALT_T(KC_LBRACKET)
#define KC_GUIBR RGUI_T(KC_RBRACKET)
// #define KC_ALSPC LALT_T(KC_SPC)
// #define KC_ALTSF LALT(KC_LSFT)
#define KC_TABFWD LCTL(KC_TAB)
#define KC_TABBCK LCTL(LSFT(KC_TAB))
#define KC______ KC_TRNS
#define KC_XXXXX KC_NO
#define KC_LOWER LOWER
#define KC_RAISE RAISE
#define KC_RST RESET
#define KC_LRST RGBRST
#define KC_LTOG RGB_TOG
#define KC_LHUI RGB_HUI
#define KC_LHUD RGB_HUD
#define KC_LSAI RGB_SAI
#define KC_LSAD RGB_SAD
#define KC_LVAI RGB_VAI
#define KC_LVAD RGB_VAD
#define KC_LSMOD RGB_SMOD
#define KC_LFMOD RGB_MOD
#define KC_LRMOD RGB_RMOD
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_COLEMAKDHM] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
FN_ESC, Q, W, F, P, B, J, L, U, Y, SCLN, BSPC,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
UT_TAB, A, R, S, T, G, M, N, E, I, O, QUOT,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
CTRGUI, Z, X, C, D, V, K, H, COMM, DOT, SLSH, CTLENT,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
ALTBR, LSPO, SYMSPC, T_NAV, RSPC, GUIBR \
//`--------------------' `--------------------'
),
[_QWERTY] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
_____, _____, _____, E, R, T, Y, U, I, O, P, _____,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
_____, _____, S, D, F, _____, H, J, K, L, SCLN, _____,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
_____, _____, _____, _____, V, B, _____, N, M, _____, _____, _____,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
_____, _____, _____, _____, _____, _____ \
//`--------------------' `--------------------'
),
[_GAME] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
TAB, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
LCTL, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
LALT, LSFT, GMSPC, _____, RSFT, RGUI \
//`--------------------' `--------------------'
),
[_GAME_EXT] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
GRV, MINS, EQL, _____, LBRC, RBRC, VOLU, KP_7, KP_8, KP_9, PSLS, PAST,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
1, 2, _____, _____, _____, BSLS, VOLD, KP_4, KP_5, KP_6, PMNS, PPLS,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
3, 4, 5, 6, 7, 8, MUTE, KP_1, KP_2, KP_3, PEQL, PENT,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
_____, _____, _____, KP_0, PDOT, BSPC \
//`--------------------' `--------------------'
),
[_SYM] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSLS,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
TILD, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, MINS, PLUS, PIPE,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
LCPO, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, UNDS, EQL, RCPC,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
_____, _____, _____, LGUI, RALT, RGUI \
//`--------------------' `--------------------'
),
[_NAV] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
GRV, WH_U,TABBCK, MS_U,TABFWD, BTN2, PGUP, HOME, UP, END, XXXXX, DEL,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
TAB, WH_D, MS_L, MS_D, MS_R, BTN1, PGDN, LEFT, DOWN, RGHT, XXXXX, XXXXX,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
_____, XXXXX, WH_L, XXXXX, WH_R, XXXXX, XXXXX, ACL0, ACL1, ACL2, XXXXX, _____,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+-----+-------|
_____, _____, SPC, S_NAV, _____, RGUI \
//`--------------------' `--------------------'
),
[_FN] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
_____, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
RST, XXXXX, XXXXX, XXXXX, SLEP, WAKE, LTOG, LFMOD, LHUI, LSAI, LVAI, F12,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
_____, CLMK, GAME, QWERT, XXXXX, XXXXX, XXXXX, LRMOD, LHUD, LSAD, LVAD, _____,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
_____, _____, SPC, XXXXX, _____, _____ \
//`--------------------' `--------------------'
),
[_UTIL] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
ESC, XXXXX, MSTP, VOLU, MNXT, PAUS, NLCK, KP_7, KP_8, KP_9, PSLS, PAST,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
_____, XXXXX, MPRV, VOLD, MPLY, INS, CAPS, KP_4, KP_5, KP_6, PMNS, PPLS,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
_____, XXXXX, XXXXX, MUTE, XXXXX, PSCR, SLCK, KP_1, KP_2, KP_3, PEQL, PENT,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
_____, _____, SPC, KP_0, PDOT, BSPC \
//`--------------------' `--------------------'
),
[_TEMPLATE] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
_____, _____, _____, _____, _____, _____ \
//`--------------------' `--------------------'
)
};
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
if (is_master) {
return OLED_ROTATION_270;
} else {
return OLED_ROTATION_180;
}
}
void render_crkbd_logo(void) {
static const char PROGMEM crkbd_logo[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
0};
oled_write_P(crkbd_logo, false);
}
void render_status(void) {
// oled_write_P(PSTR("Layout: "), false);
switch (biton32(default_layer_state)) {
case _COLEMAKDHM:
oled_write_P(PSTR("ORBIT"), false);
break;
case _GAME:
oled_write_P(PSTR("GAME "), false);
break;
case _QWERTY:
oled_write_P(PSTR("DELAY"), false);
break;
}
oled_write_P(PSTR("\n"), false);
switch (biton32(layer_state)) {
case 0:
oled_write_P(PSTR(" "), false);
break;
case _FN:
oled_write_P(PSTR("Abort"), false);
break;
case _SYM:
oled_write_P(PSTR("Comm "), false);
break;
case _UTIL:
oled_write_P(PSTR("Stage"), false);
break;
case _NAV:
oled_write_P(PSTR("Gyro "), false);
break;
case _GAME_EXT:
oled_write_P(PSTR("Ext "), false);
break;
default:
oled_write_P(PSTR("Unkn "), false);
break;
}
oled_write_P(PSTR("\n"), false);
uint8_t modifiers = get_mods();
oled_write_P( (modifiers & MOD_MASK_CTRL) ? PSTR("PROG ") : PSTR(" "), false);
oled_write_P( (modifiers & MOD_MASK_SHIFT) ? PSTR("FUEL ") : PSTR(" "), false);
oled_write_P( (modifiers & MOD_MASK_ALT) ? PSTR("AUX ") : PSTR(" "), false);
oled_write_P( (modifiers & MOD_MASK_GUI) ? PSTR("DOCK ") : PSTR(" "), false);
oled_write_P(PSTR("\n"), false);
uint8_t led_usb_state = host_keyboard_leds();
oled_write_P(PSTR("Mode:\n"), false);
oled_write_P(led_usb_state & (1<<USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR(" "), false);
oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR(" "), false);
oled_write_P(led_usb_state & (1<<USB_LED_SCROLL_LOCK) ? PSTR(" SCRL") : PSTR(" "), false);
}
void oled_task_user(void) {
if (is_master) {
render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
} else {
render_crkbd_logo();
// oled_scroll_left(); // Turns on scrolling
}
}
#endif

View File

@ -0,0 +1,37 @@
EXTRAFLAGS += -flto
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SWAP_HANDS_ENABLE = no # Enable one-hand typing
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# BOOTLOADER = qmk-dfu
OLED_DRIVER_ENABLE = yes
# If you want to change the display of OLED, you need to change here
# SRC += ./lib/glcdfont.c \
# ./lib/logo_reader.c \
# ./lib/layer_state_reader.c \
#./lib/rgb_state_reader.c \
# ./lib/keylogger.c \
# ./lib/mode_icon_reader.c \
# ./lib/host_led_state_reader.c \
# ./lib/timelogger.c \