]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/9key/keymaps/tap_dance/keymap.c
Add missing links to features page and sidebar section (#5949)
[qmk_firmware.git] / keyboards / 9key / keymaps / tap_dance / keymap.c
1 #include QMK_KEYBOARD_H
2
3 // Tap Dance Declarations
4 enum tap_dances {
5   ENT_5 = 0,
6   ZERO_7,
7 };
8
9 // Macro Declarations
10 enum custom_keycodes {
11   DBL_0 = SAFE_RANGE,
12 };
13
14 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15
16 /* LAYER 0
17  * ,-----------------------.
18  * |   1   |   2   |   3   |
19  * |-------+-------+-------|
20  * |   4   | 5/ENT |   6   | Dbl Tap 5 for Enter
21  * |-------+-------+-------|
22  * |  7/0  |   8   | 9/FN  | 7/0 = Dbl Tap 7 for 0  -  9/FN = Hold 9 for FN
23  * `-----------------------'
24  */
25 [0] = LAYOUT( \
26   KC_1,       KC_2,      KC_3,       \
27   KC_4,       TD(ENT_5), KC_6,       \
28   TD(ZERO_7), KC_8,      LT(1, KC_9) \
29 ),
30
31 /* LAYER 1
32  * ,-----------------------.
33  * |  ESC  |   +   |   -   |
34  * |-------+-------+-------|
35  * |  BSPC |   *   |   /   |
36  * |-------+-------+-------|
37  * |  00   |   .   |       |
38  * `-----------------------'
39  */
40 [1] = LAYOUT( \
41   KC_ESC,   KC_PLUS, KC_MINS, \
42   KC_BSPC,  KC_ASTR, KC_SLSH, \
43   DBL_0,    KC_DOT,  KC_TRNS  \
44 )
45
46 };
47
48 qk_tap_dance_action_t tap_dance_actions[] = {
49   [ENT_5] = ACTION_TAP_DANCE_DOUBLE(KC_5, KC_ENT),
50   [ZERO_7] = ACTION_TAP_DANCE_DOUBLE(KC_7, KC_0)
51 };
52
53 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
54   switch (keycode) {
55     case DBL_0:
56       if (record->event.pressed) {
57         // when keycode QMKBEST is pressed
58         tap_code(KC_P0);
59         tap_code(KC_P0);
60       }
61       break;
62
63   }
64   return true;
65 };
66
67
68 void matrix_init_user(void) {
69 }