aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--keyboard/planck/PCB_GUIDE.md23
-rw-r--r--keyboard/planck/keymaps/lucas.c163
-rwxr-xr-xnew_project.sh3
-rw-r--r--quantum/keymap_extras/keymap_french.h2
-rw-r--r--quantum/keymap_extras/keymap_neo2.h19
6 files changed, 210 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index ae342167d..8b8c45169 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
1keyboard/planck/dfu-programmer.exe
1.dep 2.dep
2*.o 3*.o
3*.eep 4*.eep
@@ -18,4 +19,5 @@ build/
18# Eclipse Settings 19# Eclipse Settings
19.cproject 20.cproject
20.project 21.project
21.settings/ \ No newline at end of file 22.settings/
23
diff --git a/keyboard/planck/PCB_GUIDE.md b/keyboard/planck/PCB_GUIDE.md
index 797cee2e1..b36d8fb64 100644
--- a/keyboard/planck/PCB_GUIDE.md
+++ b/keyboard/planck/PCB_GUIDE.md
@@ -9,6 +9,7 @@
94. Right-click on the 1-setup-path-win batch script, select "Run as administrator", and accept the User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up. 94. Right-click on the 1-setup-path-win batch script, select "Run as administrator", and accept the User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up.
105. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete! 105. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete!
11 11
12
12### Mac 13### Mac
13 14
14If you're using homebrew, you can use the following commands: 15If you're using homebrew, you can use the following commands:
@@ -53,6 +54,28 @@ Generally, the instructions to flash the PCB are as follows:
534. Press the reset button on the PCB/press the key with the `RESET` keycode 544. Press the reset button on the PCB/press the key with the `RESET` keycode
545. `make <arguments> dfu` - use the necessary `KEYMAP=<keymap>` and/or `COMMON=true` arguments here. 555. `make <arguments> dfu` - use the necessary `KEYMAP=<keymap>` and/or `COMMON=true` arguments here.
55 56
57## Troubleshooting
58If you see something like this
59
60 0 [main] sh 13384 sync_with_child: child 9716(0x178) died before initialization with status code 0xC0000142
61 440 [main] sh 13384 sync_with_child: *** child state waiting for longjmp
62 /usr/bin/sh: fork: Resource temporarily unavailable
63
64after running 'make' on Windows than you are encountering a very popular issue with WinAVR on Windows 8.1 and 10.
65You can easily fix this problem by replacing msys-1.0.dll in WinAVR/utils/bin with [this one](http://www.madwizard.org/download/electronics/msys-1.0-vista64.zip).
66Restart your system and everything should work fine!
67
68
69If you see this
70
71 dfu-programmer atmega32u4 erase
72 process_begin: CreateProcess(NULL, dfu-programmer atmega32u4 erase, ...) failed.
73 make (e=2): The system cannot find the file specified.
74 make: *** [dfu] Error 2
75
76when trying to 'make dfu' on Windows you need to copy the dfu-programmer.exe to qmk_firmware/keyboard/planck.
77
78
56## Quantum MK Firmware 79## Quantum MK Firmware
57 80
58### Keymap 81### Keymap
diff --git a/keyboard/planck/keymaps/lucas.c b/keyboard/planck/keymaps/lucas.c
new file mode 100644
index 000000000..27672e1bb
--- /dev/null
+++ b/keyboard/planck/keymaps/lucas.c
@@ -0,0 +1,163 @@
1/*
2This is the keymap of /u/deepshitgoeshere!
3Layer 1 exists so I can have the symbol positions of QWERTY while having my system in german.
4The second layer has all the german umlauts I need and with capital and small letters on the
5same layer there is no need to press shift+lower.
6This keymap is made to work with software implemented QWERTZ.
7The "Gaming" layer is mainly customized for CS:GO.
8If you have any question about this keymap feel free to shoot me a message on reddit!
9*/
10
11#include "keymap_common.h"
12#include "keymap_extras/keymap_german.h"
13#include "backlight.h"
14#include "debug.h"
15
16const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
17[0] = { /* Colemak
18 * ,-----------------------------------------------------------------------.
19 * | Esc | q | w | f | p | g | j | l | u | y | ; | - |
20 * |-----------------------------------------------------------------------|
21 * | BS | a | r | s | t | d | h | n | e | i | o | ' |
22 * |-----------------------------------------------------------------------|
23 * | SFT | z | x | c | v | b | k | m | , | . | / | Ent |
24 * |-----------------------------------------------------------------------|
25 * | CTL | GUI | Tab | ALT |Lower| Space |Raise|Left |Down | Up |Right|
26 * `-----------------------------------------------------------------------'
27 */
28 {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Z, DE_SCLN, DE_MINS},
29 {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, DE_QUOT},
30 {M(0), KC_Y, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, DE_COMM, DE_DOT, DE_SLSH, KC_ENT},
31 {KC_LCTL, KC_LGUI, KC_TAB, KC_LALT, F(2), F(3), F(3), F(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
32},
33[1] = { /* Symbols
34 * ,-----------------------------------------------------------------------.
35 * | | | | | | | | | | | : | |
36 * |-----------------------------------------------------------------------|
37 * | | | | | | | | | | | | " |
38 * |-----------------------------------------------------------------------|
39 * | | | | | | | | | < | > | ? | |
40 * |-----------------------------------------------------------------------|
41 * | | | | | | | | | | | |
42 * `-----------------------------------------------------------------------'
43 */
44 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DOT, KC_TRNS},
45 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DQOT},
46 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), DE_MORE, DE_QST, KC_TRNS},
47 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
48},
49[2] = { /* Raise
50 * ,-----------------------------------------------------------------------.
51 * | | Ä | | | | | | | Ü | Ö | |Game |
52 * |-----------------------------------------------------------------------|
53 * | Del | ä | | ß | | | | | ü | ö | |FVol+|
54 * |-----------------------------------------------------------------------|
55 * | | | | | | | | |Stop | Prv | Nxt |FVol-|
56 * |-----------------------------------------------------------------------|
57 * |LCTL |LGUI | Tab |LALT |Lower| Space | |Mute |Vol- |Vol+ | P/P |
58 * `-----------------------------------------------------------------------'
59 */
60 {KC_NO, S(DE_AE), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, S(DE_UE), S(DE_OE), KC_NO, F(4)},
61 {KC_DEL, DE_AE, KC_NO, DE_SS, KC_NO, KC_NO, KC_NO, KC_NO, DE_UE, DE_OE, KC_NO, RALT(KC_F12)},
62 {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPRV, KC_MNXT, RALT(KC_F11)},
63 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY}
64},
65[3] = { /* Lower
66 * ,-----------------------------------------------------------------------.
67 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | + |
68 * |-----------------------------------------------------------------------|
69 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = |
70 * |-----------------------------------------------------------------------|
71 * | | | | | | [ | ] | { | } | € | | \ | Ent |
72 * |-----------------------------------------------------------------------|
73 * |LCTL |LGUI | Tab |LALT | | Space |Raise|Home |PgDn |PgUp | End |
74 * `-----------------------------------------------------------------------'
75 */
76 {DE_TILD, DE_EXLM, DE_AT, DE_HASH, DE_DLR, DE_PERC, DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, DE_PLUS},
77 {DE_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_EQL},
78 {KC_NO, KC_NO, KC_NO, DE_PIPE, DE_LBRC, DE_RBRC, DE_LCBR, DE_RCBR, DE_EURO, KC_NO, DE_BSLS, KC_ENT},
79 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
80},
81[4] = { /* Function
82 * ,-----------------------------------------------------------------------.
83 * | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 |
84 * |-----------------------------------------------------------------------|
85 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
86 * |-----------------------------------------------------------------------|
87 * | | | | | | KP- | KP+ | | | | |Reset|
88 * |-----------------------------------------------------------------------|
89 * | |Light|BL DN|BL UP| | | | |Mute |Vol- |Vol+ | P/P |
90 * `-----------------------------------------------------------------------'
91 */
92 {KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24},
93 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
94 {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PMNS, KC_PPLS, KC_NO, KC_NO, KC_NO, RESET, KC_NO},
95 {KC_NO, BL_TOGG, BL_DEC, BL_INC, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY}
96},
97[5] = { /* Gaming
98 * ,-----------------------------------------------------------------------.
99 * | Buy | ESC | q | w | e | r | t | y | u | i | o | p |
100 * |-----------------------------------------------------------------------|
101 * | ENT | BS | a | s | d | f | g | h | j | k | l | ; |
102 * |-----------------------------------------------------------------------|
103 * | CTL | SFT | z | x | c | v | b | n | m | , | Up | / |
104 * |-----------------------------------------------------------------------|
105 * | | | Tab | ALT | | Space |CrJmp| GUI |Left |Down |Right|
106 * `-----------------------------------------------------------------------'
107 */
108 {MO(6), KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, F(4)},
109 {KC_ENT, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_SCLN},
110 {KC_LCTL, KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, DE_DOT, KC_UP, DE_SLSH},
111 {KC_NO, KC_NO, KC_TAB, KC_LALT, KC_NO, KC_SPC, KC_SPC, LCTL(KC_SPC), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT}
112},
113[6] = { /* Gaming
114 /* CS:GO buy binds
115 * ,-----------------------------------------------------------------------.
116 * | | | | | | | | | 7 | 8 | 9 | |
117 * |-----------------------------------------------------------------------|
118 * | BS | | | | | | | | 6 | 5 | 4 | End |
119 * |-----------------------------------------------------------------------|
120 * | CTL | SFT | | | | | | | 1 | 2 | 3 |Pgdn |
121 * |-----------------------------------------------------------------------|
122 * | | | Tab | ALT | | Space |CrJmp| | 0 | KP+ |PEnt |
123 * `-----------------------------------------------------------------------'
124 */
125 {KC_TRNS, KC_NO, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_P7, KC_P8, KC_P9, KC_NO},
126 {KC_BSPC, KC_NO, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_P4, KC_P5, KC_P6, KC_END},
127 {KC_LCTL, KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_K, KC_P1, KC_P2, KC_P3, KC_PGDN},
128 {KC_NO, KC_NO, KC_TAB, KC_LALT, KC_NO, KC_SPC, KC_SPC, LCTL(KC_SPC), KC_NO, KC_P0, KC_PDOT, KC_PENT}
129},
130};
131
132const uint16_t PROGMEM fn_actions[] = {
133 [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE
134 [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER
135 [3] = ACTION_LAYER_TAP_KEY(4,KC_SPC), // to Function
136 [4] = ACTION_LAYER_TOGGLE(5), // toggle Gaming
137 [5] = ACTION_MODS_TAP_KEY(KC_LSFT, KC_CAPS), //Shift on press, Caps on tap
138};
139
140const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
141{
142 switch(id) {
143 case 0: // M(0)
144 if (record->event.pressed) {
145 register_code(KC_LSFT);
146 layer_on(1);
147 } else {
148 layer_off(1);
149 unregister_code(KC_LSFT);
150 }
151 break;
152 case 1: // M(1)
153 if (record->event.pressed) {
154 unregister_code(KC_LSFT);
155 register_code(DE_MORE);
156 } else {
157 unregister_code(DE_MORE);
158 }
159 break;
160 }
161 return MACRO_NONE;
162
163}; \ No newline at end of file
diff --git a/new_project.sh b/new_project.sh
index 199ced411..28de9c2f9 100755
--- a/new_project.sh
+++ b/new_project.sh
@@ -13,10 +13,9 @@ sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/config.h > keyboard/$KEYBOARD
13sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/README.md > keyboard/$KEYBOARD/README.md 13sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/README.md > keyboard/$KEYBOARD/README.md
14sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/Makefile > keyboard/$KEYBOARD/Makefile 14sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/Makefile > keyboard/$KEYBOARD/Makefile
15sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default.c > keyboard/$KEYBOARD/keymaps/default.c 15sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default.c > keyboard/$KEYBOARD/keymaps/default.c
16cp quantum/template/bootloader.hex keyboard/$KEYBOARD/bootloader.hex
17 16
18echo "######################################################" 17echo "######################################################"
19echo "# keyboard/$KEYBOARD project created. To start" 18echo "# keyboard/$KEYBOARD project created. To start"
20echo "# working on things, use the following command:" 19echo "# working on things, use the following command:"
21echo "# cd keyboard/$KEYBOARD" 20echo "# cd keyboard/$KEYBOARD"
22echo "######################################################" \ No newline at end of file 21echo "######################################################"
diff --git a/quantum/keymap_extras/keymap_french.h b/quantum/keymap_extras/keymap_french.h
index ccfaed8f0..e03a121a2 100644
--- a/quantum/keymap_extras/keymap_french.h
+++ b/quantum/keymap_extras/keymap_french.h
@@ -75,7 +75,7 @@
75#define FR_CIRC ALGR(KC_9) 75#define FR_CIRC ALGR(KC_9)
76#define FR_AT ALGR(KC_0) 76#define FR_AT ALGR(KC_0)
77#define FR_RBRC ALGR(FR_RPRN) 77#define FR_RBRC ALGR(FR_RPRN)
78#define FR_LCBR ALGR(FR_EQL) 78#define FR_RCBR ALGR(FR_EQL)
79 79
80#define FR_EURO ALGR(KC_E) 80#define FR_EURO ALGR(KC_E)
81#define FR_BULT ALGR(FR_DLR) 81#define FR_BULT ALGR(FR_DLR)
diff --git a/quantum/keymap_extras/keymap_neo2.h b/quantum/keymap_extras/keymap_neo2.h
index 055d7d0d1..a35ba55a5 100644
--- a/quantum/keymap_extras/keymap_neo2.h
+++ b/quantum/keymap_extras/keymap_neo2.h
@@ -35,6 +35,25 @@
35#define NEO_UE DE_Y 35#define NEO_UE DE_Y
36#define NEO_SS DE_UE 36#define NEO_SS DE_UE
37 37
38#define NEO_DOT DE_DOT
39#define NEO_COMM DE_COMM
40
41#define NEO_1 DE_1
42#define NEO_2 DE_2
43#define NEO_3 DE_3
44#define NEO_4 DE_4
45#define NEO_5 DE_5
46#define NEO_6 DE_6
47#define NEO_7 DE_7
48#define NEO_8 DE_8
49#define NEO_9 DE_9
50#define NEO_0 DE_0
51#define NEO_MINS DE_SS
52
53#define NEO_ACUT DE_PLUS
54#define NEO_GRV DE_ACUT
55#define NEO_CIRC DE_CIRC
56
38#define NEO_L1_L KC_CAPS 57#define NEO_L1_L KC_CAPS
39#define NEO_L1_R DE_HASH 58#define NEO_L1_R DE_HASH
40 59