]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/handwired/xeal60/keymaps/adam/keymap.c
Added xeal60 via clone of lets split
[qmk_firmware.git] / keyboards / handwired / xeal60 / keymaps / adam / keymap.c
1 #include QMK_KEYBOARD_H
2
3
4 extern keymap_config_t keymap_config;
5
6 // Each layer gets a name for readability, which is then used in the keymap matrix below.
7 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
8 // Layer names don't all need to be of the same length, obviously, and you can also skip them
9 // entirely and just use numbers.
10 #define BASE 0 // default layer
11 #define FLOCK 1 // symbols arrows and F keys on F held down
12 #define JLOCK 2 // same as Flock but with fall thru J and mapped to J held down
13
14 // Fillers to make layering more clear
15 #define _______ KC_TRNS
16 #define XXXXXXX KC_NO
17
18 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20 /* Qwerty
21  * ,-----------------------------------------------------------------------------------.
22  * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp |
23  * |------+------+------+------+------+-------------+------+------+------+------+------|
24  * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  "   |
25  * |------+------+------+------+------+------|------+------+------+------+------+------|
26  * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |Enter |
27  * |------+------+------+------+------+------+------+------+------+------+------+------|
28  * | Brite| Ctrl | Alt  | GUI  |Lower | Bksp |Space |Raise | Left | Down |  Up  |Right |
29  * `-----------------------------------------------------------------------------------'
30  */
31 [BASE] = LAYOUT ( \
32   TD(1),         KC_2,       KC_3,         KC_4,     KC_5,         KC_MINS, KC_EQL,    KC_6,        KC_7,        KC_8,         KC_9,           KC_0,     \
33   KC_Q,         KC_W,       KC_E,         KC_R,     KC_T,         KC_TAB,  KC_TAB,    KC_Y,        KC_U,        KC_I,         KC_O,           KC_P,    \
34   SFT_T(KC_A),  ALT_T(KC_S),CTL_T(KC_D),  F(FLOCK), GUI_T(KC_G),  KC_BSPC, KC_DELETE, GUI_T(KC_H), F(JLOCK),    CTL_T(KC_K),  ALT_T(KC_L),    SFT_T(KC_SCLN), \
35   KC_Z,         KC_X,       KC_C,         KC_V,     KC_B,         KC_SPC,  KC_ENT,    KC_N,        KC_M,        KC_COMM,      KC_DOT,         KC_QUOTE
36 ),
37 [FLOCK] = LAYOUT ( \
38   KC_F1,      KC_F2,      KC_F3,       KC_F4,      KC_F5,      KC_F11,     KC_F12,     KC_F6,      KC_F7,      KC_F8,     KC_F9,    KC_F10, \
39   KC_LBRC,    KC_GRV,     KC_TILDE,    S(KC_1),    XXXXXXX,    XXXXXXX,    XXXXXXX,    XXXXXXX,    KC_HOME,    KC_PGUP,   XXXXXXX,  KC_RBRC, \
40   S(KC_LBRC), _______,    _______,     _______,    _______,    XXXXXXX,    XXXXXXX,    KC_LEFT,    KC_DOWN,    KC_UP,     KC_RIGHT, S(KC_RBRC), \
41   KC_BSLS,    KC_PIPE,    XXXXXXX,     XXXXXXX,    XXXXXXX,    KC_ESC,     KC_ESC,     XXXXXXX,    KC_END,     KC_PGDOWN, KC_QUES,  KC_SLASH \
42 ),
43 [JLOCK] = LAYOUT ( \
44   KC_F1,      KC_F2,      KC_F3,       KC_F4,      KC_F5,      KC_F11,     KC_F12,     KC_F6,      KC_F7,      KC_F8,     KC_F9,    KC_F10, \
45   KC_LBRC,    KC_GRV,     KC_TILDE,    S(KC_1),    XXXXXXX,    XXXXXXX,    XXXXXXX,    XXXXXXX,    KC_HOME,    KC_PGUP,   XXXXXXX,  KC_RBRC, \
46   S(KC_LBRC), _______,    _______,     _______,    _______,    XXXXXXX,    XXXXXXX,    KC_LEFT,    _______,    KC_UP,     KC_RIGHT, S(KC_RBRC), \
47   KC_BSLS,    KC_PIPE,    XXXXXXX,     XXXXXXX,    XXXXXXX,    KC_ESC,     KC_ESC,     XXXXXXX,    KC_END,     KC_PGDOWN, KC_QUES,  KC_SLASH \
48 )
49 };
50
51 const uint16_t PROGMEM fn_actions[] = {
52   [FLOCK] = ACTION_LAYER_TAP_KEY(FLOCK,KC_F),
53   [JLOCK] = ACTION_LAYER_TAP_KEY(JLOCK,KC_J)
54 };
55 #ifdef TAP_DANCE_ENABLE
56 void tap_1(qk_tap_dance_state_t *state, void *user_data) {
57   switch (state->count) {
58   case 1:
59     register_code (KC_1);
60     unregister_code (KC_1);
61     break;
62   case 2:
63     register_code (KC_ESC);
64     unregister_code (KC_ESC);
65     break;
66   case 3:
67     register_code (KC_LSFT);
68     register_code (KC_1);
69     unregister_code (KC_1);
70     unregister_code (KC_LSFT);
71   }
72 }
73
74 qk_tap_dance_action_t tap_dance_actions[] = {
75         [0]  = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_ESC),
76   [1]  = ACTION_TAP_DANCE_FN(tap_1)
77 };
78 #endif