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.
pull/4564/head
noroadsleft 6 years ago committed by MechMerlin
parent a5b43b35fe
commit dee2faf387

@ -77,7 +77,7 @@ inline void frenchdev_led_all_set(uint8_t n)
frenchdev_led_3_set(n); frenchdev_led_3_set(n);
} }
#define KEYMAP( \ #define LAYOUT( \
\ \
k01, k02, k03, k04, k05, k06, k09, k0a, k0b, k0c, k0d, k0e, \ k01, k02, k03, k04, k05, k06, k09, k0a, k0b, k0c, k0d, k0e, \
k10, k11, k12, k13, k14, k15, k16, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ k10, k11, k12, k13, k14, k15, k16, k19, k1a, k1b, k1c, k1d, k1e, k1f, \

@ -0,0 +1,114 @@
{
"keyboard_name": "",
"url": "",
"maintainer": "qmk",
"bootloader": "",
"width": 20,
"height": 8,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"F1", "x":1, "y":0.9},
{"label":"F2", "x":2, "y":0.3},
{"label":"F3", "x":3, "y":0},
{"label":"F4", "x":4, "y":0.4},
{"label":"F5", "x":5, "y":0.5},
{"label":"F6", "x":6, "y":0.5},
{"label":"F7", "x":13, "y":0.5},
{"label":"F8", "x":14, "y":0.5},
{"label":"F9", "x":15, "y":0.4},
{"label":"F10", "x":16, "y":0},
{"label":"F11", "x":17, "y":0.3},
{"label":"F12", "x":18, "y":0.9},
{"label":"Esc", "x":0, "y":1.9},
{"label":"\"", "x":1, "y":1.9},
{"label":"\u00ab", "x":2, "y":1.3},
{"label":"\u00bb", "x":3, "y":1},
{"label":"(", "x":4, "y":1.4},
{"label":")", "x":5, "y":1.5},
{"label":"\u00a8", "x":6, "y":1.5},
{"label":"^", "x":13, "y":1.5},
{"label":"@", "x":14, "y":1.5},
{"label":"+", "x":15, "y":1.4},
{"label":"-", "x":16, "y":1},
{"label":"/", "x":17, "y":1.3},
{"label":"*", "x":18, "y":1.9},
{"label":"Backspace", "x":19, "y":1.9},
{"label":"Tab", "x":0, "y":2.9},
{"label":"B", "x":1, "y":2.9},
{"label":"É", "x":2, "y":2.3},
{"label":"P", "x":3, "y":2},
{"label":"O", "x":4, "y":2.4},
{"label":"È", "x":5, "y":2.5},
{"label":"_", "x":6, "y":2.5},
{"label":"=", "x":13, "y":2.5},
{"label":"K", "x":14, "y":2.5},
{"label":"V", "x":15, "y":2.4},
{"label":"D", "x":16, "y":2},
{"label":"L", "x":17, "y":2.3},
{"label":"J", "x":18, "y":2.9},
{"label":"Enter", "x":19, "y":2.9},
{"label":"`", "x":0, "y":3.9},
{"label":"A", "x":1, "y":3.9},
{"label":"U", "x":2, "y":3.3},
{"label":"E", "x":3, "y":3},
{"label":"I", "x":4, "y":3.4},
{"label":"F", "x":5, "y":3.5},
{"label":";", "x":6, "y":3.5},
{"label":"!", "x":13, "y":3.5},
{"label":"C", "x":14, "y":3.5},
{"label":"T", "x":15, "y":3.4},
{"label":"S", "x":16, "y":3},
{"label":"R", "x":17, "y":3.3},
{"label":"N", "x":18, "y":3.9},
{"label":"'", "x":19, "y":3.9},
{"label":"Shift", "x":0, "y":4.9},
{"label":"Z", "x":1, "y":4.9},
{"label":"À", "x":2, "y":4.3},
{"label":"Y", "x":3, "y":4},
{"label":"X", "x":4, "y":4.4},
{"label":"]", "x":5, "y":4.5},
{"label":"Shift/Space", "x":6.5, "y":5},
{"label":"Ctrl/Backspace", "x":7.5, "y":5},
{"label":"Layer 2/Insert", "x":8.5, "y":5},
{"label":"Layer 2 Lock", "x":10.5, "y":5},
{"label":"Ctrl/Delete", "x":11.5, "y":5},
{"label":"Shift/Space", "x":12.5, "y":5},
{"label":"M", "x":14, "y":4.5},
{"label":"G", "x":15, "y":4.4},
{"label":"Up", "x":16, "y":4},
{"label":"H", "x":17, "y":4.3},
{"label":"Q", "x":18, "y":4.9},
{"label":"Shift", "x":19, "y":4.9},
{"label":"Ctrl", "x":0, "y":5.9},
{"label":"GUI", "x":1, "y":5.9},
{"label":"Keypad /", "x":2, "y":5.3},
{"label":".", "x":3, "y":5},
{"label":",", "x":4, "y":5.4},
{"label":"Space", "x":5, "y":5.5},
{"label":"Layer 1/Space", "x":6.5, "y":6},
{"label":"Alt", "x":7.5, "y":6},
{"label":"Caps Lock", "x":11.5, "y":6},
{"label":"Layer 1/Space", "x":12.5, "y":6},
{"label":"Space", "x":14, "y":5.5},
{"label":"Left", "x":15, "y":5.4},
{"label":"Down", "x":16, "y":5},
{"label":"Right", "x":17, "y":5.3},
{"label":":", "x":18, "y":5.9},
{"label":"Ctrl", "x":19, "y":5.9},
{"label":"Left Pedal 1", "x":2.25, "y":7.5, "w":1.5, "h":2},
{"label":"Left Pedal 2", "x":3.75, "y":7.5, "w":1.5, "h":2},
{"label":"Left Pedal 3", "x":5.25, "y":7.5, "w":1.5, "h":2},
{"label":"Right Pedal 1", "x":13.25, "y":7.5, "w":1.5, "h":2},
{"label":"Right Pedal 2", "x":14.75, "y":7.5, "w":1.5, "h":2},
{"label":"Right Pedal 3", "x":16.25, "y":7.5, "w":1.5, "h":2}
]
}
}
}

