Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include QMK_KEYBOARD_H
- void matrix_init_user(){
- set_unicode_input_mode(UC_WINC);
- }
- enum {
- TD_Z_CUT = 0,
- TD_C_COPY,
- TD_V_PASTE,
- TD_MEME,
- TD_MAKE,
- TD_CD,
- MEME
- };
- const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, TD(TD_CD), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
- LCTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_PENT,
- KC_LSFT, KC_LSFT, TD(TD_Z_CUT), KC_X, TD(TD_C_COPY), TD(TD_V_PASTE), KC_B, KC_N, TD(TD_MAKE), KC_COMM, KC_DOT, KC_SLSH, KC_LEFT, KC_UP, KC_RGHT,
- KC_NO, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_NO, KC_DOWN, KC_NO
- ),
- [1] = LAYOUT_all(
- KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
- KC_NO, MEME, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, BL_BRTG, BL_INC, BL_TOGG, KC_BSLS,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, RGB_TOG, RESET,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_VOLU,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO
- ),
- };
- bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case MEME:
- if (record->event.pressed) {
- send_unicode_hex_string("0028 0020 0361 00B0 0020 035C 0296 0020 0361 00B0 0029");
- } else {
- }
- break;
- }
- return true;
- }
- //TAPDANCE ACTIONs
- void dance_cut_finished (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- register_code (KC_LCTL);
- register_code (KC_X);
- } else {
- register_code (KC_Z);
- }
- }
- void dance_cut_reset (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- unregister_code (KC_LCTL);
- unregister_code (KC_X);
- } else {
- unregister_code (KC_Z);
- }
- }
- void dance_copy_finished (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- register_code (KC_LCTL);
- register_code (KC_C);
- } else {
- register_code (KC_C);
- }
- }
- void dance_copy_reset (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- unregister_code (KC_LCTL);
- unregister_code (KC_C);
- } else {
- unregister_code (KC_C);
- }
- }
- void dance_paste_finished (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- register_code (KC_LCTL);
- register_code (KC_V);
- } else {
- register_code (KC_V);
- }
- }
- void dance_paste_reset (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- unregister_code (KC_LCTL);
- unregister_code (KC_V);
- } else {
- unregister_code (KC_V);
- }
- }
- void make_qmk (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 3) {
- SEND_STRING("make xw60:kentlam"SS_TAP(X_ENTER));
- } else {
- register_code (KC_M);
- unregister_code (KC_M);
- reset_tap_dance (state);
- }
- }
- void cd_qmk (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 3) {
- SEND_STRING("cd /d/keyboard/qmk_firmware"SS_TAP(X_ENTER));
- } else {
- register_code (KC_Q);
- unregister_code (KC_Q);
- reset_tap_dance (state);
- }
- }
- //Tap Dance Definitions
- qk_tap_dance_action_t tap_dance_actions[] = {
- //Seperate by ","
- [TD_Z_CUT] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_cut_finished, dance_cut_reset)
- ,[TD_C_COPY] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_copy_finished, dance_copy_reset)
- ,[TD_V_PASTE] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_paste_finished, dance_paste_reset)
- ,[TD_MAKE] = ACTION_TAP_DANCE_FN (make_qmk)
- ,[TD_CD] = ACTION_TAP_DANCE_FN (cd_qmk)
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement