keychron_qmk_firmware/keyboards/handwired/frenchdev
James Young 4b453dca92
Remove MIDI Configuration boilerplate (#11151)
* remove keyboard-level instances of `MIDI_ENABLE = no`

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e  '/^[ #]*MIDI_ENABLE[ \t]*=[ \t]*no/d' {} +
```

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* fix case-sensitivity issues on MIDI_ENABLE

Change instances of `MIDI_ENABLE = YES` to `MIDI_ENABLE = yes`.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE[ \t]*=[ \t]*[Yy][Ee][Ss];MIDI_ENABLE = yes;g' {} +
```

* replace `# MIDI controls` with `# MIDI support`

Replace `# MIDI controls` with `# MIDI support` in keyboard-level `rules.mk` files.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*MIDI[ \t]*\(controls\|support\).*;# MIDI support;g' {} +
```

* align inline comments

Aligns the inline comments to the length used by the QMK AVR rules.mk template.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE *= *yes.*;MIDI_ENABLE = yes           # MIDI support;g'  {} +
```

* remove commented instances of `MIDI_ENABLE` from keyboard `rules.mk` files

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#\([ \t]*MIDI_ENABLE\) = yes; \1 = no ;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;^\([ \t]*\)\(MIDI_ENABLE = no\);\2\1;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]\+MIDI_ENABLE *= *no/d' {} +
```

* remove MIDI configuration boilerplate from keyboard config.h files

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-16 06:51:13 +10:00
..
keymaps/default keymap_extras: Remove deprecated defines (#12949) 2021-07-06 09:05:11 +10:00
config.h
frenchdev.c
frenchdev.h
info.json
matrix.c
readme.md
rules.mk Remove MIDI Configuration boilerplate (#11151) 2021-08-16 06:51:13 +10:00

Frenchdev : My take on a splitted keyboard for dev and french language

Concept based on

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.

Photos

Build instructions

docker run --rm -e keymap=default -e keyboard=frenchdev --rm -v D:/Repositories/qmk:/qmk:rw edasque/qmk_firmware

Laser-cuttable file

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.

Side stickers

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 still uploaded it because I think it can be a good jumpstart for any temporary stickers on the side of keycaps.

List of parts

  • I2C mcp23018
  • teensy 2
  • 3 LED, 5mm tall with flat head
  • 3 330 ohm resistor
  • 2 470 ohm resistor
  • 2 TRRS connectors
  • 1 micro usb breakout board
  • 88 cherry/gateron switchs
  • 94 4148 diodes
  • 34 R4 keys
  • 14 R3 keys
  • 20 R2 keys
  • 22 R1 keys

If you fancy adding pedals : these are good enough and cheap. 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. For once we don't really care about what's inside :)

Various indications

The PHYSICAL rows and columns are connected as such :

on right hand (slave) :

          I2C mcp23018
       .-------   --------.
  GND -| 1 VSS \_/  NC 28 |
       | 2 NC       A7 27 |- C15
   R5 -| 3 B0       A6 26 |- C14
   R4 -| 4 B1       A5 25 |- C13
   R3 -| 5 B2       A4 24 |- C12
   R2 -| 6 B3       A3 23 |- C11
   R1 -| 7 B4       A2 22 |- C10
   R0 -| 8 B5       A1 21 |- C9
       | 9 B6       A0 20 |- C8
       | 10 B7    INTA 19 |
  VCC -| 11 VDD   INTB 18 |
  SCL -| 12 SCL     NC 17 |
  SDA -| 13 SDA    RST 16 |- VCC
       | 14 NC    ADDR 15 |- GND
       `------------------'

and on left hand (main) :

              TEENSY
       .------------------.
       | GND          VCC |
   C7 -| B0            F0 |- R5
   C6 -| B1            F1 |- R4
   C5 -| B2            F4 |- R3
   C4 -| B3            F5 |- R2
 LEDC -| B7            F6 |- R1
  SCL -| D0            F7 |- R0
  SDA -| D1            B6 |- LEDB
   C3 -| D2            B5 |- LEDA
   C2 -| D3            B4 |
   C1 -| C6            D7 |
   C0 -| C7            D6 |- GND
       | D5            D4 |
       | VCC          RST |
       | E6           GND |
       `------------------'

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)

Diode direction is row to column