aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Yee <yee.matthew@gmail.com>2018-03-16 13:36:17 -0700
committerJack Humbert <jack.humb@gmail.com>2018-03-16 16:36:17 -0400
commit4dc3a01fcb4401c110e10e3e4015ced856dc7055 (patch)
tree494485e53f264c0cb28e784a207f956fa95615bf
parenta3047f1ab35e2e9543dae78cd3336f2cd13e596c (diff)
downloadqmk_firmware-4dc3a01fcb4401c110e10e3e4015ced856dc7055.tar.gz
qmk_firmware-4dc3a01fcb4401c110e10e3e4015ced856dc7055.zip
Added my keymap (#2529)
* Added my keymap * maybe that wasn't quite right. * Reduced the tap time to register layer * changed the tapping term that fits my typing speed a little better * Added retro tapping and reduced tapping term duration
-rw-r--r--keyboards/amj40/keymaps/myee/build.sh42
-rw-r--r--keyboards/amj40/keymaps/myee/config.h10
-rw-r--r--keyboards/amj40/keymaps/myee/keymap.c114
-rw-r--r--keyboards/amj40/keymaps/myee/readme.md11
-rw-r--r--keyboards/amj40/keymaps/myee/rules.mk27
-rw-r--r--keyboards/amj40/keymaps/myee/updatemerge.sh4
6 files changed, 208 insertions, 0 deletions
diff --git a/keyboards/amj40/keymaps/myee/build.sh b/keyboards/amj40/keymaps/myee/build.sh
new file mode 100644
index 000000000..6b4b4568f
--- /dev/null
+++ b/keyboards/amj40/keymaps/myee/build.sh
@@ -0,0 +1,42 @@
1#!/bin/bash
2# adjust for cpu
3# -j 16 gave best result on a hyperthreaded quad core core i7
4
5LIMIT=10
6THREADS="-j 16"
7KMAP=iso_split_rshift
8
9echo "We need sudo later"
10sudo ls 2>&1 /dev/null
11
12function wait_bootloader {
13 echo "Waiting for Bootloader..."
14 local STARTTIME=$(date +"%s")
15 local REMIND=0
16 local EXEC=dfu-programmer
17 local TARGET=atmega32u4
18 while true
19 do
20 sudo $EXEC $TARGET get > /dev/null 2>&1
21 [ $? -eq 0 ] && break
22 ENDTIME=$(date +"%s")
23 DURATION=$(($ENDTIME-$STARTTIME))
24 if [ $REMIND -eq 0 -a $DURATION -gt $LIMIT ]
25 then
26 echo "Did you forget to press the reset button?"
27 REMIND=1
28 fi
29 sleep 1
30 done
31}
32make clean
33make KEYMAP=${KMAP} ${THREADS}
34if [[ $? -eq 0 ]]
35then
36 echo "please trigger flashing!"
37 wait_bootloader
38 sudo make KEYMAP=${KMAP} dfu ${THREADS}
39else
40 echo "make failed"
41 exit 77
42fi
diff --git a/keyboards/amj40/keymaps/myee/config.h b/keyboards/amj40/keymaps/myee/config.h
new file mode 100644
index 000000000..8e6c4dfa4
--- /dev/null
+++ b/keyboards/amj40/keymaps/myee/config.h
@@ -0,0 +1,10 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3#include "../../config.h"
4
5#define TAPPING_TERM 25
6#define RETRO_TAPPING
7#define PERMISSIVE_HOLD
8
9
10#endif \ No newline at end of file
diff --git a/keyboards/amj40/keymaps/myee/keymap.c b/keyboards/amj40/keymaps/myee/keymap.c
new file mode 100644
index 000000000..b36d6c61e
--- /dev/null
+++ b/keyboards/amj40/keymaps/myee/keymap.c
@@ -0,0 +1,114 @@
1
2
3
4#include "amj40.h"
5
6// Keymap myee
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 _QWERTY 0
12#define _LOWER 1
13#define _RAISE 2
14#define _ADJUST 3
15
16
17
18enum custom_keycodes {
19 QWERTY = SAFE_RANGE,
20 LOWER,
21 RAISE,
22 ADJUST,
23};
24
25// increase readability
26#define _______ KC_TRNS
27#define XXXXXXX KC_NO
28
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30
31 [_QWERTY] = KEYMAP( \
32 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,\
33 F(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, \
34 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
35 KC_LCTL, KC_LGUI,KC_LALT, F(0), F(1), KC_RGUI,KC_RALT, KC_RCTL \
36 ),
37
38 [_LOWER] = KEYMAP( \
39 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_UP, KC_MINS, KC_EQL, KC_DEL, \
40 _______, _______, KC_ASTR, KC_LBRC, KC_RBRC, KC_QUOT, KC_DQUO, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSLS, \
41 _______, _______, _______, KC_LPRN, KC_RPRN, KC_HOME, KC_PGUP, KC_PGDN, KC_END, _______, _______, \
42 _______, _______, _______, _______, _______, _______, _______, _______ \
43 ),
44
45 [_RAISE] = KEYMAP( \
46 KC_GRV, KC_LPRN, KC_RPRN, KC_DQUO, KC_QUOT, KC_SCLN, KC_COLON,KC_UNDS, KC_PLUS, _______, _______, KC_BSPC, \
47 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \
48 _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, _______, \
49 _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC \
50 ),
51
52 [_ADJUST] = KEYMAP( \
53 _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
54 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
55 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
56 KC_SYSTEM_SLEEP, _______, _______, _______, _______, _______, _______, _______ \
57 ),
58
59};
60
61enum function_id {
62 LAUNCH,
63 RGBLED_TOGGLE,
64};
65
66const uint16_t PROGMEM fn_actions[] = {
67 [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC),
68 [1] = ACTION_LAYER_TAP_KEY(_RAISE, KC_SPC),
69 [2] = ACTION_LAYER_TAP_KEY(_ADJUST,KC_TAB),
70
71};
72
73const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
74{
75 // MACRODOWN only works in this function
76
77 return MACRO_NONE;
78};
79
80bool process_record_user(uint16_t keycode, keyrecord_t *record) {
81
82 switch (keycode) {
83
84 case LOWER:
85 if (record->event.pressed) {
86 layer_on(_LOWER);
87 update_tri_layer(_LOWER, _RAISE, _ADJUST);
88 } else {
89 layer_off(_LOWER);
90 update_tri_layer(_LOWER, _RAISE, _ADJUST);
91 }
92 return false;
93 break;
94 case RAISE:
95 if (record->event.pressed) {
96 layer_on(_RAISE);
97 update_tri_layer(_LOWER, _RAISE, _ADJUST);
98 } else {
99 layer_off(_RAISE);
100 update_tri_layer(_LOWER, _RAISE, _ADJUST);
101 }
102 return false;
103 break;
104 case ADJUST:
105 if (record->event.pressed) {
106 layer_on(_ADJUST);
107 } else {
108 layer_off(_ADJUST);
109 }
110 return false;
111 break;
112 }
113 return true;
114}
diff --git a/keyboards/amj40/keymaps/myee/readme.md b/keyboards/amj40/keymaps/myee/readme.md
new file mode 100644
index 000000000..2659292ae
--- /dev/null
+++ b/keyboards/amj40/keymaps/myee/readme.md
@@ -0,0 +1,11 @@
1AMJ40 Default Layout
2=====================
3
4##Quantum MK Firmware
5For the full Quantum feature list, see the parent readme.md.
6
7# Features
8* Based on a combination of the original AMJ40 keymap from the TMK firmware as well as the Planck Ortholinear keyboard's "Lower," "Raise," and "Adjust" layers.
9* View the keymap.c file to understand they layout of the keymap.
10* Has keys to toggle both the switch LEDs and underglow LEDs.
11
diff --git a/keyboards/amj40/keymaps/myee/rules.mk b/keyboards/amj40/keymaps/myee/rules.mk
new file mode 100644
index 000000000..034e697bc
--- /dev/null
+++ b/keyboards/amj40/keymaps/myee/rules.mk
@@ -0,0 +1,27 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = no # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17
18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
20
21#define ws2812_PORTREG PORTD
22#define ws2812_DDRREG DDRD
23
24
25ifndef QUANTUM_DIR
26 include ../../../../Makefile
27endif
diff --git a/keyboards/amj40/keymaps/myee/updatemerge.sh b/keyboards/amj40/keymaps/myee/updatemerge.sh
new file mode 100644
index 000000000..da5457e19
--- /dev/null
+++ b/keyboards/amj40/keymaps/myee/updatemerge.sh
@@ -0,0 +1,4 @@
1#!/bin/bash
2git checkout amj60 # gets you on branch amj60
3git fetch origin # gets you up to date with origin
4git merge origin/master