[Keymap] Xulkal user changes (#6044)

* Xulkal user changes

Xulkal user changes

* Reduce code duplication

* Massive user code refactor
This commit is contained in:
XScorpion2 2019-06-01 16:39:31 -05:00 committed by Drashna Jaelre
parent 02b3fadbac
commit 4f788c2ae9
18 changed files with 334 additions and 260 deletions

View file

@ -1,56 +1,58 @@
#include "process_records.h"
#ifdef TAP_DANCE_ENABLE
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
[COMM_QUOT] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_QUOT),
[BACKSPACE] = ACTION_TAP_DANCE_DOUBLE (KC_BSPACE, LCTL(KC_BSPACE)),
[TAP_TAB] = ACTION_TAP_DANCE_DOUBLE (KC_TAB, LSFT(KC_TAB)),
[CTRL_MINUS] = ACTION_TAP_DANCE_DOUBLE (KC_LCTL, KC_MINS),
[CTRL_PLUS] = ACTION_TAP_DANCE_DOUBLE (KC_RCTL, KC_EQL)
};
#endif
#include "custom_keycodes.h"
#include "timer_utils.h"
#if defined(RGB_MATRIX_ENABLE)
extern void eeconfig_update_rgb_matrix_default(void);
#endif
#ifdef TRILAYER_ENABLED
uint32_t layer_state_set_user(uint32_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
uint32_t layer_state_set_user(uint32_t state)
{
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static uint16_t reset_timer;
switch (keycode) {
case RGBRST:
#if defined(RGBLIGHT_ENABLE)
if (record->event.pressed) {
eeconfig_update_rgblight_default();
rgblight_enable();
}
#elif defined(RGB_MATRIX_ENABLE)
if (record->event.pressed) {
eeconfig_update_rgb_matrix_default();
}
bool process_record_user(uint16_t keycode, keyrecord_t *record)
{
static uint16_t reset_timer;
#ifndef TAP_DANCE_ENABLE
if (!process_tap_dance_double(keycode, record))
return false;
#endif
return false;
case RESET:
if (record->event.pressed) {
reset_timer = timer_read();
} else {
if (timer_elapsed(reset_timer) >= 500) {
reset_keyboard();
}
}
return false;
switch (keycode)
{
case RGBRST:
{
#if defined(RGBLIGHT_ENABLE)
if (record->event.pressed)
{
eeconfig_update_rgblight_default();
rgblight_enable();
}
#elif defined(RGB_MATRIX_ENABLE)
if (record->event.pressed)
eeconfig_update_rgb_matrix_default();
#endif
}
return false;
case RESET:
{
if (record->event.pressed)
reset_timer = timer_read() + 500;
else if (timer_expired(reset_timer))
reset_keyboard();
}
return false;
}
return process_record_keymap(keycode, record);
}
__attribute__ ((weak))
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
return true;
bool process_record_keymap(uint16_t keycode, keyrecord_t *record)
{
return true;
}