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

[Keymap] All about (ARM) RGB and OLEDs (drashna keymaps) #7354

Merged
merged 30 commits into from
Nov 20, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
1e847ec
Add Kyria Keymap
drashna Nov 6, 2019
ff9d0d1
Enable all RGBLIGHT Animations for ARM and high capacity AVR
drashna Nov 9, 2019
88c399d
Reduce GNUC version for __has_include
drashna Nov 9, 2019
d0ddfe0
Cleanup Ortho 4x12 Community layout
drashna Nov 9, 2019
0a7b006
Update Collide 39 keymap
drashna Nov 9, 2019
f074ee8
Cleanup Keymaps
drashna Nov 9, 2019
4bad5a4
Enable full 30 LEDs for Ergodox
drashna Nov 9, 2019
0e902b2
Change EEPROM Load timing
drashna Nov 10, 2019
f06cf65
Use RGB Matrix on Planck Rev6
drashna Nov 10, 2019
5ee8aa2
Use correct keymap swap
drashna Nov 10, 2019
5f3fb26
Enable everything for ARM
drashna Nov 10, 2019
cc1b7ee
Only enable rgb sleep on avr until crash is fixed
drashna Nov 10, 2019
bc4a7a3
Add additional Kyria keymap config
drashna Nov 12, 2019
8a4fe57
Overhaul Kyria OLED display
drashna Nov 13, 2019
ab47479
Improve kyria keymap based on usage
drashna Nov 13, 2019
e15999b
Minor tweaks to rules
drashna Nov 13, 2019
65982bf
Update OLED code to truncate properly
drashna Nov 14, 2019
8986b1e
Fix RGB Light layer indication
drashna Nov 14, 2019
fb3f24f
Switch all of biton32 to get_highest_layer function
drashna Nov 14, 2019
5723ca1
Fix OLED Keylogger display
drashna Nov 14, 2019
d3f1f18
Run qmk cformat over all of my user files
drashna Nov 14, 2019
48e4528
Slight tweak to kyria based on usage
drashna Nov 16, 2019
3616c8b
Move around LALT_T config
drashna Nov 18, 2019
d127434
Add comments about base wrappers to keymaps
drashna Nov 18, 2019
4351458
Another cformat pass
drashna Nov 18, 2019
e00a85f
Temp fix for VUSB boards and NKRO
drashna Nov 18, 2019
f96d923
Convert tabs to spaces in rules.mk files
drashna Nov 18, 2019
20eb492
Only enable RGBLight if it's enabled
drashna Nov 19, 2019
128e5a1
Add Encoder Flip setting
drashna Nov 19, 2019
cf783da
Update OLED font file
drashna Nov 20, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions keyboards/40percentclub/nano/keymaps/drashna/keymap.c
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
#include QMK_KEYBOARD_H
#include "drashna.h"
#include "analog.c"
#include "pointing_device.h"
#include "pincontrol.h"


#define KC_X0 LT(_FN, KC_ESC)

// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
KC_VOLU, KC_MPLY, KC_MPRV, RESET,
KC_VOLD, KC_MUTE, KC_MNXT, RESET
),

};
// clang-format on

// Joystick
// Set Pins
Expand All @@ -39,7 +39,7 @@ int16_t xOrigin, yOrigin;
uint16_t lastCursor = 0;

