Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added userspace for d4mation. Included their keymap for the Atreus62 #7483

Merged
merged 7 commits into from
Dec 18, 2019
Merged
196 changes: 196 additions & 0 deletions keyboards/atreus62/keymaps/d4mation/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
#include QMK_KEYBOARD_H
#include "d4mation.h"

enum layer_names {
_DVR,
_QWR,
_LOWER,
_RAISE,
_NUM,
_ADJUST
};

enum keymap_custom_keycodes {
LOWER = NEW_SAFE_RANGE,
RAISE
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

/* Default/Dvorak layer
* ,-----------------------------------------. ,-----------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | / |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Tab | ' | , | . | P | Y | | F | G | C | R | L | = |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Ctrl | A | O | E | U | I |,------.,------.| D | H | T | N | S | - |
* |------+------+------+------+------+------|| || ||------+------+------+------+------+------|
* |Shift | ; | Q | J | K | X ||Super ||Enter || B | M | W | V | Z | \ |
* |------+------+------+------+------+------|| || ||------+------+------+------+------+------|
* | NUM | Alt | Home | End |Lower | Bksp |`------'`------'|Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------' `-----------------------------------------'
*/

[_DVR] = LAYOUT(
_GRAVE_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_EQL,
KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
TD(SHIFT_CAPS), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_BSLS,
TG(_NUM), KC_RALT, KC_HOME, KC_END, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),

/* Qwerty layer, more "standard" for other people who may need to use my keyboard or for games where using Qwerty is just easier
* ,-----------------------------------------. ,-----------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Ctrl | A | S | D | F | G |,------.,------.| H | J | K | L | ; | ' |
* |------+------+------+------+------+------|| || ||------+------+------+------+------+------|
* |Shift | Z | X | C | V | B ||Super ||Enter || N | M | , | . | / | = |
* |------+------+------+------+------+------|| || ||------+------+------+------+------+------|
* | NUM | Alt | Home | End |Lower | Bksp |`------'`------'|Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------' `-----------------------------------------'
*/

[_QWR] = LAYOUT(
_GRAVE_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
TD(SHIFT_CAPS), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_EQL,
TG(_NUM), KC_RALT, KC_HOME, KC_END, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),

/* "Lower" layer
* ,-----------------------------------------. ,-----------------------------------------.
* | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | |SLEEP | | | | | SCRGB| | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | | | |,------.,------.| | | | { | } | |
* |------+------+------+------+------+------|| || ||------+------+------+------+------+------|
* | | | | | | || || || | Mute | VolD | VolU | | |
* |------+------+------+------+------+------|| || ||------+------+------+------+------+------|
* | | |PageUp|PgDown| | Del |`------'`------'| Ins | | | | | |
* `-----------------------------------------' `-----------------------------------------'
*/

[_LOWER] = LAYOUT(
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
_______, _______, _______, _______, SLEEP, _______, _______, _______, SCRGB, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, _______, KC_PGUP, KC_PGDN, _______, KC_DEL, _______, _______, KC_INS, _______, _______, _______, _______, _______
),

/* "Raise" layer
* ,-----------------------------------------. ,-----------------------------------------.
* | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | |<?php>| ?> | | | |ZALGO | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | Shrug|Lenny |Magic |Disfac| |,------.,------.| | | | [ | ] | |
* |------+------+------+------+------+------|| || ||------+------+------+------+------+------|
* | | Ameno| Tflip| Tput | | || || || | Prev | Play | Next | | |
* |------+------+------+------+------+------|| || ||------+------+------+------+------+------|
* | | |PageUp|PgDown| | Del |`------'`------'| Ins | | | | | |
* `-----------------------------------------' `-----------------------------------------'
*/

[_RAISE] = LAYOUT(
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
_______, _______, PHPOPEN, PHPCLSE, _______, _______, ZALGO, _______, _______, _______, _______, _______,
_______, SHRUG, LENNY, MAGIC, DISFACE, _______, _______, _______, _______, KC_LBRC, KC_RBRC,_______,
_______, AMENO, TFLIP, TPUT, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______,
_______, _______, KC_PGUP, KC_PGDN, _______, KC_DEL, _______, _______, KC_INS, _______, _______, _______, _______, _______
),

/* "Numpad" layer
* ,-----------------------------------------. ,-----------------------------------------.
* | | | / | * | - | | | | | / | * | - | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | 7 | 8 | 9 | + | | | | 7 | 8 | 9 | + | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | 4 | 5 | 6 | + | |,------.,------.| | 4 | 5 | 6 | + | |
* |------+------+------+------+------+------|| || ||------+------+------+------+------+------|
* | | 1 | 2 | 3 | Enter| || || || | 1 | 2 | 3 | Enter| |
* |------+------+------+------+------+------|| || ||------+------+------+------+------+------|
* | | 0 | 0 | . | Enter| |`------'`------'| | 0 | 0 | . | Enter| |
* `-----------------------------------------' `-----------------------------------------'
*/

[_NUM] = LAYOUT(
_______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______,
_______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______,
_______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______,
_______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______,
_______, KC_KP_0, KC_KP_0, KC_PDOT, KC_PENT, _______, _______, _______, _______, KC_KP_0, KC_KP_0, KC_PDOT, KC_PENT, _______
),

/* "Adjust" layer, only active if both "Lower" and "Raise" are active at the same time
* All unused keys are blanked out for this layer
* ,-----------------------------------------. ,-----------------------------------------.
* | NO | NO | NO | NO | NO | NO | | NO | NO | NO | NO | NO | NO |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | NO |RESET | NO | NO | NO | NO | | NO | NO | NO | NO | NO | NO |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | NO | NO | NO |UC WIN|UC OSX| NO |,------.,------.| NO |Dvorak|Qwerty| NO | NO | NO |
* |------+------+------+------+------+------|| Swap || ||------+------+------+------+------+------|
* | NO | NO | NO | NO | NO | NO || to || Swap || NO | NO | NO | NO | NO | NO |
* |------+------+------+------+------+------|| Ctrl || Back ||------+------+------+------+------+------|
* | NO | NO | NO | NO | | NO |`------'`------'| NO | | NO | NO | NO | NO |
* `-----------------------------------------' `-----------------------------------------'
*/

[_ADJUST] = LAYOUT(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, UC_M_WI, UC_M_OS, XXXXXXX, XXXXXXX, DF(_DVR),DF(_QWR),XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, CG_SWAP, CG_NORM, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),

};

