Added functionality to own keymap

This commit is contained in:
Thomas Baart 2019-10-05 02:06:53 +02:00
parent 96247e7e74
commit 296605ffce

View File

@ -21,11 +21,14 @@
#define _NAV 3 #define _NAV 3
#define _ADJUST 4 #define _ADJUST 4
uint16_t copy_paste_timer;
enum custom_keycodes { enum custom_keycodes {
LOWER = SAFE_RANGE, LOWER = SAFE_RANGE,
RAISE, RAISE,
NAV, NAV,
EURO EURO,
KC_CCCV
}; };
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ( | - _ | | * | | | | VolUp| | | | / ? | 7 & | 8 * | 9 ( | - _ | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------| * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | | Prev | Play | Next | | | 0 ) | 4 $ | 5 % | 6 ^ | + | | * | | | Prev | Play | Next | CCCV | | 0 ) | 4 $ | 5 % | 6 ^ | + | |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | | VolDn| Mute | | | | | | | * | 1 ! | 2 @ | 3 # | = + | | * | | | | VolDn| Mute | | | | | | | * | 1 ! | 2 @ | 3 # | = + | |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
@ -85,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/ */
[_RAISE] = LAYOUT( [_RAISE] = LAYOUT(
_______, _______, _______, KC_VOLU, _______, _______, KC_SLSH, KC_7, KC_8, KC_9, KC_MINS, _______, \ _______, _______, _______, 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_VOLD, KC_MUTE, _______, _______, _______, _______, _______, KC_ASTR, KC_1, KC_2, KC_3, KC_EQL, _______, \
_______, _______, _______, _______, _______, _______, _______, KC_COMM, _______, _______ _______, _______, _______, _______, _______, _______, _______, KC_COMM, _______, _______
), ),
@ -180,6 +183,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
return false; return false;
break; 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; return true;
} }