@ -1,8 +1,6 @@
#include "frenchdev.h" #include QMK_KEYBOARD_H
#include "mousekey.h" #include "mousekey.h"
#include "action.h" #include "keymap_bepo.h"
#include "action_layer.h"
#include "keymap_extras/keymap_bepo.h"
// Each layer gets a name for readability, which is then used in the keymap matrix below. // 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] = {
* `-------------/ \-------------/ .. \-------------/ \-------------/ * * `-------------/ \-------------/ .. \-------------/ \-------------/ *
*M(M_LP) *M(M_LP)
*/ */
[_BASE] = KEYMAP( [_BASE] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
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, \ 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, \
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, \ 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] = {
* `-------------/ \-------------/ .. \-------------/ \-------------/ * * `-------------/ \-------------/ .. \-------------/ \-------------/ *
* *
*/ */
[_SYMBOLS] = KEYMAP( [_SYMBOLS] = LAYOUT(
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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
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, \ 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, \
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, \ 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] = {
* `-------------/ \-------------/ .. \-------------/ \-------------/ * * `-------------/ \-------------/ .. \-------------/ \-------------/ *
* *
*/ */
[_MEDIA] = KEYMAP( [_MEDIA] = LAYOUT(
RESET, KC_SLCK, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_CALC, KC_NLCK, \ RESET, KC_SLCK, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_CALC, KC_NLCK, \
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, \ 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, \
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, \ 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] = {
* *
*/ */
[_TRNS] = KEYMAP( [_TRNS] = LAYOUT(
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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \

@ -6,29 +6,29 @@ Concept based on
with the added possibility to connect up to 6 external switches like pedals, with the added possibility to connect up to 6 external switches like pedals,
and somewhat like the katy, not all keys are on the same level for easier reach. and somewhat like the katy, not all keys are on the same level for easier reach.
###Photos ### Photos
- [default layout](http://i.imgur.com/r2Nvr4p.png) - [default layout](http://i.imgur.com/r2Nvr4p.png)
- [editable layout on keyboard layout editor](http://www.keyboard-layout-editor.com/#/gists/4480e3ab8026eb7c710a7e22203ef4aa) (keys placement is NOT precise on this) - [editable layout on keyboard layout editor](http://www.keyboard-layout-editor.com/#/gists/4480e3ab8026eb7c710a7e22203ef4aa) (keys placement is NOT precise on this)
- [the thing when finished](http://imgur.com/a/6FY8v) - [the thing when finished](http://imgur.com/a/6FY8v)
- [concept and cardboard mockup](http://imgur.com/a/R0vvs) - [concept and cardboard mockup](http://imgur.com/a/R0vvs)
##Build instructions ## Build instructions
docker run --rm -e keymap=default -e keyboard=frenchdev --rm -v D:/Repositories/qmk:/qmk:rw edasque/qmk_firmware docker run --rm -e keymap=default -e keyboard=frenchdev --rm -v D:/Repositories/qmk:/qmk:rw edasque/qmk_firmware
##Laser-cuttable file ## Laser-cuttable file
There is intentionnaly no hole for the TRRS connector, you are supposed to use a drill for it. There is intentionnaly no hole for the TRRS connector, you are supposed to use a drill for it.
This way if you don't want to use the pedals you don't have a useless hole. Plus it's cleaner. This way if you don't want to use the pedals you don't have a useless hole. Plus it's cleaner.
http://qmk.fm/frenchdev/frenchdev_v1_lasercut_template.svg http://qmk.fm/frenchdev/frenchdev_v1_lasercut_template.svg
##Side stickers ## Side stickers
You can find my original file here : http://qmk.fm/frenchdev/example_printable_stickers.svg You can find my original file here : http://qmk.fm/frenchdev/example_printable_stickers.svg
I used it when training but now I use blanks and the layout is different. I used it when training but now I use blanks and the layout is different.
I still uploaded it because I think it can be a good jumpstart for any temporary stickers on the I still uploaded it because I think it can be a good jumpstart for any temporary stickers on the
side of keycaps. side of keycaps.
##List of parts ## List of parts
- I2C mcp23018 - I2C mcp23018
- [teensy 2](https://www.pjrc.com/store/teensy.html) - [teensy 2](https://www.pjrc.com/store/teensy.html)
- 3 LED, 5mm tall with flat head - 3 LED, 5mm tall with flat head
@ -43,13 +43,13 @@ side of keycaps.
- 20 R2 keys - 20 R2 keys
- 22 R1 keys - 22 R1 keys
if you fancy adding pedals : If you fancy adding pedals :
[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 [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
If you (or your coworkers) find them too loud you can replace the switch inside them. If you (or your coworkers) find them too loud you can replace the switch inside them.
For once we don't really care about what's inside :) For once we don't really care about what's inside :)
##Various indications ## Various indications
The PHYSICAL rows and columns are connected as such : The PHYSICAL rows and columns are connected as such :
@ -96,7 +96,7 @@ and on left hand (main) :
We use pull up resistor for SCL and VDA, see https://github.com/ErgoDox-EZ/docs/blob/master/ErgoDox%20EZ%20Schematic.pdf for example We use pull up resistor for SCL and VDA, see https://github.com/ErgoDox-EZ/docs/blob/master/ErgoDox%20EZ%20Schematic.pdf for example
the connector is a standard TRRS (jack with audio + mic) The connector is a standard TRRS (jack with audio + mic)
Diode direction is row to column Diode direction is row to column

Loading…
Cancel
Save