diff options
-rw-r--r-- | Dockerfile | 4 | ||||
-rwxr-xr-x | avrdude | 14 | ||||
-rw-r--r-- | docker-compose.yml | 3 | ||||
-rw-r--r-- | keyboards/lets_split/keymaps/adam/config.h | 42 | ||||
-rw-r--r-- | keyboards/lets_split/keymaps/adam/keymap.c | 79 | ||||
-rw-r--r-- | keyboards/lets_split/keymaps/adam/makefile | 1 |
6 files changed, 141 insertions, 2 deletions
diff --git a/Dockerfile b/Dockerfile index 88da06f02..bc0285a44 100644 --- a/Dockerfile +++ b/Dockerfile | |||
@@ -15,6 +15,8 @@ RUN apt-get update && apt-get install --no-install-recommends -y build-essential | |||
15 | binutils-arm-none-eabi \ | 15 | binutils-arm-none-eabi \ |
16 | libnewlib-arm-none-eabi \ | 16 | libnewlib-arm-none-eabi \ |
17 | git \ | 17 | git \ |
18 | software-properties-common \ | ||
19 | avrdude \ | ||
18 | && rm -rf /var/lib/apt/lists/* | 20 | && rm -rf /var/lib/apt/lists/* |
19 | 21 | ||
20 | ENV keyboard=ergodox | 22 | ENV keyboard=ergodox |
@@ -23,4 +25,4 @@ ENV keymap=default | |||
23 | 25 | ||
24 | VOLUME /qmk | 26 | VOLUME /qmk |
25 | WORKDIR /qmk | 27 | WORKDIR /qmk |
26 | CMD make clean ; make keyboard=${keyboard} subproject=${subproject} keymap=${keymap} | 28 | CMD make clean; make; |
diff --git a/avrdude b/avrdude new file mode 100755 index 000000000..293825e44 --- /dev/null +++ b/avrdude | |||
@@ -0,0 +1,14 @@ | |||
1 | #!/bin/bash | ||
2 | set -x | ||
3 | BUILD_DIR=. | ||
4 | TARGET=lets_split_rev2_adam.hex | ||
5 | MCU=atmega32u4 | ||
6 | ls /dev/tty* > /tmp/1; | ||
7 | echo "Reset your Pro Micro now"; | ||
8 | while [[ -z $USB ]]; do | ||
9 | echo "." | ||
10 | sleep 1; | ||
11 | ls /dev/tty* > /tmp/2; | ||
12 | USB=`diff /tmp/1 /tmp/2 | grep -o '/dev/tty.*'`; | ||
13 | done; | ||
14 | avrdude -p $MCU -c avr109 -P $USB -U flash:w:$BUILD_DIR/$TARGET | ||
diff --git a/docker-compose.yml b/docker-compose.yml index 2f58e20cf..4657e7822 100644 --- a/docker-compose.yml +++ b/docker-compose.yml | |||
@@ -4,7 +4,8 @@ | |||
4 | qmk: | 4 | qmk: |
5 | build: . | 5 | build: . |
6 | environment: | 6 | environment: |
7 | keyboard: lets_split | ||
7 | keymap: adam | 8 | keymap: adam |
8 | keyboard: ergodox | 9 | subproject: rev2 |
9 | volumes: | 10 | volumes: |
10 | - .:/qmk | 11 | - .:/qmk |
diff --git a/keyboards/lets_split/keymaps/adam/config.h b/keyboards/lets_split/keymaps/adam/config.h new file mode 100644 index 000000000..fbd739f32 --- /dev/null +++ b/keyboards/lets_split/keymaps/adam/config.h | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | Copyright 2012 Jun Wako <wakojun@gmail.com> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | |||
19 | #define USE_SERIAL | ||
20 | |||
21 | //#define MASTER_LEFT | ||
22 | // #define MASTER_RIGHT | ||
23 | #define EE_HANDS | ||
24 | |||
25 | #ifdef SUBPROJECT_rev1 | ||
26 | #include "../../rev1/config.h" | ||
27 | #endif | ||
28 | #ifdef SUBPROJECT_rev2 | ||
29 | #include "../../rev2/config.h" | ||
30 | /* RGB Underglow */ | ||
31 | #undef RGBLED_NUM | ||
32 | #define RGBLIGHT_ANIMATIONS | ||
33 | #define RGBLED_NUM 8 | ||
34 | #endif | ||
35 | #ifdef SUBPROJECT_rev2fliphalf | ||
36 | #include "../../rev2fliphalf/config.h" | ||
37 | #endif | ||
38 | |||
39 | #undef TAPPING_TERM | ||
40 | #define TAPPING_TERM 200 //At 500 some bad logic takes hold | ||
41 | #define PREVENT_STUCK_MODIFIERS | ||
42 | #define IGNORE_MOD_TAP_INTERRUPT | ||
diff --git a/keyboards/lets_split/keymaps/adam/keymap.c b/keyboards/lets_split/keymaps/adam/keymap.c new file mode 100644 index 000000000..8aca73256 --- /dev/null +++ b/keyboards/lets_split/keymaps/adam/keymap.c | |||
@@ -0,0 +1,79 @@ | |||
1 | #include "lets_split.h" | ||
2 | #include "action_layer.h" | ||
3 | #include "eeconfig.h" | ||
4 | |||
5 | extern keymap_config_t keymap_config; | ||
6 | |||
7 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
8 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
9 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
10 | // entirely and just use numbers. | ||
11 | #define BASE 0 // default layer | ||
12 | #define FLOCK 1 // symbols arrows and F keys on F held down | ||
13 | #define JLOCK 2 // same as Flock but with fall thru J and mapped to J held down | ||
14 | |||
15 | // Fillers to make layering more clear | ||
16 | #define _______ KC_TRNS | ||
17 | #define XXXXXXX KC_NO | ||
18 | |||
19 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
20 | |||
21 | /* Qwerty | ||
22 | * ,-----------------------------------------------------------------------------------. | ||
23 | * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
24 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
25 | * | Esc | A | S | D | F | G | H | J | K | L | ; | " | | ||
26 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
27 | * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | ||
28 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
29 | * | Brite| Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Left | Down | Up |Right | | ||
30 | * `-----------------------------------------------------------------------------------' | ||
31 | */ | ||
32 | [BASE] = KEYMAP ( \ | ||
33 | TD(1), KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, \ | ||
34 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TAB, KC_TAB, KC_Y, KC_U, KC_I, KC_O, KC_P, \ | ||
35 | 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), \ | ||
36 | KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOTE | ||
37 | ), | ||
38 | [FLOCK] = KEYMAP ( \ | ||
39 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ | ||
40 | KC_LBRC, KC_GRV, KC_TILDE, S(KC_1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, XXXXXXX, KC_RBRC, \ | ||
41 | S(KC_LBRC), _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, S(KC_RBRC), \ | ||
42 | KC_BSLS, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, KC_ESC, XXXXXXX, KC_END, KC_PGDOWN, KC_QUES, KC_SLASH \ | ||
43 | ), | ||
44 | [JLOCK] = KEYMAP ( \ | ||
45 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ | ||
46 | KC_LBRC, KC_GRV, KC_TILDE, S(KC_1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, XXXXXXX, KC_RBRC, \ | ||
47 | S(KC_LBRC), _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_LEFT, _______, KC_UP, KC_RIGHT, S(KC_RBRC), \ | ||
48 | KC_BSLS, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, KC_ESC, XXXXXXX, KC_END, KC_PGDOWN, KC_QUES, KC_SLASH \ | ||
49 | ) | ||
50 | }; | ||
51 | |||
52 | const uint16_t PROGMEM fn_actions[] = { | ||
53 | [FLOCK] = ACTION_LAYER_TAP_KEY(FLOCK,KC_F), | ||
54 | [JLOCK] = ACTION_LAYER_TAP_KEY(JLOCK,KC_J) | ||
55 | }; | ||
56 | #ifdef TAP_DANCE_ENABLE | ||
57 | void tap_1(qk_tap_dance_state_t *state, void *user_data) { | ||
58 | switch (state->count) { | ||
59 | case 1: | ||
60 | register_code (KC_1); | ||
61 | unregister_code (KC_1); | ||
62 | break; | ||
63 | case 2: | ||
64 | register_code (KC_ESC); | ||
65 | unregister_code (KC_ESC); | ||
66 | break; | ||
67 | case 3: | ||
68 | register_code (KC_LSFT); | ||
69 | register_code (KC_1); | ||
70 | unregister_code (KC_1); | ||
71 | unregister_code (KC_LSFT); | ||
72 | } | ||
73 | } | ||
74 | |||
75 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
76 | [0] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_ESC), | ||
77 | [1] = ACTION_TAP_DANCE_FN(tap_1) | ||
78 | }; | ||
79 | #endif | ||
diff --git a/keyboards/lets_split/keymaps/adam/makefile b/keyboards/lets_split/keymaps/adam/makefile new file mode 100644 index 000000000..e5ddcae8d --- /dev/null +++ b/keyboards/lets_split/keymaps/adam/makefile | |||
@@ -0,0 +1 @@ | |||
TAP_DANCE_ENABLE = yes | |||