aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornoroadsleft <18669334+noroadsleft@users.noreply.github.com>2018-12-06 07:29:42 -0800
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2018-12-06 07:29:42 -0800
commitdee2faf387e4c2a6cefa09e8531b9113dd610a1a (patch)
treedeaef04905388fe63f89114c99701d405312392c
parenta5b43b35fe7543c7d146029b05b8c6a13f17cd3e (diff)
downloadqmk_firmware-dee2faf387e4c2a6cefa09e8531b9113dd610a1a.tar.gz
qmk_firmware-dee2faf387e4c2a6cefa09e8531b9113dd610a1a.zip
handwired/frenchdev Refactor, Configurator support and readme cleanup (#4561)
* handwired/frenchdev: refactor - layout macro KEYMAP renamed to LAYOUT - default keymap - now uses #include QMK_KEYBOARD_H - updated layout macro names * handwired/frenchdev: Configurator support * handwired/frenchdev: readme cleanup Capitalization and markdown formatting fixes.
-rw-r--r--keyboards/handwired/frenchdev/frenchdev.h2
-rw-r--r--keyboards/handwired/frenchdev/info.json114
-rw-r--r--keyboards/handwired/frenchdev/keymaps/default/keymap.c14
-rw-r--r--keyboards/handwired/frenchdev/readme.md16
4 files changed, 129 insertions, 17 deletions
diff --git a/keyboards/handwired/frenchdev/frenchdev.h b/keyboards/handwired/frenchdev/frenchdev.h
index 82121e044..82dbe18b8 100644
--- a/keyboards/handwired/frenchdev/frenchdev.h
+++ b/keyboards/handwired/frenchdev/frenchdev.h
@@ -77,7 +77,7 @@ inline void frenchdev_led_all_set(uint8_t n)
77 frenchdev_led_3_set(n); 77 frenchdev_led_3_set(n);
78} 78}
79 79
80#define KEYMAP( \ 80#define LAYOUT( \
81 \ 81 \
82 k01, k02, k03, k04, k05, k06, k09, k0a, k0b, k0c, k0d, k0e, \ 82 k01, k02, k03, k04, k05, k06, k09, k0a, k0b, k0c, k0d, k0e, \
83 k10, k11, k12, k13, k14, k15, k16, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ 83 k10, k11, k12, k13, k14, k15, k16, k19, k1a, k1b, k1c, k1d, k1e, k1f, \
diff --git a/keyboards/handwired/frenchdev/info.json b/keyboards/handwired/frenchdev/info.json
new file mode 100644
index 000000000..0f3c0a94f
--- /dev/null
+++ b/keyboards/handwired/frenchdev/info.json
@@ -0,0 +1,114 @@
1{
2 "keyboard_name": "",
3 "url": "",
4 "maintainer": "qmk",
5 "bootloader": "",
6 "width": 20,
7 "height": 8,
8 "layouts": {
9 "LAYOUT": {
10 "layout": [
11 {"label":"F1", "x":1, "y":0.9},
12 {"label":"F2", "x":2, "y":0.3},
13 {"label":"F3", "x":3, "y":0},
14 {"label":"F4", "x":4, "y":0.4},
15 {"label":"F5", "x":5, "y":0.5},
16 {"label":"F6", "x":6, "y":0.5},
17 {"label":"F7", "x":13, "y":0.5},
18 {"label":"F8", "x":14, "y":0.5},
19 {"label":"F9", "x":15, "y":0.4},
20 {"label":"F10", "x":16, "y":0},
21 {"label":"F11", "x":17, "y":0.3},
22 {"label":"F12", "x":18, "y":0.9},
23
24 {"label":"Esc", "x":0, "y":1.9},
25 {"label":"\"", "x":1, "y":1.9},
26 {"label":"\u00ab", "x":2, "y":1.3},
27 {"label":"\u00bb", "x":3, "y":1},
28 {"label":"(", "x":4, "y":1.4},
29 {"label":")", "x":5, "y":1.5},
30 {"label":"\u00a8", "x":6, "y":1.5},
31 {"label":"^", "x":13, "y":1.5},
32 {"label":"@", "x":14, "y":1.5},
33 {"label":"+", "x":15, "y":1.4},
34 {"label":"-", "x":16, "y":1},
35 {"label":"/", "x":17, "y":1.3},
36 {"label":"*", "x":18, "y":1.9},
37 {"label":"Backspace", "x":19, "y":1.9},
38
39 {"label":"Tab", "x":0, "y":2.9},
40 {"label":"B", "x":1, "y":2.9},
41 {"label":"&Eacute;", "x":2, "y":2.3},
42 {"label":"P", "x":3, "y":2},
43 {"label":"O", "x":4, "y":2.4},
44 {"label":"&Egrave;", "x":5, "y":2.5},
45 {"label":"_", "x":6, "y":2.5},
46 {"label":"=", "x":13, "y":2.5},
47 {"label":"K", "x":14, "y":2.5},
48 {"label":"V", "x":15, "y":2.4},
49 {"label":"D", "x":16, "y":2},
50 {"label":"L", "x":17, "y":2.3},
51 {"label":"J", "x":18, "y":2.9},
52 {"label":"Enter", "x":19, "y":2.9},
53
54 {"label":"`", "x":0, "y":3.9},
55 {"label":"A", "x":1, "y":3.9},
56 {"label":"U", "x":2, "y":3.3},
57 {"label":"E", "x":3, "y":3},
58 {"label":"I", "x":4, "y":3.4},
59 {"label":"F", "x":5, "y":3.5},
60 {"label":";", "x":6, "y":3.5},
61 {"label":"!", "x":13, "y":3.5},
62 {"label":"C", "x":14, "y":3.5},
63 {"label":"T", "x":15, "y":3.4},
64 {"label":"S", "x":16, "y":3},
65 {"label":"R", "x":17, "y":3.3},
66 {"label":"N", "x":18, "y":3.9},
67 {"label":"'", "x":19, "y":3.9},
68
69 {"label":"Shift", "x":0, "y":4.9},
70 {"label":"Z", "x":1, "y":4.9},
71 {"label":"&Agrave;", "x":2, "y":4.3},
72 {"label":"Y", "x":3, "y":4},
73 {"label":"X", "x":4, "y":4.4},
74 {"label":"]", "x":5, "y":4.5},
75 {"label":"Shift/Space", "x":6.5, "y":5},
76 {"label":"Ctrl/Backspace", "x":7.5, "y":5},
77 {"label":"Layer 2/Insert", "x":8.5, "y":5},
78 {"label":"Layer 2 Lock", "x":10.5, "y":5},
79 {"label":"Ctrl/Delete", "x":11.5, "y":5},
80 {"label":"Shift/Space", "x":12.5, "y":5},
81 {"label":"M", "x":14, "y":4.5},
82 {"label":"G", "x":15, "y":4.4},
83 {"label":"Up", "x":16, "y":4},
84 {"label":"H", "x":17, "y":4.3},
85 {"label":"Q", "x":18, "y":4.9},
86 {"label":"Shift", "x":19, "y":4.9},
87
88 {"label":"Ctrl", "x":0, "y":5.9},
89 {"label":"GUI", "x":1, "y":5.9},
90 {"label":"Keypad /", "x":2, "y":5.3},
91 {"label":".", "x":3, "y":5},
92 {"label":",", "x":4, "y":5.4},
93 {"label":"Space", "x":5, "y":5.5},
94 {"label":"Layer 1/Space", "x":6.5, "y":6},
95 {"label":"Alt", "x":7.5, "y":6},
96 {"label":"Caps Lock", "x":11.5, "y":6},
97 {"label":"Layer 1/Space", "x":12.5, "y":6},
98 {"label":"Space", "x":14, "y":5.5},
99 {"label":"Left", "x":15, "y":5.4},
100 {"label":"Down", "x":16, "y":5},
101 {"label":"Right", "x":17, "y":5.3},
102 {"label":":", "x":18, "y":5.9},
103 {"label":"Ctrl", "x":19, "y":5.9},
104
105 {"label":"Left Pedal 1", "x":2.25, "y":7.5, "w":1.5, "h":2},
106 {"label":"Left Pedal 2", "x":3.75, "y":7.5, "w":1.5, "h":2},
107 {"label":"Left Pedal 3", "x":5.25, "y":7.5, "w":1.5, "h":2},
108 {"label":"Right Pedal 1", "x":13.25, "y":7.5, "w":1.5, "h":2},
109 {"label":"Right Pedal 2", "x":14.75, "y":7.5, "w":1.5, "h":2},
110 {"label":"Right Pedal 3", "x":16.25, "y":7.5, "w":1.5, "h":2}
111 ]
112 }
113 }
114}
diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
index e6d72d013..635383b55 100644
--- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c
+++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
@@ -1,8 +1,6 @@
1#include "frenchdev.h" 1#include QMK_KEYBOARD_H
2#include "mousekey.h" 2#include "mousekey.h"
3#include "action.h" 3#include "keymap_bepo.h"
4#include "action_layer.h"
5#include "keymap_extras/keymap_bepo.h"
6 4
7 5
8// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -67,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
67 * `-------------/ \-------------/ .. \-------------/ \-------------/ * 65 * `-------------/ \-------------/ .. \-------------/ \-------------/ *
68 *M(M_LP) 66 *M(M_LP)
69 */ 67 */
70[_BASE] = KEYMAP( 68[_BASE] = LAYOUT(
71 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ 69 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
72 KC_ESC, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_DTRM, BP_DCRC, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, KC_BSPC, \ 70 KC_ESC, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_DTRM, BP_DCRC, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, KC_BSPC, \
73 KC_TAB, BP_B, BP_ECUT, BP_O, BP_P, BP_EGRV, BP_UNDS, BP_EQL, BP_K, BP_V, BP_D, BP_L, BP_J, KC_ENT, \ 71 KC_TAB, BP_B, BP_ECUT, BP_O, BP_P, BP_EGRV, BP_UNDS, BP_EQL, BP_K, BP_V, BP_D, BP_L, BP_J, KC_ENT, \
@@ -99,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
99 * `-------------/ \-------------/ .. \-------------/ \-------------/ * 97 * `-------------/ \-------------/ .. \-------------/ \-------------/ *
100 * 98 *
101 */ 99 */
102[_SYMBOLS] = KEYMAP( 100[_SYMBOLS] = LAYOUT(
103 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 101 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
104 KC_TRNS, BP_DCUR, BP_PARG, BP_SECT, BP_DGRK, KC_TRNS, BP_TILD, BP_DCAR, BP_LEQL, BP_GEQL, BP_PSMS, BP_OBEL, BP_TIMS, KC_TRNS, \ 102 KC_TRNS, BP_DCUR, BP_PARG, BP_SECT, BP_DGRK, KC_TRNS, BP_TILD, BP_DCAR, BP_LEQL, BP_GEQL, BP_PSMS, BP_OBEL, BP_TIMS, KC_TRNS, \
105 KC_TRNS, BP_BSLS, BP_ASTR, BP_LCBR, BP_RCBR, BP_GRV, KC_TRNS, BP_DIFF, BP_HASH, BP_LBRC, BP_RBRC, BP_PERC, BP_PMIL, KC_TRNS, \ 103 KC_TRNS, BP_BSLS, BP_ASTR, BP_LCBR, BP_RCBR, BP_GRV, KC_TRNS, BP_DIFF, BP_HASH, BP_LBRC, BP_RBRC, BP_PERC, BP_PMIL, KC_TRNS, \
@@ -131,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
131 * `-------------/ \-------------/ .. \-------------/ \-------------/ * 129 * `-------------/ \-------------/ .. \-------------/ \-------------/ *
132 * 130 *
133 */ 131 */
134[_MEDIA] = KEYMAP( 132[_MEDIA] = LAYOUT(
135 RESET, KC_SLCK, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_CALC, KC_NLCK, \ 133 RESET, KC_SLCK, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_CALC, KC_NLCK, \
136 KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_MPRV, KC_MNXT, KC_MPLY, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS, KC_PMNS, KC_TRNS, \ 134 KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_MPRV, KC_MNXT, KC_MPLY, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS, KC_PMNS, KC_TRNS, \
137 KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_BTN4, KC_BTN5, KC_BTN4, KC_BTN5, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_TRNS, \ 135 KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_BTN4, KC_BTN5, KC_BTN4, KC_BTN5, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_TRNS, \
@@ -163,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
163 * 161 *
164 */ 162 */
165 163
166[_TRNS] = KEYMAP( 164[_TRNS] = LAYOUT(
167 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 165 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
168 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 166 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
169 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 167 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
diff --git a/keyboards/handwired/frenchdev/readme.md b/keyboards/handwired/frenchdev/readme.md
index 698b4befb..9d7c59e71 100644
--- a/keyboards/handwired/frenchdev/readme.md
+++ b/keyboards/handwired/frenchdev/readme.md
@@ -6,29 +6,29 @@ Concept based on
6with the added possibility to connect up to 6 external switches like pedals, 6with the added possibility to connect up to 6 external switches like pedals,
7 and somewhat like the katy, not all keys are on the same level for easier reach. 7 and somewhat like the katy, not all keys are on the same level for easier reach.
8 8
9###Photos 9### Photos
10- [default layout](http://i.imgur.com/r2Nvr4p.png) 10- [default layout](http://i.imgur.com/r2Nvr4p.png)
11- [editable layout on keyboard layout editor](http://www.keyboard-layout-editor.com/#/gists/4480e3ab8026eb7c710a7e22203ef4aa) (keys placement is NOT precise on this) 11- [editable layout on keyboard layout editor](http://www.keyboard-layout-editor.com/#/gists/4480e3ab8026eb7c710a7e22203ef4aa) (keys placement is NOT precise on this)
12- [the thing when finished](http://imgur.com/a/6FY8v) 12- [the thing when finished](http://imgur.com/a/6FY8v)
13- [concept and cardboard mockup](http://imgur.com/a/R0vvs) 13- [concept and cardboard mockup](http://imgur.com/a/R0vvs)
14 14
15##Build instructions 15## Build instructions
16 16
17 docker run --rm -e keymap=default -e keyboard=frenchdev --rm -v D:/Repositories/qmk:/qmk:rw edasque/qmk_firmware 17 docker run --rm -e keymap=default -e keyboard=frenchdev --rm -v D:/Repositories/qmk:/qmk:rw edasque/qmk_firmware
18 18
19##Laser-cuttable file 19## Laser-cuttable file
20There is intentionnaly no hole for the TRRS connector, you are supposed to use a drill for it. 20There is intentionnaly no hole for the TRRS connector, you are supposed to use a drill for it.
21This way if you don't want to use the pedals you don't have a useless hole. Plus it's cleaner. 21This way if you don't want to use the pedals you don't have a useless hole. Plus it's cleaner.
22http://qmk.fm/frenchdev/frenchdev_v1_lasercut_template.svg 22http://qmk.fm/frenchdev/frenchdev_v1_lasercut_template.svg
23 23
24##Side stickers 24## Side stickers
25You can find my original file here : http://qmk.fm/frenchdev/example_printable_stickers.svg 25You can find my original file here : http://qmk.fm/frenchdev/example_printable_stickers.svg
26 26
27I used it when training but now I use blanks and the layout is different. 27I used it when training but now I use blanks and the layout is different.
28I still uploaded it because I think it can be a good jumpstart for any temporary stickers on the 28I still uploaded it because I think it can be a good jumpstart for any temporary stickers on the
29side of keycaps. 29side of keycaps.
30 30
31##List of parts 31## List of parts
32- I2C mcp23018 32- I2C mcp23018
33- [teensy 2](https://www.pjrc.com/store/teensy.html) 33- [teensy 2](https://www.pjrc.com/store/teensy.html)
34- 3 LED, 5mm tall with flat head 34- 3 LED, 5mm tall with flat head
@@ -43,13 +43,13 @@ side of keycaps.
43- 20 R2 keys 43- 20 R2 keys
44- 22 R1 keys 44- 22 R1 keys
45 45
46if you fancy adding pedals : 46If you fancy adding pedals :
47[these are good enough and cheap](https://www.amazon.fr/gp/product/B00V7WITKI/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1). You also need a RCA connector for each of those to replace the included cable 47[these are good enough and cheap](https://www.amazon.fr/gp/product/B00V7WITKI/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1). You also need a RCA connector for each of those to replace the included cable
48 48
49If you (or your coworkers) find them too loud you can replace the switch inside them. 49If you (or your coworkers) find them too loud you can replace the switch inside them.
50For once we don't really care about what's inside :) 50For once we don't really care about what's inside :)
51 51
52##Various indications 52## Various indications
53 53
54The PHYSICAL rows and columns are connected as such : 54The PHYSICAL rows and columns are connected as such :
55 55
@@ -96,7 +96,7 @@ and on left hand (main) :
96 96
97We use pull up resistor for SCL and VDA, see https://github.com/ErgoDox-EZ/docs/blob/master/ErgoDox%20EZ%20Schematic.pdf for example 97We use pull up resistor for SCL and VDA, see https://github.com/ErgoDox-EZ/docs/blob/master/ErgoDox%20EZ%20Schematic.pdf for example
98 98
99the connector is a standard TRRS (jack with audio + mic) 99The connector is a standard TRRS (jack with audio + mic)
100 100
101Diode direction is row to column 101Diode direction is row to column
102 102