69 lines
1.4 KiB
C
69 lines
1.4 KiB
C
#include QMK_KEYBOARD_H
|
|
|
|
// Tap Dance Declarations
|
|
enum tap_dances {
|
|
ENT_5 = 0,
|
|
ZERO_7,
|
|
};
|
|
|
|
// Macro Declarations
|
|
enum custom_keycodes {
|
|
DBL_0 = SAFE_RANGE,
|
|
};
|
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
/* LAYER 0
|
|
* ,-----------------------.
|
|
* | 1 | 2 | 3 |
|
|
* |-------+-------+-------|
|
|
* | 4 | 5/ENT | 6 | Dbl Tap 5 for Enter
|
|
* |-------+-------+-------|
|
|
* | 7/0 | 8 | 9/FN | 7/0 = Dbl Tap 7 for 0 - 9/FN = Hold 9 for FN
|
|
* `-----------------------'
|
|
*/
|
|
[0] = LAYOUT(
|
|
KC_1, KC_2, KC_3,
|
|
KC_4, TD(ENT_5), KC_6,
|
|
TD(ZERO_7), KC_8, LT(1, KC_9)
|
|
),
|
|
|
|
/* LAYER 1
|
|
* ,-----------------------.
|
|
* | ESC | + | - |
|
|
* |-------+-------+-------|
|
|
* | BSPC | * | / |
|
|
* |-------+-------+-------|
|
|
* | 00 | . | |
|
|
* `-----------------------'
|
|
*/
|
|
[1] = LAYOUT(
|
|
KC_ESC, KC_PLUS, KC_MINS,
|
|
KC_BSPC, KC_ASTR, KC_SLSH,
|
|
DBL_0, KC_DOT, KC_TRNS
|
|
)
|
|
|
|
};
|
|
|
|
tap_dance_action_t tap_dance_actions[] = {
|
|
[ENT_5] = ACTION_TAP_DANCE_DOUBLE(KC_5, KC_ENT),
|
|
[ZERO_7] = ACTION_TAP_DANCE_DOUBLE(KC_7, KC_0)
|
|
};
|
|
|
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
switch (keycode) {
|
|
case DBL_0:
|
|
if (record->event.pressed) {
|
|
// when keycode QMKBEST is pressed
|
|
tap_code(KC_P0);
|
|
tap_code(KC_P0);
|
|
}
|
|
break;
|
|
|
|
}
|
|
return true;
|
|
};
|
|
|
|
|
|
void matrix_init_user(void) {
|
|
}
|