mirror of
https://github.com/qmk/qmk_userspace.git
synced 2026-03-07 00:01:09 -05:00
add key code mapping for clarity
This commit is contained in:
parent
48a6a518e0
commit
93938ae956
3 changed files with 20 additions and 203 deletions
|
|
@ -1,11 +1,5 @@
|
|||
#pragma once
|
||||
|
||||
#define MASTER_LEFT
|
||||
|
||||
#define USE_SERIAL_PD2
|
||||
|
||||
#define COMBO_COUNT 1
|
||||
|
||||
#define TAPPING_TERM 180
|
||||
|
||||
#define OLED_BRIGHTNESS 0
|
||||
|
|
@ -1,25 +1,19 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include <stdio.h>
|
||||
|
||||
#define _KC_A LGUI_T(KC_A)
|
||||
#define _KC_S LALT_T(KC_S)
|
||||
#define _KC_D LCTL_T(KC_D)
|
||||
#define _KC_F LSFT_T(KC_F)
|
||||
#define _KC_J LSFT_T(KC_J)
|
||||
#define _KC_K LCTL_T(KC_K)
|
||||
#define _KC_L LALT_T(KC_L)
|
||||
#define _KC_QUOT LGUI_T(KC_QUOT)
|
||||
|
||||
#define _KC_ESC LT(MSC, KC_ESC)
|
||||
#define _KC_SPC LT(NUM, KC_SPC)
|
||||
#define _KC_TAB LT(MED, KC_TAB)
|
||||
#define _KC_ENT LT(CUR, KC_ENT)
|
||||
#define _KC_DEL LT(FUN, KC_DEL)
|
||||
|
||||
enum custom_keycodes {
|
||||
OLED_BD = SAFE_RANGE,
|
||||
OLED_BU
|
||||
};
|
||||
#define CC_A LGUI_T(KC_A)
|
||||
#define CC_S LALT_T(KC_S)
|
||||
#define CC_D LCTL_T(KC_D)
|
||||
#define CC_F LSFT_T(KC_F)
|
||||
#define CC_J LSFT_T(KC_J)
|
||||
#define CC_K LCTL_T(KC_K)
|
||||
#define CC_L LALT_T(KC_L)
|
||||
#define CC_QUOT LGUI_T(KC_QUOT)
|
||||
#define CC_ESC LT(MSC, KC_ESC)
|
||||
#define CC_SPC LT(NUM, KC_SPC)
|
||||
#define CC_TAB LT(MED, KC_TAB)
|
||||
#define CC_ENT LT(CUR, KC_ENT)
|
||||
#define CC_DEL LT(FUN, KC_DEL)
|
||||
|
||||
enum {
|
||||
// Home
|
||||
|
|
@ -63,9 +57,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
// |ESC MSC|SPC NUM|TAB MED| |ENT CUR| BSP |DEL FUN|
|
||||
// ------+-------+------- -------+-------+-------
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
_KC_A, _KC_S, _KC_D, _KC_F, KC_G, KC_H, _KC_J, _KC_K, _KC_L, _KC_QUOT,
|
||||
CC_A, CC_S, CC_D, CC_F, KC_G, KC_H, CC_J, CC_K, CC_L, CC_QUOT,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
_KC_ESC, _KC_SPC, _KC_TAB, _KC_ENT, KC_BSPC, _KC_DEL
|
||||
CC_ESC, CC_SPC, CC_TAB, CC_ENT, KC_BSPC, CC_DEL
|
||||
),
|
||||
[NUM] = LAYOUT_split_3x5_3(
|
||||
// --------------------------------------- ---------------------------------------
|
||||
|
|
@ -99,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
),
|
||||
[MED] = LAYOUT_split_3x5_3(
|
||||
// --------------------------------------- ---------------------------------------
|
||||
// | | | | | | | | | OLED- | OLED+ | |
|
||||
// | | | | | | | | | | | |
|
||||
// |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------|
|
||||
// | GUI | ALT | CTL | SFT | | | | PREV | VOL - | VOL + | NEXT |
|
||||
// |-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------|
|
||||
|
|
@ -107,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
// -------+-------+-------+-------+-------+------- -------+-------+-------+-------+-------+-------
|
||||
// | ESC | SPC | TAB | | | PLAY | MUTE |
|
||||
// -------+-------+------- -------+-------+-------
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, OLED_BD, OLED_BU, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
KC_ESC, KC_SPC, KC_TAB, XXXXXXX, KC_MPLY, KC_MUTE
|
||||
|
|
@ -143,174 +137,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
KC_ESC, KC_SPC, KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
)
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM combo_ralt[] = {KC_I, KC_O, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
COMBO(combo_ralt, KC_RALT)
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
bool has_brightness_change;
|
||||
uint8_t brightness_step;
|
||||
} state_t;
|
||||
|
||||
state_t state;
|
||||
|
||||
typedef union {
|
||||
uint32_t raw;
|
||||
struct {
|
||||
uint8_t oled_brightness;
|
||||
uint32_t press_count;
|
||||
};
|
||||
} user_config_t;
|
||||
|
||||
user_config_t user_config;
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
user_config.raw = eeconfig_read_user();
|
||||
state.has_brightness_change = false;
|
||||
state.brightness_step = 10;
|
||||
oled_set_brightness(user_config.oled_brightness);
|
||||
}
|
||||
|
||||
uint8_t get_new_brightness(int8_t change) {
|
||||
if (255 < user_config.oled_brightness + change) {
|
||||
return 255;
|
||||
}
|
||||
|
||||
if (0 > user_config.oled_brightness + change) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return user_config.oled_brightness + change;
|
||||
}
|
||||
|
||||
void register_brightness_change(int8_t change) {
|
||||
uint8_t new_brightness = get_new_brightness(change);
|
||||
if (new_brightness != user_config.oled_brightness) {
|
||||
state.has_brightness_change = true;
|
||||
user_config.oled_brightness = new_brightness;
|
||||
eeconfig_update_user(user_config.raw);
|
||||
}
|
||||
}
|
||||
|
||||
int8_t _row = 0;
|
||||
int8_t _col = 0;
|
||||
int16_t _keycode = 0;
|
||||
char _character = '?';
|
||||
|
||||
const char code_to_name[60] = {
|
||||
'?', '?', '?', '?', 'a', 'b', 'c', 'd', 'e', 'f',
|
||||
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
|
||||
'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
|
||||
'1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
|
||||
'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
|
||||
'#', ';', '\'', '`', ',', '.', '/', '?', '?', '?'
|
||||
};
|
||||
|
||||
void set_keycode_values(uint16_t keycode) {
|
||||
_keycode = keycode;
|
||||
_character = '?';
|
||||
if ((_keycode >= QK_MOD_TAP && _keycode <= QK_MOD_TAP_MAX)
|
||||
|| (_keycode >= QK_LAYER_TAP && _keycode <= QK_LAYER_TAP_MAX)
|
||||
) {
|
||||
_keycode = _keycode & 0xFF;
|
||||
}
|
||||
|
||||
if (_keycode < 60) {
|
||||
_character = code_to_name[_keycode];
|
||||
}
|
||||
|
||||
if (_keycode > 99 && _keycode != 0) {
|
||||
_keycode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
return true;
|
||||
}
|
||||
|
||||
user_config.press_count += 1;
|
||||
eeconfig_update_user(user_config.raw);
|
||||
|
||||
_row = record->event.key.row;
|
||||
_col = record->event.key.col;
|
||||
set_keycode_values(keycode);
|
||||
|
||||
if (99 <= _keycode) {
|
||||
_keycode = 99;
|
||||
}
|
||||
|
||||
switch (keycode) {
|
||||
case OLED_BU:
|
||||
register_brightness_change(state.brightness_step);
|
||||
break;
|
||||
case OLED_BD:
|
||||
register_brightness_change(state.brightness_step * -1);
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
char* get_layer_name(void) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case HME:
|
||||
return "Home";
|
||||
break;
|
||||
|
||||
case NUM:
|
||||
return "Numpad";
|
||||
break;
|
||||
|
||||
case CUR:
|
||||
return "Cursor";
|
||||
break;
|
||||
|
||||
case MED:
|
||||
return "Media";
|
||||
break;
|
||||
|
||||
case FUN:
|
||||
return "Function";
|
||||
break;
|
||||
|
||||
case MSC:
|
||||
return "Other";
|
||||
break;
|
||||
}
|
||||
|
||||
return "n/a";
|
||||
}
|
||||
|
||||
bool is_current_layer_home(void) {
|
||||
return HME == get_highest_layer(layer_state);
|
||||
}
|
||||
|
||||
|
||||
bool oled_task_user(void) {
|
||||
char layer[10] = "";
|
||||
sprintf(layer, "%-9s", get_layer_name());
|
||||
oled_write_ln(layer, !is_current_layer_home());
|
||||
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_write_ln_P(PSTR("Caps "), led_state.caps_lock);
|
||||
|
||||
char matrix[20] = "";
|
||||
sprintf(matrix, "%dx%d %02d %c %07li", _row, _col, _keycode, _character, user_config.press_count);
|
||||
oled_write(matrix, false);
|
||||
oled_write_ln_P(PSTR(" "), false);
|
||||
|
||||
char brightness[10] = "";
|
||||
sprintf(brightness, "%03d/255 ", user_config.oled_brightness);
|
||||
oled_write(brightness, state.has_brightness_change);
|
||||
|
||||
if (state.has_brightness_change) {
|
||||
oled_set_brightness(user_config.oled_brightness);
|
||||
state.has_brightness_change = false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
RGB_MATRIX_SUPPORTED = no
|
||||
COMBO_ENABLE = yes
|
||||
COMBO_ENABLE = no
|
||||
BOOTLOADER = atmel-dfu
|
||||
OLED_ENABLE = yes
|
||||
OLED_ENABLE = no
|
||||
Loading…
Add table
Add a link
Reference in a new issue