keychron_qmk_firmware/users/drashna/template.c
Drashna Jaelre e4bbe057f2 Yet another update to drashna keymaps and userspace (#3787)
* Make tap function inline

* Use better makefile keyboard detection

* Remove Copy-Paste macro

* Add F11/F12 to Iris

* Minor tweaks to userspace config

* Set audio clicky randomness to 1.5
* Set NO_DEBUG to only be set if console is not enabled

* Move NO_MUSIC_MODE to userspace config.h

* Reduce Ergodox Debounce

* Add Planck Light config

* Use OSM for ortho 4x12

* Music Mode changes for planck light

* Cleanup do to shutdown user and other fixes in Master

* Add and use 'shutdown_user' fzunction

* Remove global NO_MUSIC_MODE define

* Add NO_MUSIC_MODE to individual keymaps

* Change layer colors

* Remove NO_PRINT and NO_DEBUG from userspace config.h

Since these are automatically disabled if the console isn't enabled.

* Remove backlight code if backlight isn't enabled

* Remove Twinkle from Ergodox

* Disable RGB twinkling and enable PSM

* Clean up RGB matrix code

* Clean up planck light indicators

* Clean up tap code

* Rules cleanup for ortho 4x12

* Fix up userspace template

* Revert "Clean up tap code"

This reverts commit 09f64d6d67aa021c3b5ac86a9a739a5ca2b9c1ec.

* Organize includes

* userspace cleanup

* Fix modifier spelling error

* Fix userspace rules

* Disable Permissive Hold again

* Minor clean up

* Fix Tap stuff

* Viterbi Updates for file size
2018-08-29 13:42:15 -04:00

132 lines
2.6 KiB
C

#include "template.h"
// Add reconfigurable functions here, for keymap customization
// This allows for a global, userspace functions, and continued
// customization of the keymap. Use _keymap instead of _user
// functions in the keymaps
__attribute__ ((weak))
void matrix_init_keymap(void) {}
// Call user matrix init, then call the keymap's init function
void matrix_init_user(void) {
matrix_init_keymap();
}
__attribute__ ((weak))
void matrix_scan_keymap(void) {}
// No global matrix scan code, so just run keymap's matix
// scan function
void matrix_scan_user(void) {
matrix_scan_keymap();
}
__attribute__ ((weak))
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
return true;
}
// Defines actions tor my global custom keycodes. Defined in drashna.h file
// Then runs the _keymap's recod handier if not processed here,
// And use "NEWPLACEHOLDER" for new safe range
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_MAKE:
if (!record->event.pressed) {
SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
":dfu"
#elif defined(BOOTLOADER_HALFKAY)
":teensy"
#elif defined(BOOTLOADER_CATERINA)
":avrdude"
#endif
SS_TAP(X_ENTER));
}
return false;
break;
case EPRM:
if (record->event.pressed) {
eeconfig_init();
}
return false;
break;
case VRSN:
if (record->event.pressed) {
SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
}
return false;
break;
}
return process_record_keymap(keycode, record);
}
__attribute__ ((weak))
uint32_t layer_state_set_keymap (uint32_t state) {
return state;
}
uint32_t layer_state_set_user (uint32_t state) {
return layer_state_set_keymap (state);
}
__attribute__ ((weak))
void led_set_keymap(uint8_t usb_led) {}
void led_set_user(uint8_t usb_led) {
led_set_keymap(usb_led);
}
__attribute__ ((weak))
void suspend_power_down_keymap(void) {}
void suspend_power_down_user(void)
{
suspend_power_down_keymap();
}
__attribute__ ((weak))
void suspend_wakeup_init_keymap(void) {}
void suspend_wakeup_init_user(void)
{
suspend_wakeup_init_keymap();
#ifdef KEYBOARD_ergodox_ez
wait_ms(10);
#endif
}
__attribute__ ((weak))
void startup_keymap(void) {}
void startup_user (void) {
#ifdef RGBLIGHT_ENABLE
matrix_init_rgb();
#endif //RGBLIGHT_ENABLE
startup_keymap();
}
__attribute__ ((weak))
void shutdown_keymap(void) {}
void shutdown_user (void) {
shutdown_keymap();
}