int16_t axisCoordinate(uint8_t pin, uint16_t origin) {
int8_t direction;
int8_t direction;
int16_t distanceFromOrigin;
int16_t range;

Expand All @@ -57,8 +57,8 @@ int16_t axisCoordinate(uint8_t pin, uint16_t origin) {
direction = 1;
}

float percent = (float)distanceFromOrigin / range;
int16_t coordinate = (int16_t)(percent * 100);
float percent = (float)distanceFromOrigin / range;
int16_t coordinate = (int16_t)(percent * 100);
if (coordinate < 0) {
return 0;
} else if (coordinate > 100) {
Expand Down
9 changes: 7 additions & 2 deletions keyboards/c39/keymaps/drashna/config.h
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

// place overrides here
#undef MATRIX_COL_PINS
#define MATRIX_COL_PINS { A3, A2, A1, A0, B13, B14, B15, B9, B3, B2, B4, A10, A9 }
#define MATRIX_COL_PINS \
{ A3, A2, A1, A0, B13, B14, B15, B9, B3, B2, B4, A10, A9 }
#undef MATRIX_ROW_PINS
#define MATRIX_ROW_PINS { B7, B1, B0 }
#define MATRIX_ROW_PINS \
{ B7, B1, B0 }

#define RGB_DI_PIN B10
#define RGBLED_NUM 15
132 changes: 92 additions & 40 deletions keyboards/c39/keymaps/drashna/keymap.c
Original file line number Diff line number Diff line change
@@ -1,45 +1,97 @@
#include QMK_KEYBOARD_H
#include "drashna.h"

// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
#define _QWERTY 0
#define _FN1 1

// Defines for task manager and such
#define CALTDEL LCTL(LALT(KC_DEL))
#define TSKMGR LCTL(LSFT(KC_ESC))
/*
* The `LAYOUT_base` macro is a template to allow the use of identical
* modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so
* that there is no need to set them up for each layout, and modify all of
* them if I want to change them. This helps to keep consistency and ease
* of use. K## is a placeholder to pass through the individual keycodes
*/
// clang-format off
#define LAYOUT_base( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
) \
LAYOUT_wrapper( \
KC_ESC, K01, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, KC_DEL, \
ALT_T(KC_TAB), K11, K12, K13, K14, K15, KC_BSPC, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \
KC_MLSF, CTL_T(K21), K22, K23, K24, LT(_LOWER,K25), KC_SPC, LT(_RAISE,K26), K27, K28, K29, RCTL_T(K2A), KC_ENT \
)
#define LAYOUT_base_wrapper(...) LAYOUT_base(__VA_ARGS__)

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

/* Qwerty
* ,----------------------------------------------------------------------------. ,-------------.
* | Q | W | E | R | T | Bksp | Y | U | I | O | P | | M1 | M2 |
* |------+------+------+------+------+------+------+------+------+------+------+ |------+------|
* | A | S | D | F | G | Enter| H | J | K | L | ; | | M3 | M4 |
* |------+------+------+------+------+------+------+------+------+------+------+ |------+------|
* | Z | X | C | V | B | FN1 | N | M | , | . | / | | M5 | M6 |
* `----------------------------------------------------------------------------' `-------------'
*/
[_QWERTY] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_1, KC_2,
KC_A, KC_S, KC_D, KC_F, KC_G, MT(MOD_LSFT, KC_ENT), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_3, KC_4,
KC_Z, KC_X, KC_C, KC_V, KC_B, LT(_FN1, KC_SPC), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_5, KC_6
),

/* FN1
* ,----------------------------------------------------------------------------. ,-------------.
* | 1 | 2 | 3 | 4 | 5 | Bksp | 6 | 7 | 8 | 9 | 0 | | M1 | M2 |
* |------+------+------+------+------+------+------+------+------+------+------+ |------+------|
* | 4 | 5 | 6 | + | | Enter| | | | | | | M3 | M4 |
* |------+------+------+------+------+------+------+------+------+------+------+ |------+------|
* | 7 | 8 | 9 | 0 | | FN1 | | | | | | | M5 | M6 |
* `----------------------------------------------------------------------------' `-------------'
*/
[_FN1] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2,
KC_4, KC_5, KC_6, KC_PLUS, _______, KC_ENT, _______, _______, _______, _______, _______, KC_3, KC_4,
KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, _______, KC_5, KC_6
),
[_QWERTY] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
),

[_COLEMAK] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),

[_DVORAK] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),

[_WORKMAN] = LAYOUT_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),

[_NORMAN] = LAYOUT_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),

[_MALTRON] = LAYOUT_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),

[_EUCALYN] = LAYOUT_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),

[_CARPLAX] = LAYOUT_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),

[_MODS] = LAYOUT_wrapper(
_______, ___________________BLANK___________________, _______, ___________________BLANK___________________, _______,
_______, ___________________BLANK___________________, _______, ___________________BLANK___________________, _______,
KC_LSFT, ___________________BLANK___________________, _______, ___________________BLANK___________________, _______
),