/* Runs just one time when the keyboard initializes. */
void eeconfig_init_keymap( void ) {
set_unicode_input_mode( UC_OSX );
};

bool process_record_keymap( uint16_t keycode, keyrecord_t *record ) {

switch ( keycode ) {

case LOWER:

if ( record->event.pressed ) {
layer_on( _LOWER );
update_tri_layer( _LOWER, _RAISE, _ADJUST );
}
else {
layer_off( _LOWER );
update_tri_layer( _LOWER, _RAISE, _ADJUST );
}

return false;
break;

case RAISE :

if ( record->event.pressed ) {
layer_on( _RAISE );
update_tri_layer( _LOWER, _RAISE, _ADJUST );
}
else {
layer_off( _RAISE );
update_tri_layer( _LOWER, _RAISE, _ADJUST );
}

return false;
break;

}

return true;

};
40 changes: 40 additions & 0 deletions keyboards/atreus62/keymaps/d4mation/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# d4mation's keymap for the Atreus62

This is a bit of a work in-progress, but for the most part I like what I have done here.

I switched to Dvorak some time ago and software-based support in most OS's for Dvorak isn't very great, so this keymap by default is set to Dvorak.

## Table of Contents

* [Layers](#layers)
- [Base layer](#base)
- [Num](#num)
- [Lower](#lower)
- [Raise](#raise)
- [Adjust](#adjust)

# Layers

## Base

* By default, this layer is Dvorak. But using the Adjust layer you can switch to Qwerty
* Double-tapping Shift enables and disables Caps Lock
* Quickly tapping the Grave accent key will output a Grave Accent, but holding it for 200ms will output the ESC key instead

## Num

This layer gets toggled off and on to place a numpad on both the left and right sides of the keyboard.

## Lower

This layer holds some handy shortcuts that I use often, like the screen grab shortcut and sleep shortcut in OS X.

It also has quick access to {} as they are inaccessible in the base layer

## Raise

Aside from quick access to [] and Play/Pause/Next/Previous, this layer is mostly just goofy things I decided to program into the keyboard because I could. There's a bunch of [kaomoji](https://en.wikipedia.org/wiki/Emoticon#Japanese_style_(kaomoji))/"unicode smileys" and I added a toggle switch to enable a [Zalgo Text](https://zalgo.org/) mode.

## Adjust

This layer is a "here be dragons" layer. It can only be accessed by holding down the keys for Lower and Raise at the same time. I added exclusively keys that drastically transformed the keyboard's layout or function on this layer. The ability to switch to Qwerty is on this layer, a way to switch CTRL and CMD back and forth is on this layer, and a hotkey to enter bootloader mode also exists.
2 changes: 2 additions & 0 deletions keyboards/atreus62/keymaps/d4mation/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
UNICODE_ENABLE = yes
TAP_DANCE_ENABLE = yes
1 change: 1 addition & 0 deletions users/d4mation/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#define FORCE_NKRO
37 changes: 37 additions & 0 deletions users/d4mation/d4mation.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#include "d4mation.h"

__attribute__ ((weak))
bool process_record_keymap( uint16_t keycode, keyrecord_t *record ) {
/* If you want macros specific to your keymap, you need to define this function in your keymap */
return true;
}

__attribute__ ((weak))
void matrix_init_keymap() {
/* If you want a matrix init specific to your keymap, you need to define this function in your keymap */
}

__attribute__ ((weak))
void matrix_scan_keymap() {
/* If you want a matrix scan specific to your keymap, you need to define this function in your keymap */
}

__attribute__((weak))
void eeconfig_init_keymap( void ) {}

/* process_record_user() is called in macros.c */

void matrix_init_user( void ) {
matrix_init_keymap();
}

void matrix_scan_user( void ) {
matrix_scan_keymap();
}

void eeconfig_init_user( void ) {

eeconfig_init_keymap();
keyboard_init();

}
17 changes: 17 additions & 0 deletions users/d4mation/d4mation.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#pragma once

#include "quantum.h"

#ifdef UNICODE_ENABLE
#include "macros.h"
#endif

#ifdef TAP_DANCE_ENABLE
#include "tap-dance.h"
#endif

bool process_record_keymap( uint16_t keycode, keyrecord_t *record );

void matrix_init_keymap( void );

void matrix_scan_keymap( void );
Loading