aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/handwired/pilcrow/info.json53
-rw-r--r--keyboards/handwired/pilcrow/keymaps/default/config.h7
-rw-r--r--keyboards/handwired/pilcrow/keymaps/default/keymap.c116
-rw-r--r--keyboards/handwired/pilcrow/pilcrow.h2
-rw-r--r--keyboards/handwired/pilcrow/readme.md30
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
3const 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
54const uint16_t PROGMEM fn_actions[] = { 5const 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
58const 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
74void matrix_init_user(void) { 56void 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 @@
1pilcrow keyboard firmware 1# pilcrow
2======================
3 2
4## Quantum MK Firmware 3![pilcrow](https://i.imgur.com/KQdn2kg.jpg)
5 4
6For the full Quantum feature list, see [the parent readme](/). 5A 4x10 ortholinear keyboard powered by a Teensy.
7 6
8## Building 7Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
8Hardware Supported: Teensy-powered pilcrow
9 9
10Download 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. 10Make example for this keyboard (after setting up your build environment):
11 11
12Depending on which keymap you would like to use, you will have to compile slightly differently. 12 make handwired/pilcrow:default
13 13
14### Default 14See 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
16To build with the default keymap, simply run `make default`.
17
18### Other Keymaps
19
20Several 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
22To 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
28Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.