[_LOWER] = LAYOUT_wrapper(
KC_TILD, _________________LOWER_L1__________________, _______, _________________LOWER_R1__________________, KC_BSPC,
KC_DEL, _________________LOWER_L2__________________, _______, _________________LOWER_R2__________________, KC_PIPE,
_______, _________________LOWER_L3__________________, _______, _________________LOWER_R3__________________, _______
),

[_RAISE] = LAYOUT_wrapper(
KC_GRV, _________________RAISE_L1__________________, _______, _________________RAISE_R1__________________, KC_BSPC,
KC_DEL, _________________RAISE_L2__________________, _______, _________________RAISE_R2__________________, KC_BSLS,
_______, _________________RAISE_L3__________________, _______, _________________RAISE_R3__________________, _______
),

[_ADJUST] = LAYOUT_wrapper(
KC_MAKE, _________________ADJUST_L1_________________, KC_NUKE, _________________ADJUST_R1_________________, KC_RST,
VRSN, _________________ADJUST_L2_________________, MG_NKRO, _________________ADJUST_R2_________________, EEP_RST,
TG_MODS, _________________ADJUST_L3_________________, KC_RGB_T,_________________ADJUST_R3_________________, RGB_IDL
)
};
// clang-format on
4 changes: 3 additions & 1 deletion keyboards/c39/keymaps/drashna/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,6 @@ MIDI_ENABLE = no # MIDI controls
UNICODE_ENABLE = yes # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = yes # Audio output on port C6
RGBLIGHT_ENABLE = no # RGB Enable / Disable
RGBLIGHT_ENABLE = yes # RGB Enable / Disable

RGBLIGHT_STARTUP_ANIMATION = yes
9 changes: 5 additions & 4 deletions keyboards/crkbd/keymaps/drashna/glcdfont.c
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
#pragma once

#ifdef __AVR__
#include <avr/io.h>
#include <avr/pgmspace.h>
# include <avr/io.h>
# include <avr/pgmspace.h>
#elif defined(ESP8266)
#include <pgmspace.h>
# include <pgmspace.h>
#else
#define PROGMEM
# define PROGMEM
#endif

// Corne 8x6 font with QMK Firmware Logo
// Online editor: https://helixfonteditor.netlify.com/

// clang-format off
const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
Expand Down
49 changes: 27 additions & 22 deletions keyboards/crkbd/keymaps/drashna/keymap.c
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
#include QMK_KEYBOARD_H
#include "drashna.h"

extern keymap_config_t keymap_config;
extern uint8_t is_master;
extern uint8_t is_master;

