diff options
| -rw-r--r-- | keyboards/handwired/pilcrow/info.json | 53 | ||||
| -rw-r--r-- | keyboards/handwired/pilcrow/keymaps/default/config.h | 7 | ||||
| -rw-r--r-- | keyboards/handwired/pilcrow/keymaps/default/keymap.c | 116 | ||||
| -rw-r--r-- | keyboards/handwired/pilcrow/pilcrow.h | 2 | ||||
| -rw-r--r-- | keyboards/handwired/pilcrow/readme.md | 30 |
5 files changed, 112 insertions, 96 deletions
diff --git a/keyboards/handwired/pilcrow/info.json b/keyboards/handwired/pilcrow/info.json new file mode 100644 index 000000000..824e2abbc --- /dev/null +++ b/keyboards/handwired/pilcrow/info.json | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "pilcrow", | ||
| 3 | "url": "", | ||
| 4 | "maintainer": "qmk", | ||
| 5 | "width": 10, | ||
| 6 | "height": 4, | ||
| 7 | "layouts": { | ||
| 8 | "LAYOUT": { | ||
| 9 | "layout": [ | ||
| 10 | {"label":"Q", "x":0, "y":0}, | ||
| 11 | {"label":"W", "x":1, "y":0}, | ||
| 12 | {"label":"E", "x":2, "y":0}, | ||
| 13 | {"label":"R", "x":3, "y":0}, | ||
| 14 | {"label":"T", "x":4, "y":0}, | ||
| 15 | {"label":"Y", "x":5, "y":0}, | ||
| 16 | {"label":"U", "x":6, "y":0}, | ||
| 17 | {"label":"I", "x":7, "y":0}, | ||
| 18 | {"label":"O", "x":8, "y":0}, | ||
| 19 | {"label":"P", "x":9, "y":0}, | ||
| 20 | {"label":"A", "x":0, "y":1}, | ||
| 21 | {"label":"S", "x":1, "y":1}, | ||
| 22 | {"label":"D", "x":2, "y":1}, | ||
| 23 | {"label":"F", "x":3, "y":1}, | ||
| 24 | {"label":"G", "x":4, "y":1}, | ||
| 25 | {"label":"H", "x":5, "y":1}, | ||
| 26 | {"label":"J", "x":6, "y":1}, | ||
| 27 | {"label":"K", "x":7, "y":1}, | ||
| 28 | {"label":"L", "x":8, "y":1}, | ||
| 29 | {"label":";", "x":9, "y":1}, | ||
| 30 | {"label":"Z", "x":0, "y":2}, | ||
| 31 | {"label":"X", "x":1, "y":2}, | ||
| 32 | {"label":"C", "x":2, "y":2}, | ||
| 33 | {"label":"V", "x":3, "y":2}, | ||
| 34 | {"label":"B", "x":4, "y":2}, | ||
| 35 | {"label":"N", "x":5, "y":2}, | ||
| 36 | {"label":"M", "x":6, "y":2}, | ||
| 37 | {"label":",", "x":7, "y":2}, | ||
| 38 | {"label":".", "x":8, "y":2}, | ||
| 39 | {"label":"/", "x":9, "y":2}, | ||
| 40 | {"label":"Ctrl", "x":0, "y":3}, | ||
| 41 | {"label":"Alt", "x":1, "y":3}, | ||
| 42 | {"label":"GUI", "x":2, "y":3}, | ||
| 43 | {"label":"MO(1)", "x":3, "y":3}, | ||
| 44 | {"label":"Space", "x":4, "y":3}, | ||
| 45 | {"label":"Shift / Space", "x":5, "y":3}, | ||
| 46 | {"label":"MO(2)", "x":6, "y":3}, | ||
| 47 | {"label":"MO(3)", "x":7, "y":3}, | ||
| 48 | {"label":"Delete", "x":8, "y":3}, | ||
| 49 | {"label":"Esc", "x":9, "y":3} | ||
| 50 | ] | ||
| 51 | } | ||
| 52 | } | ||
| 53 | } | ||
diff --git a/keyboards/handwired/pilcrow/keymaps/default/config.h b/keyboards/handwired/pilcrow/keymaps/default/config.h index df06a2620..271f48d00 100644 --- a/keyboards/handwired/pilcrow/keymaps/default/config.h +++ b/keyboards/handwired/pilcrow/keymaps/default/config.h | |||
| @@ -1,8 +1,3 @@ | |||
| 1 | #ifndef CONFIG_USER_H | 1 | #pragma once |
| 2 | #define CONFIG_USER_H | ||
| 3 | |||
| 4 | #include "../../config.h" | ||
| 5 | 2 | ||
| 6 | // place overrides here | 3 | // place overrides here |
| 7 | |||
| 8 | #endif \ No newline at end of file | ||
diff --git a/keyboards/handwired/pilcrow/keymaps/default/keymap.c b/keyboards/handwired/pilcrow/keymaps/default/keymap.c index e382e4c6a..617ff4f6c 100644 --- a/keyboards/handwired/pilcrow/keymaps/default/keymap.c +++ b/keyboards/handwired/pilcrow/keymaps/default/keymap.c | |||
| @@ -1,76 +1,58 @@ | |||
| 1 | #include "pilcrow.h" | 1 | #include QMK_KEYBOARD_H |
| 2 | #define _______ KC_TRNS | ||
| 3 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 4 | [0] = KEYMAP( \ | ||
| 5 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \ | ||
| 6 | KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \ | ||
| 7 | KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \ | ||
| 8 | KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MT(MOD_LSFT, KC_SPC), MO(2), MO(3), KC_DEL, KC_ESC \ | ||
| 9 | ), | ||
| 10 | |||
| 11 | /* Colemak | ||
| 12 | * ,-----------------------------------------------------------------------------------. | ||
| 13 | * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | | ||
| 14 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 15 | * | Esc | A | R | S | T | D | H | N | E | I | O | " | | ||
| 16 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 17 | * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | | ||
| 18 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 19 | * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | | ||
| 20 | * `-----------------------------------------------------------------------------------' | ||
| 21 | */ | ||
| 22 | [1] = KEYMAP( \ | ||
| 23 | KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \ | ||
| 24 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, \ | ||
| 25 | KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_PIPE, S(KC_QUOT), \ | ||
| 26 | _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_GRV \ | ||
| 27 | ), | ||
| 28 | [2] = KEYMAP( \ | ||
| 29 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ | ||
| 30 | KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, \ | ||
| 31 | OSM(MOD_LSFT), KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_BSLS, KC_QUOT, \ | ||
| 32 | _______, _______, _______, _______, KC_ENT, KC_ENT, _______, KC_MNXT, KC_VOLD, KC_VOLU \ | ||
| 33 | ), | ||
| 34 | 2 | ||
| 35 | /* Adjust (Lower + Raise) | 3 | #define SFT_SPC MT(MOD_LSFT, KC_SPC) |
| 36 | * ,-----------------------------------------------------------------------------------. | ||
| 37 | * | | Reset| | | | | | | | | | Del | | ||
| 38 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 39 | * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | | ||
| 40 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 41 | * | | | | | | | | | | | | | | ||
| 42 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 43 | * | | | | | | | | | | | | | ||
| 44 | * `-----------------------------------------------------------------------------------' | ||
| 45 | */ | ||
| 46 | [3] = KEYMAP( \ | ||
| 47 | RESET, KC_UP, _______, _______, _______, _______, _______, KC_MS_WH_DOWN, KC_MS_U, KC_MS_WH_UP, \ | ||
| 48 | KC_LEFT, KC_DOWN, KC_RIGHT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_MS_L,KC_MS_D, KC_MS_R, \ | ||
| 49 | RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, \ | ||
| 50 | _______, _______, _______, _______, KC_MS_BTN1, KC_MS_BTN2, _______, _______, _______, _______ \ | ||
| 51 | ) | ||
| 52 | }; | ||
| 53 | 4 | ||
| 54 | const uint16_t PROGMEM fn_actions[] = { | 5 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 6 | [0] = LAYOUT( \ | ||
| 7 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \ | ||
| 8 | KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \ | ||
| 9 | KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \ | ||
| 10 | KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, SFT_SPC, MO(2), MO(3), KC_DEL, KC_ESC \ | ||
| 11 | ), | ||
| 55 | 12 | ||
| 56 | }; | 13 | /* Colemak |
| 14 | * ,-----------------------------------------------------------------------------------. | ||
| 15 | * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | | ||
| 16 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 17 | * | Esc | A | R | S | T | D | H | N | E | I | O | " | | ||
| 18 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 19 | * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | | ||
| 20 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 21 | * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | | ||
| 22 | * `-----------------------------------------------------------------------------------' | ||
| 23 | */ | ||
| 24 | [1] = LAYOUT( \ | ||
| 25 | KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \ | ||
| 26 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, \ | ||
| 27 | KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_PIPE, S(KC_QUOT), \ | ||
| 28 | _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_GRV \ | ||
| 29 | ), | ||
| 30 | [2] = LAYOUT( \ | ||
| 31 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ | ||
| 32 | KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, \ | ||
| 33 | OSM(MOD_LSFT), KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_BSLS, KC_QUOT, \ | ||
| 34 | _______, _______, _______, _______, KC_ENT, KC_ENT, _______, KC_MNXT, KC_VOLD, KC_VOLU \ | ||
| 35 | ), | ||
| 57 | 36 | ||
| 58 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | 37 | /* Adjust (Lower + Raise) |
| 59 | { | 38 | * ,-----------------------------------------------------------------------------------. |
| 60 | // MACRODOWN only works in this function | 39 | * | | Reset| | | | | | | | | | Del | |
| 61 | switch(id) { | 40 | * |------+------+------+------+------+-------------+------+------+------+------+------| |
| 62 | case 0: | 41 | * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | |
| 63 | if (record->event.pressed) { | 42 | * |------+------+------+------+------+------|------+------+------+------+------+------| |
| 64 | register_code(KC_RSFT); | 43 | * | | | | | | | | | | | | | |
| 65 | } else { | 44 | * |------+------+------+------+------+------+------+------+------+------+------+------| |
| 66 | unregister_code(KC_RSFT); | 45 | * | | | | | | | | | | | | |
| 67 | } | 46 | * `-----------------------------------------------------------------------------------' |
| 68 | break; | 47 | */ |
| 69 | } | 48 | [3] = LAYOUT( \ |
| 70 | return MACRO_NONE; | 49 | RESET, KC_UP, _______, _______, _______, _______, _______, KC_WH_D, KC_MS_U, KC_WH_U, \ |
| 50 | KC_LEFT, KC_DOWN, KC_RGHT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_MS_L, KC_MS_D, KC_MS_R, \ | ||
| 51 | RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, \ | ||
| 52 | _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______ \ | ||
| 53 | ) | ||
| 71 | }; | 54 | }; |
| 72 | 55 | ||
| 73 | |||
| 74 | void matrix_init_user(void) { | 56 | void matrix_init_user(void) { |
| 75 | 57 | ||
| 76 | } | 58 | } |
diff --git a/keyboards/handwired/pilcrow/pilcrow.h b/keyboards/handwired/pilcrow/pilcrow.h index 7138ccb3f..37d2914f2 100644 --- a/keyboards/handwired/pilcrow/pilcrow.h +++ b/keyboards/handwired/pilcrow/pilcrow.h | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | // The following is an example using the Planck MIT layout | 7 | // The following is an example using the Planck MIT layout |
| 8 | // The first section contains all of the arguements | 8 | // The first section contains all of the arguements |
| 9 | // The second converts the arguments into a two-dimensional array | 9 | // The second converts the arguments into a two-dimensional array |
| 10 | #define KEYMAP( \ | 10 | #define LAYOUT( \ |
| 11 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ | 11 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ |
| 12 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ | 12 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ |
| 13 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ | 13 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ |
diff --git a/keyboards/handwired/pilcrow/readme.md b/keyboards/handwired/pilcrow/readme.md index 7a7f6d2af..79f22518e 100644 --- a/keyboards/handwired/pilcrow/readme.md +++ b/keyboards/handwired/pilcrow/readme.md | |||
| @@ -1,28 +1,14 @@ | |||
| 1 | pilcrow keyboard firmware | 1 | # pilcrow |
| 2 | ====================== | ||
| 3 | 2 | ||
| 4 | ## Quantum MK Firmware | 3 |  |
| 5 | 4 | ||
| 6 | For the full Quantum feature list, see [the parent readme](/). | 5 | A 4x10 ortholinear keyboard powered by a Teensy. |
| 7 | 6 | ||
| 8 | ## Building | 7 | Keyboard Maintainer: [The QMK Community](https://github.com/qmk) |
| 8 | Hardware Supported: Teensy-powered pilcrow | ||
| 9 | 9 | ||
| 10 | Download or clone the whole firmware and navigate to the keyboards/pilcrow folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. | 10 | Make example for this keyboard (after setting up your build environment): |
| 11 | 11 | ||
| 12 | Depending on which keymap you would like to use, you will have to compile slightly differently. | 12 | make handwired/pilcrow:default |
| 13 | 13 | ||
| 14 | ### Default | 14 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). |
| 15 | |||
| 16 | To build with the default keymap, simply run `make default`. | ||
| 17 | |||
| 18 | ### Other Keymaps | ||
| 19 | |||
| 20 | Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files. | ||
| 21 | |||
| 22 | To build the firmware binary hex file with a keymap just do `make` with a keymap like this: | ||
| 23 | |||
| 24 | ``` | ||
| 25 | $ make [default|jack|<name>] | ||
| 26 | ``` | ||
| 27 | |||
| 28 | Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. | ||
