summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Bell <agbell@gmail.com>2017-05-15 03:08:53 +0200
committerAdam Bell <agbell@gmail.com>2017-06-03 16:28:46 +0200
commit587b0de6e563fa277c8661f2c5c48070bd004f4f (patch)
tree89ece8c8edec347318349751a1ab8ac35dd45aca
parent82de4d039d39c87a1df68708f3033926c27f7e6c (diff)
downloadqmk_firmware-587b0de6e563fa277c8661f2c5c48070bd004f4f.tar.gz
qmk_firmware-587b0de6e563fa277c8661f2c5c48070bd004f4f.tar.xz
adding lets split keymap
-rw-r--r--Dockerfile4
-rwxr-xr-xavrdude14
-rw-r--r--docker-compose.yml3
-rw-r--r--keyboards/lets_split/keymaps/adam/config.h42
-rw-r--r--keyboards/lets_split/keymaps/adam/keymap.c79
-rw-r--r--keyboards/lets_split/keymaps/adam/makefile1
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
binutils-arm-none-eabi \
libnewlib-arm-none-eabi \
git \
+ software-properties-common \
+ avrdude \
&& rm -rf /var/lib/apt/lists/*
ENV keyboard=ergodox
@@ -23,4 +25,4 @@ ENV keymap=default
VOLUME /qmk
WORKDIR /qmk
-CMD make clean ; make keyboard=${keyboard} subproject=${subproject} keymap=${keymap}
+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 @@
+#!/bin/bash
+set -x
+BUILD_DIR=.
+TARGET=lets_split_rev2_adam.hex
+MCU=atmega32u4
+ls /dev/tty* > /tmp/1;
+echo "Reset your Pro Micro now";
+while [[ -z $USB ]]; do
+ echo "."
+ sleep 1;
+ ls /dev/tty* > /tmp/2;
+ USB=`diff /tmp/1 /tmp/2 | grep -o '/dev/tty.*'`;
+done;
+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 @@
qmk:
build: .
environment:
+ keyboard: lets_split
keymap: adam
- keyboard: ergodox
+ subproject: rev2
volumes:
- .:/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 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+
+#define USE_SERIAL
+
+//#define MASTER_LEFT
+// #define MASTER_RIGHT
+#define EE_HANDS
+
+#ifdef SUBPROJECT_rev1
+ #include "../../rev1/config.h"
+#endif
+#ifdef SUBPROJECT_rev2
+ #include "../../rev2/config.h"
+ /* RGB Underglow */
+ #undef RGBLED_NUM
+ #define RGBLIGHT_ANIMATIONS
+ #define RGBLED_NUM 8
+#endif
+#ifdef SUBPROJECT_rev2fliphalf
+ #include "../../rev2fliphalf/config.h"
+#endif
+
+#undef TAPPING_TERM
+#define TAPPING_TERM 200 //At 500 some bad logic takes hold
+#define PREVENT_STUCK_MODIFIERS
+#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 @@
+#include "lets_split.h"
+#include "action_layer.h"
+#include "eeconfig.h"
+
+extern keymap_config_t keymap_config;
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define BASE 0 // default layer
+#define FLOCK 1 // symbols arrows and F keys on F held down
+#define JLOCK 2 // same as Flock but with fall thru J and mapped to J held down
+
+// Fillers to make layering more clear
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[BASE] = KEYMAP ( \
+ TD(1), KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, \
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TAB, KC_TAB, KC_Y, KC_U, KC_I, KC_O, KC_P, \
+ 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), \
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOTE
+),
+[FLOCK] = KEYMAP ( \
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \
+ KC_LBRC, KC_GRV, KC_TILDE, S(KC_1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, XXXXXXX, KC_RBRC, \
+ S(KC_LBRC), _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, S(KC_RBRC), \
+ KC_BSLS, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, KC_ESC, XXXXXXX, KC_END, KC_PGDOWN, KC_QUES, KC_SLASH \
+),
+[JLOCK] = KEYMAP ( \
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \
+ KC_LBRC, KC_GRV, KC_TILDE, S(KC_1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, XXXXXXX, KC_RBRC, \
+ S(KC_LBRC), _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_LEFT, _______, KC_UP, KC_RIGHT, S(KC_RBRC), \
+ KC_BSLS, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, KC_ESC, XXXXXXX, KC_END, KC_PGDOWN, KC_QUES, KC_SLASH \
+)
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [FLOCK] = ACTION_LAYER_TAP_KEY(FLOCK,KC_F),
+ [JLOCK] = ACTION_LAYER_TAP_KEY(JLOCK,KC_J)
+};
+#ifdef TAP_DANCE_ENABLE
+void tap_1(qk_tap_dance_state_t *state, void *user_data) {
+ switch (state->count) {
+ case 1:
+ register_code (KC_1);
+ unregister_code (KC_1);
+ break;
+ case 2:
+ register_code (KC_ESC);
+ unregister_code (KC_ESC);
+ break;
+ case 3:
+ register_code (KC_LSFT);
+ register_code (KC_1);
+ unregister_code (KC_1);
+ unregister_code (KC_LSFT);
+ }
+}
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [0] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_ESC),
+ [1] = ACTION_TAP_DANCE_FN(tap_1)
+};
+#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