#ifdef RGBLIGHT_ENABLE
// Following line allows macro to read current RGB settings
extern rgblight_config_t rgblight_config;
#endif
#ifdef OLED_DRIVER_ENABLE
static uint32_t oled_timer = 0;
static char keylog_str[6] = {};
static uint16_t log_timer = 0;
# define KEYLOGGER_LENGTH 5
static uint32_t oled_timer = 0;
static char keylog_str[KEYLOGGER_LENGTH + 1] = {"\n"};
static uint16_t log_timer = 0;
// clang-format off
static const char PROGMEM code_to_name[0xFF] = {
// 0 1 2 3 4 5 6 7 8 9 A B c D E F
' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', // 0x
Expand All @@ -37,7 +37,14 @@ void add_keylog(uint16_t keycode);

enum crkbd_keycodes { RGBRST = NEW_SAFE_RANGE };

// clang-format off
/*
* The `LAYOUT_crkbd_base` macro is a template to allow the use of identical
* modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so
* that there is no need to set them up for each layout, and modify all of
* them if I want to change them. This helps to keep consistency and ease
* of use. K## is a placeholder to pass through the individual keycodes
*/

#define LAYOUT_crkbd_base( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
Expand Down Expand Up @@ -155,7 +162,7 @@ void add_keylog(uint16_t keycode) {
keycode = 0;
}

for (uint8_t i = 4; i > 0; --i) {
for (uint8_t i = (KEYLOGGER_LENGTH - 1); i > 0; --i) {
keylog_str[i] = keylog_str[i - 1];
}

Expand All @@ -168,7 +175,7 @@ void add_keylog(uint16_t keycode) {

void update_log(void) {
if (timer_elapsed(log_timer) > 750) {
//add_keylog(0);
// add_keylog(0);
}
}

Expand All @@ -179,7 +186,7 @@ void render_keylogger_status(void) {

void render_default_layer_state(void) {
oled_write_P(PSTR("Lyout"), false);
switch (biton32(default_layer_state)) {
switch (get_highest_layer(default_layer_state)) {
case _QWERTY:
oled_write_P(PSTR(" QRTY"), false);
break;
Expand Down Expand Up @@ -268,7 +275,7 @@ void render_status_secondary(void) {
/* Show Keyboard Layout */
render_default_layer_state();
render_layer_state();
render_mod_status(get_mods()|get_oneshot_mods());
render_mod_status(get_mods() | get_oneshot_mods());

render_keylogger_status();
}
Expand All @@ -278,9 +285,11 @@ void oled_task_user(void) {
oled_off();
return;
}
#ifndef SPLIT_KEYBOARD
else { oled_on(); }
#endif
# ifndef SPLIT_KEYBOARD
else {
oled_on();
}
# endif

update_log();
if (is_master) {
Expand All @@ -303,16 +312,12 @@ uint16_t get_tapping_term(uint16_t keycode) {

#ifdef RGB_MATRIX_ENABLE

void suspend_power_down_keymap(void) {
rgb_matrix_set_suspend_state(true);
}
void suspend_power_down_keymap(void) { rgb_matrix_set_suspend_state(true); }

void suspend_wakeup_init_keymap(void) {
rgb_matrix_set_suspend_state(false);
}
void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); }

void check_default_layer(uint8_t mode, uint8_t type) {
switch (biton32(default_layer_state)) {
switch (get_highest_layer(default_layer_state)) {
case _QWERTY:
rgb_matrix_layer_helper(HSV_CYAN, mode, rgb_matrix_config.speed, type);
break;
Expand Down Expand Up @@ -351,7 +356,7 @@ void rgb_matrix_indicators_user(void) {
rgb_matrix_config.enable
# endif
) {
switch (biton32(layer_state)) {
switch (get_highest_layer(layer_state)) {
case _GAMEPAD:
rgb_matrix_layer_helper(HSV_ORANGE, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW);
break;
Expand Down
18 changes: 8 additions & 10 deletions keyboards/gergo/keymaps/drashna/keymap.c
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
/* Good on you for modifying your layout! if you don't have
* time to read the QMK docs, a list of keycodes can be found at
*
* https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md
*
* There's also a template for adding new layers at the bottom of this file!
*/

#include QMK_KEYBOARD_H
#include "drashna.h"

/*
* The `LAYOUT_gergo_base` macro is a template to allow the use of identical
* modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so
* that there is no need to set them up for each layout, and modify all of
* them if I want to change them. This helps to keep consistency and ease
* of use. K## is a placeholder to pass through the individual keycodes
*/
// clang-format off
#define LAYOUT_gergo_base( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
Expand All @@ -17,7 +15,7 @@
) \
LAYOUT_gergo_wrapper( \
KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_PIPE, \
KC_TAB, K11, K12, K13, K14, K15, _______, _______, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \
LALT_T(KC_TAB), K11, K12, K13, K14, K15, _______, _______, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \
OS_LSFT, CTL_T(K21), K22, K23, K24, K25, _______, _______, _______, _______, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
KC_GRV, KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT, _______ \
)
Expand Down
3 changes: 2 additions & 1 deletion keyboards/keebio/iris/keymaps/drashna/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# undef RGBLED_NUM
# define RGBLED_NUM 18 // Number of LEDs
# undef RGBLED_SPLIT
# define RGBLED_SPLIT { 9, 9 }
# define RGBLED_SPLIT \
{ 9, 9 }
# define RGBLIGHT_HUE_STEP 8
# define RGBLIGHT_SAT_STEP 8
# define RGBLIGHT_VAL_STEP 8
Expand Down
Loading