~ruther/qmk_firmware

a030e8094f5e374461d61d0899a5e74c23fbe570 — Shane Dowling 2 years ago c3c401f
[Keymap] Add md40 ckrbd keymap (#19931)

Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
A keyboards/crkbd/keymaps/md40/config.h => keyboards/crkbd/keymaps/md40/config.h +41 -0
@@ 0,0 1,41 @@
/*
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 TAPPING_FORCE_HOLD
#define TAPPING_TERM 300

#undef RGBLED_NUM
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLED_NUM 27
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17

A keyboards/crkbd/keymaps/md40/keymap.c => keyboards/crkbd/keymaps/md40/keymap.c +38 -0
@@ 0,0 1,38 @@
// Copyright 2021 Shane Dowling (@shano)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H
#define KC_ESCC MT(MOD_LCTL, KC_ESC)
#define KC_ENTS MT(MOD_LSFT, KC_ENT)
#define KC_FN   MO(_FN)

enum layers {
  _QWERTY,
  _FN,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [_QWERTY] = LAYOUT(
  //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
     KC_TAB , KC_Q  , KC_W  , KC_E  , KC_R  , KC_T  ,                KC_Y  , KC_U  , KC_I  , KC_O  , KC_P  ,KC_BSPC,
  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
     KC_LSFT, KC_A  , KC_S  , KC_D  , KC_F  , KC_G  ,                KC_H  , KC_J  , KC_K  , KC_L  ,KC_SCLN,KC_QUOT,
     //|----+----+----+----+----+----+              |----+----+----+----+----+----|
     KC_ESCC, KC_Z  , KC_X  , KC_C  , KC_V  , KC_B  ,                KC_N  , KC_M  ,KC_COMM,KC_DOT ,KC_SLSH,KC_ESC ,
  //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
                       KC_LALT,KC_LGUI,KC_SPC ,         KC_ENTS,KC_FN,KC_FN
  //                  `----+----+----'        `+---+----+----'c
  ),
  [_FN] = LAYOUT(
  //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
     _______,KC_1, KC_2 ,KC_3, KC_4,KC_5,               KC_6,KC_7,KC_8,KC_9,KC_0,KC_BSPC,
  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
     _______,KC_EXCLAIM,KC_AT,KC_HASH,KC_DOLLAR,KC_PERCENT,      KC_LEFT,KC_DOWN, KC_UP ,KC_RIGHT,KC_LBRC,KC_RBRC,
  //|----+----+----+----+----+----+              |----+----+----+----+----+----|
     _______, KC_CIRCUMFLEX  , KC_AMPR  , KC_ASTERISK  , KC_LEFT_PAREN  , KC_RIGHT_PAREN  ,               KC_MINUS,KC_PLUS,KC_EQL,KC_PIPE,KC_GRAVE,KC_BACKSLASH,
  //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
                       _______,_______,_______ ,         _______,_______,_______
  //                  `----+----+----'        `----+----+----'
  )
};


A keyboards/crkbd/keymaps/md40/readme.md => keyboards/crkbd/keymaps/md40/readme.md +19 -0
@@ 0,0 1,19 @@
# MD40: Minimally Disruptive 40% Keymap

This keymap is an attempt to go from a standard keyboard layout to a 40% keyboard with minimal disruption.

Some aims:
- Two layers only
- Existing keyboard positions where possible
- Exceptions where it's not possible
- Exceptions where it makes sense

Supports crkbd only.

## Base Layer

![Base Layer](https://i.imgur.com/hXLP6ush.png)

## Fn Layer

![Base Layer](https://i.imgur.com/Sozd1p8h.png)

A keyboards/crkbd/keymaps/md40/rules.mk => keyboards/crkbd/keymaps/md40/rules.mk +8 -0
@@ 0,0 1,8 @@

# 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
#
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no        # Mouse keys
NKRO_ENABLE = no            # Enable N-Key Rollover