qmk_firmware/keyboards/handwired/frenchdev
James Young a03aa301de
Remove Full Bootmagic (#13846)
* disambiguate Bootmagic rules in keymaps

The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.

This commit edits the files to specify that full Bootmagic is intended.

* remove BOOTMAGIC_ENABLE=full setting

* unify commented BOOTMAGIC_ENABLE rules in keyboards

Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no       # Virtual DIP switch configuration;g' {} +
```

* remove commented Bootmagic rules from keymap/user level

Command:

```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```

* update keyboard BOOTMAGIC_ENABLE rule formatting

Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```

* update keyboards' BOOTMAGIC_ENABLE settings

Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```

* update keymap/user BOOTMAGIC_ENABLE settings

Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```

* remove and replace inline comments in keyboards and keymap/user files

Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1     # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1      # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1       # Enable Bootmagic Lite;g' '{}' +
```

* rename improperly named makefiles

Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.

This commit corrects the filenames of the affected files.

* update renamed file with new rule formatting

* update QMK's template files

Updates QMK's `rules.mk` templates to use the new inline comment.

* update QMK Docs

- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes

* rules.mk patch for coarse/ixora and coarse/vinta
2021-08-06 23:59:56 -07: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 Full Bootmagic (#13846) 2021-08-06 23:59:56 -07: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