diff options
| -rw-r--r-- | .gitignore | 4 | ||||
| -rw-r--r-- | keyboard/planck/PCB_GUIDE.md | 23 | ||||
| -rw-r--r-- | keyboard/planck/keymaps/lucas.c | 163 | ||||
| -rwxr-xr-x | new_project.sh | 3 | ||||
| -rw-r--r-- | quantum/keymap_extras/keymap_french.h | 2 | ||||
| -rw-r--r-- | quantum/keymap_extras/keymap_neo2.h | 19 |
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 @@ | |||
| 1 | keyboard/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 @@ | |||
| 9 | 4. 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. | 9 | 4. 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. |
| 10 | 5. 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! | 10 | 5. 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 | ||
| 14 | If you're using homebrew, you can use the following commands: | 15 | If you're using homebrew, you can use the following commands: |
| @@ -53,6 +54,28 @@ Generally, the instructions to flash the PCB are as follows: | |||
| 53 | 4. Press the reset button on the PCB/press the key with the `RESET` keycode | 54 | 4. Press the reset button on the PCB/press the key with the `RESET` keycode |
| 54 | 5. `make <arguments> dfu` - use the necessary `KEYMAP=<keymap>` and/or `COMMON=true` arguments here. | 55 | 5. `make <arguments> dfu` - use the necessary `KEYMAP=<keymap>` and/or `COMMON=true` arguments here. |
| 55 | 56 | ||
| 57 | ## Troubleshooting | ||
| 58 | If 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 | |||
| 64 | after running 'make' on Windows than you are encountering a very popular issue with WinAVR on Windows 8.1 and 10. | ||
| 65 | You 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). | ||
| 66 | Restart your system and everything should work fine! | ||
| 67 | |||
| 68 | |||
| 69 | If 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 | |||
| 76 | when 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 | /* | ||
| 2 | This is the keymap of /u/deepshitgoeshere! | ||
| 3 | Layer 1 exists so I can have the symbol positions of QWERTY while having my system in german. | ||
| 4 | The second layer has all the german umlauts I need and with capital and small letters on the | ||
| 5 | same layer there is no need to press shift+lower. | ||
| 6 | This keymap is made to work with software implemented QWERTZ. | ||
| 7 | The "Gaming" layer is mainly customized for CS:GO. | ||
| 8 | If 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 | |||
| 16 | const 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 | |||
| 132 | const 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 | |||
| 140 | const 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 | |||
| 13 | sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/README.md > keyboard/$KEYBOARD/README.md | 13 | sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/README.md > keyboard/$KEYBOARD/README.md |
| 14 | sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/Makefile > keyboard/$KEYBOARD/Makefile | 14 | sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/Makefile > keyboard/$KEYBOARD/Makefile |
| 15 | sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default.c > keyboard/$KEYBOARD/keymaps/default.c | 15 | sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default.c > keyboard/$KEYBOARD/keymaps/default.c |
| 16 | cp quantum/template/bootloader.hex keyboard/$KEYBOARD/bootloader.hex | ||
| 17 | 16 | ||
| 18 | echo "######################################################" | 17 | echo "######################################################" |
| 19 | echo "# keyboard/$KEYBOARD project created. To start" | 18 | echo "# keyboard/$KEYBOARD project created. To start" |
| 20 | echo "# working on things, use the following command:" | 19 | echo "# working on things, use the following command:" |
| 21 | echo "# cd keyboard/$KEYBOARD" | 20 | echo "# cd keyboard/$KEYBOARD" |
| 22 | echo "######################################################" \ No newline at end of file | 21 | echo "######################################################" |
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 | ||
