diff options
author | Rossman360 <53881724+Rossman360@users.noreply.github.com> | 2020-01-04 15:51:33 -0500 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2020-01-04 12:51:33 -0800 |
commit | 2908f1f96361435a4ba4a5baec8e3f45308963bf (patch) | |
tree | 686f75d3baf372f73fece8321e8645121ed9b399 /users/rossman360/rossman360.c | |
parent | dcb7ca3f7910420cfa85ba659d48285b3633a978 (diff) | |
download | qmk_firmware-2908f1f96361435a4ba4a5baec8e3f45308963bf.tar.gz qmk_firmware-2908f1f96361435a4ba4a5baec8e3f45308963bf.zip |
[Keymap] Rossman360 Userspace add (#7779)
* create userspace
* add early macro support, but gtg
* attempt to create userspace.
* all changes suggested
Diffstat (limited to 'users/rossman360/rossman360.c')
-rw-r--r-- | users/rossman360/rossman360.c | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/users/rossman360/rossman360.c b/users/rossman360/rossman360.c new file mode 100644 index 0000000000..ade1b630a8 --- /dev/null +++ b/users/rossman360/rossman360.c @@ -0,0 +1,104 @@ +#include "rossman360.h" + +void my_custom_function(void) { + +} + +#define PGMOD LT(_NUM, KC_PGDN) +#define TABMOD LT(_FN1, KC_TAB) +#define SPCMOD LT(_FN1, KC_SPACE) +#define ENTMOD LT(_FN2, KC_ENTER) +#define ESCMOD LT(_NUM, KC_ESC) +#define RSMOD LT(_FN1, KC_RSHIFT) +#define CMDBSP MT(MOD_LGUI, KC_BSPC) +#define ALTDEL MT(MOD_LALT, KC_DEL) +#define CTRLSP MT(MOD_LCTL, KC_SPACE) +#define BWORD LCTL(KC_BSPC) +#define JUMPBACK LSFT(KC_TAB) +#define LWORD LCTL(KC_LEFT) +#define RWORD LCTL(KC_RIGHT) +#define UNDO LCTL(KC_Z) +#define NTAB LCTL(KC_T) +#define CTAB LCTL(KC_W) +#define XPANDR LCTL(LSFT(KC_X)) +#define TAB1 LCTL(KC_1) +#define TAB2 LCTL(KC_2) +#define TAB3 LCTL(KC_3) +#define TAB4 LCTL(KC_4) +#define RVOLU LCTL(KC_RBRC) +#define RVOLD LCTL(KC_LBRC) + +__attribute__ ((weak)) +bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { + return true; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { +switch (keycode) { + case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader + if (!record->event.pressed) { + uint8_t temp_mod = get_mods(); + uint8_t temp_osm = get_oneshot_mods(); + clear_mods(); clear_oneshot_mods(); + SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP); + #ifndef FLASH_BOOTLOADER + if ((temp_mod | temp_osm) & MOD_MASK_SHIFT) + #endif + { + SEND_STRING(":flash"); + } + if ((temp_mod | temp_osm) & MOD_MASK_CTRL) { + SEND_STRING(" -j8 --output-sync"); + } + tap_code(KC_ENT); + set_mods(temp_mod); + } + break; + case CSPEAK: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN)); + } + break; + case SPEAK1: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_1))); + } + break; + case SPEAK2: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_2))); + } + break; + case SPEAK3: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_3))); + } + break; + case SPEAK4: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_4))); + } + break; + case PARADOWN: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN)); + } + break; + case PMERGE: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_HOME) SS_TAP(X_BSPACE) SS_TAP(X_SPACE) SS_LCTRL(SS_TAP(X_BSPACE)) SS_TAP(X_SPACE)); + } + break; + case WREFRESH: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_SPACE) SS_TAP(X_BSPACE)); + } + break; + case REMCAPS: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_LCTRL(SS_TAP(X_LEFT)) SS_TAP(X_DELETE)); + } + break; +}; +return true; +}; |