From 296605ffce7ca23a38f7a9d82dc070ed2abebb43 Mon Sep 17 00:00:00 2001 From: Thomas Baart Date: Sat, 5 Oct 2019 02:06:53 +0200 Subject: [PATCH] Added functionality to own keymap --- keyboards/kyria/keymaps/thomasbaart/keymap.c | 24 +++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/keyboards/kyria/keymaps/thomasbaart/keymap.c b/keyboards/kyria/keymaps/thomasbaart/keymap.c index ce68165f4d4..7b426493c09 100644 --- a/keyboards/kyria/keymaps/thomasbaart/keymap.c +++ b/keyboards/kyria/keymaps/thomasbaart/keymap.c @@ -21,11 +21,14 @@ #define _NAV 3 #define _ADJUST 4 +uint16_t copy_paste_timer; + enum custom_keycodes { LOWER = SAFE_RANGE, RAISE, NAV, - EURO + EURO, + KC_CCCV }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -75,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-------------------------------------------. ,-------------------------------------------. * | | | | VolUp| | | | / ? | 7 & | 8 * | 9 ( | - _ | | * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | | Prev | Play | Next | | | 0 ) | 4 $ | 5 % | 6 ^ | + | | + * | | | Prev | Play | Next | CCCV | | 0 ) | 4 $ | 5 % | 6 ^ | + | | * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| * | | | | VolDn| Mute | | | | | | | * | 1 ! | 2 @ | 3 # | = + | | * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' @@ -85,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_RAISE] = LAYOUT( _______, _______, _______, KC_VOLU, _______, _______, KC_SLSH, KC_7, KC_8, KC_9, KC_MINS, _______, \ - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_0, KC_4, KC_5, KC_6, KC_PLUS, _______, \ + _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_CCCV, KC_0, KC_4, KC_5, KC_6, KC_PLUS, _______, \ _______, _______, _______, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, KC_ASTR, KC_1, KC_2, KC_3, KC_EQL, _______, \ _______, _______, _______, _______, _______, _______, _______, KC_COMM, _______, _______ ), @@ -180,6 +183,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; + case KC_CCCV: // One key copy/paste + if (record->event.pressed) { + copy_paste_timer = timer_read(); + } else { + if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy + register_code(KC_LCTL); + tap_code(KC_C); + unregister_code(KC_LCTL); + } else { // Tap, paste + register_code(KC_LCTL); + tap_code(KC_V); + unregister_code(KC_LCTL); + } + } + break; } return true; }