aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/ferris/0_1/0_1.c (renamed from keyboards/handwired/ferris/ferris.c)2
-rw-r--r--keyboards/ferris/0_1/0_1.h (renamed from keyboards/handwired/ferris/ferris.h)0
-rw-r--r--keyboards/ferris/0_1/config.h (renamed from keyboards/handwired/ferris/config.h)0
-rw-r--r--keyboards/ferris/0_1/matrix.c (renamed from keyboards/handwired/ferris/matrix.c)0
-rw-r--r--keyboards/ferris/0_1/rules.mk (renamed from keyboards/handwired/ferris/rules.mk)0
-rw-r--r--keyboards/ferris/info.json (renamed from keyboards/handwired/ferris/info.json)0
-rw-r--r--keyboards/ferris/keymaps/default/config.h (renamed from keyboards/handwired/ferris/keymaps/default/config.h)0
-rw-r--r--keyboards/ferris/keymaps/default/keymap.json (renamed from keyboards/handwired/ferris/keymaps/default/keymap.json)0
-rw-r--r--keyboards/ferris/keymaps/default/readme.md (renamed from keyboards/handwired/ferris/keymaps/default/readme.md)0
-rwxr-xr-xkeyboards/ferris/keymaps/json2crab.py (renamed from keyboards/handwired/ferris/keymaps/json2crab.py)0
-rw-r--r--keyboards/ferris/keymaps/pierrec83/config.h39
-rw-r--r--keyboards/ferris/keymaps/pierrec83/keymap.json118
-rw-r--r--keyboards/ferris/keymaps/pierrec83/readme.md43
-rw-r--r--keyboards/ferris/readme.md (renamed from keyboards/handwired/ferris/readme.md)11
-rw-r--r--keyboards/ferris/sweep/config.h74
-rw-r--r--keyboards/ferris/sweep/rules.mk24
-rw-r--r--keyboards/ferris/sweep/sweep.c16
-rw-r--r--keyboards/ferris/sweep/sweep.h47
18 files changed, 369 insertions, 5 deletions
diff --git a/keyboards/handwired/ferris/ferris.c b/keyboards/ferris/0_1/0_1.c
index 0e132fa98..dbdb0b4bd 100644
--- a/keyboards/handwired/ferris/ferris.c
+++ b/keyboards/ferris/0_1/0_1.c
@@ -14,4 +14,4 @@ GNU General Public License for more details.
14You should have received a copy of the GNU General Public License 14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17#include "ferris.h" 17#include "0_1.h"
diff --git a/keyboards/handwired/ferris/ferris.h b/keyboards/ferris/0_1/0_1.h
index 4602637ca..4602637ca 100644
--- a/keyboards/handwired/ferris/ferris.h
+++ b/keyboards/ferris/0_1/0_1.h
diff --git a/keyboards/handwired/ferris/config.h b/keyboards/ferris/0_1/config.h
index 33494d927..33494d927 100644
--- a/keyboards/handwired/ferris/config.h
+++ b/keyboards/ferris/0_1/config.h
diff --git a/keyboards/handwired/ferris/matrix.c b/keyboards/ferris/0_1/matrix.c
index e13c35d35..e13c35d35 100644
--- a/keyboards/handwired/ferris/matrix.c
+++ b/keyboards/ferris/0_1/matrix.c
diff --git a/keyboards/handwired/ferris/rules.mk b/keyboards/ferris/0_1/rules.mk
index 8645dbba0..8645dbba0 100644
--- a/keyboards/handwired/ferris/rules.mk
+++ b/keyboards/ferris/0_1/rules.mk
diff --git a/keyboards/handwired/ferris/info.json b/keyboards/ferris/info.json
index ffffb58ec..ffffb58ec 100644
--- a/keyboards/handwired/ferris/info.json
+++ b/keyboards/ferris/info.json
diff --git a/keyboards/handwired/ferris/keymaps/default/config.h b/keyboards/ferris/keymaps/default/config.h
index cf0fb7478..cf0fb7478 100644
--- a/keyboards/handwired/ferris/keymaps/default/config.h
+++ b/keyboards/ferris/keymaps/default/config.h
diff --git a/keyboards/handwired/ferris/keymaps/default/keymap.json b/keyboards/ferris/keymaps/default/keymap.json
index 7f7d614e2..7f7d614e2 100644
--- a/keyboards/handwired/ferris/keymaps/default/keymap.json
+++ b/keyboards/ferris/keymaps/default/keymap.json
diff --git a/keyboards/handwired/ferris/keymaps/default/readme.md b/keyboards/ferris/keymaps/default/readme.md
index 252f886f5..252f886f5 100644
--- a/keyboards/handwired/ferris/keymaps/default/readme.md
+++ b/keyboards/ferris/keymaps/default/readme.md
diff --git a/keyboards/handwired/ferris/keymaps/json2crab.py b/keyboards/ferris/keymaps/json2crab.py
index a32429fae..a32429fae 100755
--- a/keyboards/handwired/ferris/keymaps/json2crab.py
+++ b/keyboards/ferris/keymaps/json2crab.py
diff --git a/keyboards/ferris/keymaps/pierrec83/config.h b/keyboards/ferris/keymaps/pierrec83/config.h
new file mode 100644
index 000000000..cf0fb7478
--- /dev/null
+++ b/keyboards/ferris/keymaps/pierrec83/config.h
@@ -0,0 +1,39 @@
1/*
2Copyright 2020 Pierre Chevalier <pierrechevalier83@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19// Set the mouse settings to a comfortable speed/accuracy trade-off,
20// assuming a screen refresh rate of 60 Htz or higher
21// The default is 50. This makes the mouse ~3 times faster and more accurate
22#define MOUSEKEY_INTERVAL 16
23// The default is 20. Since we made the mouse about 3 times faster with the previous setting,
24// give it more time to accelerate to max speed to retain precise control over short distances.
25#define MOUSEKEY_TIME_TO_MAX 40
26// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive
27#define MOUSEKEY_DELAY 100
28// It makes sense to use the same delay for the mouseweel
29#define MOUSEKEY_WHEEL_DELAY 100
30// The default is 100
31#define MOUSEKEY_WHEEL_INTERVAL 50
32// The default is 40
33#define MOUSEKEY_WHEEL_TIME_TO_MAX 100
34
35// Pick good defaults for enabling homerow modifiers
36#define TAPPING_TERM 200
37#define PERMISSIVE_HOLD
38#define IGNORE_MOD_TAP_INTERRUPT
39#define TAPPING_FORCE_HOLD
diff --git a/keyboards/ferris/keymaps/pierrec83/keymap.json b/keyboards/ferris/keymaps/pierrec83/keymap.json
new file mode 100644
index 000000000..2372e7e37
--- /dev/null
+++ b/keyboards/ferris/keymaps/pierrec83/keymap.json
@@ -0,0 +1,118 @@
1{ "version": 1,
2 "notes": "My awesome keymap",
3 "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
4 "keyboard": "handwired/ferris",
5 "keymap": "pierrec83",
6 "layout": "LAYOUT",
7 "layers": [
8 ["KC_Q" , "KC_D" , "KC_R" , "KC_W" , "KC_B",
9 "KC_J" , "KC_F" , "KC_U" , "KC_P" , "KC_SCLN",
10
11 "LSFT_T(KC_A)" , "LT(6,KC_S)" , "LT(2,KC_H)" , "LT(4,KC_T)" , "KC_G",
12 "KC_Y" , "LT(5,KC_N)" , "LT(3,KC_E)" , "LT(7,KC_O)" , "LSFT_T(KC_I)",
13
14 "KC_Z" , "LCTL_T(KC_X)" , "LALT_T(KC_M)" , "KC_C" , "KC_V",
15 "KC_K" , "KC_L" , "LALT_T(KC_COMM)", "LCTL_T(KC_DOT)" , "KC_SLSH",
16
17 "LCA(KC_UP)" , "KC_BSPC",
18 "LT(8,KC_SPC)" , "LCA(KC_DOWN)"
19 ],
20 ["KC_Q" , "KC_C" , "KC_M" , "KC_Y" , "KC_COLN",
21 "KC_Z" , "KC_W" , "KC_COMM" , "KC_U" , "KC_J",
22
23 "LSFT_T(KC_R)" , "LT(6,KC_S)" , "LT(2,KC_T)" , "LT(4,KC_H)" , "KC_X",
24 "KC_TRNS" , "LT(5,KC_N)" , "LT(3,KC_A)" , "LT(7,KC_I)" , "LSFT_T(KC_O)",
25
26 "KC_B" , "LCTL_T(KC_F)" , "LALT_T(KC_G)" , "KC_D" , "KC_V",
27 "KC_ESC" , "KC_L" , "LALT_T(KC_DOT)" , "LCTL_T(KC_BSPC)" , "KC_K",
28
29 "LCA(KC_UP)" , "KC_E",
30 "LT(8,KC_SPC)" , "LCA(KC_DOWN)"
31 ],
32 ["KC_TRNS" , "ANY(LCTL(LSFT(KC_C)))", "KC_TRNS" , "ANY(LCTL(LSFT(KC_V)))", "KC_TRNS",
33 "KC_TRNS" , "KC_BTN1" , "KC_WH_U" , "KC_BTN2" , "KC_TRNS",
34
35 "KC_TRNS" , "KC_BTN2" , "KC_NO" , "KC_BTN1" , "KC_TRNS",
36 "KC_TRNS" , "KC_MS_L" , "KC_MS_D" , "KC_MS_U" , "KC_MS_R",
37
38 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
39 "KC_TRNS" , "KC_WH_L" , "KC_WH_D" , "KC_WH_R" , "KC_TRNS",
40
41 "ANY(LCTL(LSFT(KC_TAB)))", "KC_TRNS",
42 "KC_TRNS" , "LCTL(KC_TAB)"
43 ],
44 ["KC_TRNS" , "KC_TRNS" , "KC_PGUP" , "KC_TRNS" , "KC_TRNS",
45 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
46
47 "KC_LEFT" , "KC_UP" , "KC_DOWN" , "KC_RGHT" , "KC_TRNS",
48 "KC_TRNS" , "KC_LGUI" , "KC_NO" , "LCTL(KC_LALT)" , "LCA(KC_LSFT)",
49
50 "KC_TRNS" , "KC_HOME" , "KC_PGDN" , "KC_END" , "KC_TRNS",
51 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
52
53 "LGUI(KC_LEFT)" , "KC_TRNS",
54 "KC_TRNS" , "LGUI(KC_RGHT)"
55 ],
56 ["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
57 "KC_TRNS" , "KC_UNDS" , "KC_PIPE" , "KC_QUOT" , "KC_TRNS",
58
59 "KC_CIRC" , "KC_ASTR" , "KC_AMPR" , "KC_NO" , "KC_TRNS",
60 "KC_HASH" , "KC_TILD" , "KC_SLSH" , "KC_DQUO" , "KC_DLR",
61
62 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
63 "KC_TRNS" , "KC_MINS" , "KC_BSLS" , "KC_GRV" , "KC_TRNS",
64
65 "KC_BRID" , "KC_TRNS",
66 "KC_TRNS" , "KC_BRIU"
67 ],
68 ["KC_TRNS" , "KC_COLN" , "KC_LT" , "KC_GT" , "KC_SCLN",
69 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
70
71 "KC_LCBR" , "KC_RCBR" , "KC_LPRN" , "KC_RPRN" , "KC_AT",
72 "KC_TRNS" , "KC_NO" , "KC_EQL" , "KC_PLUS" , "KC_PERC",
73
74 "KC_TRNS" , "KC_EXLM" , "KC_LBRC" , "KC_RBRC" , "KC_TRNS",
75 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
76
77 "KC_VOLD" , "KC_TRNS",
78 "KC_TRNS" , "KC_VOLU"
79 ],
80 ["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
81 "KC_TRNS" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10",
82
83 "KC_TRNS" , "KC_TRNS" , "LCTL(KC_LALT)" , "KC_TRNS" , "KC_TRNS",
84 "KC_TRNS" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_F11",
85
86 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
87 "KC_TRNS" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F12",
88
89 "KC_TRNS" , "KC_TRNS",
90 "KC_TRNS" , "KC_TRNS"
91 ],
92 ["KC_PSLS" , "KC_7" , "KC_8" , "KC_9" , "KC_PPLS",
93 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
94
95 "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_PMNS",
96 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_NO" , "KC_TRNS",
97
98 "KC_PAST" , "KC_4" , "KC_5" , "KC_6" , "KC_PEQL",
99 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
100
101 "KC_TRNS" , "KC_TRNS",
102 "KC_TRNS" , "KC_TRNS"
103 ],
104 ["KC_TRNS" , "KC_ESC" , "KC_COLN" , "KC_TRNS" , "KC_TRNS",
105 "DF(2)" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_DEL",
106
107 "KC_TRNS" , "KC_PERC" , "KC_SLSH" , "KC_ENT" , "KC_EXLM",
108 "DF(1)" , "KC_LGUI" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
109
110 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
111 "DF(0)" , "KC_TRNS" , "RALT_T(KC_COMM)", "RCTL_T(KC_DOT)" , "RESET",
112
113 "KC_TRNS" , "KC_TAB",
114 "KC_NO" , "KC_TRNS"
115 ]
116 ],
117 "author": "@pierrec83"
118}
diff --git a/keyboards/ferris/keymaps/pierrec83/readme.md b/keyboards/ferris/keymaps/pierrec83/readme.md
new file mode 100644
index 000000000..d96a3bb81
--- /dev/null
+++ b/keyboards/ferris/keymaps/pierrec83/readme.md
@@ -0,0 +1,43 @@
1@pierrec83's personal keymap for the Ferris keyboard
2====================================================
3
4This keymap shares many commonalities with the default keymap.
5See its readme for a write-up on many of the decisions, including
6how to generate the formatted json file with json2crab.py and the
7general philosophy for each layer.
8
9Because this is my own keymap, I didn't refrain from using shortcuts
10that make sense for me and may not make sense for most.
11
12Key differences from the default keymap include:
13
14Alpha layers:
15-------------
16
17Because I only learned to touch type when I switched from qwerty to workman,
18my base layer is workman and my layout doesn't contain a qwerty layer.
19
20My layer 1 hosts a variant of RSTHD that I am developing, inspired from workman's
21focus on reducing side-index-motion. It should become my end game keymap eventually,
22but I still haven't found the time to learn it to a working proficiency.
23
24Secondary thumbs:
25-----------------
26
27Instead of a placeholder 0 and 1, the secondary thumbs on my keymap
28perform the following actions:
29* Navigate to previous and next workspace the base layer
30* Navigate to previous and next tab on the mouse layer
31* Volume control on layer
32* Brightness control on layer
33
34Mouse layer:
35------------
36
37* Copy/Paste shortcuts on the left hand, on the upper row.
38
39Always available layer:
40-----------------------
41
42* Esc and column are placed differently to allow easy vim navigation with the positions of w and q in the workman base layer
43* Enable permanent switch to the RSTHD layer in addition to the mouse layer
diff --git a/keyboards/handwired/ferris/readme.md b/keyboards/ferris/readme.md
index 23aeca874..74a08a38f 100644
--- a/keyboards/handwired/ferris/readme.md
+++ b/keyboards/ferris/readme.md
@@ -6,11 +6,14 @@
6A split 34 keys column staggered keyboard named and decorated after the rustlang mascott. All PCB files and some thoughts on the design are available on the [project's github page](https://github.com/pierrechevalier83/ferris) 6A split 34 keys column staggered keyboard named and decorated after the rustlang mascott. All PCB files and some thoughts on the design are available on the [project's github page](https://github.com/pierrechevalier83/ferris)
7 7
8* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) 8* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
9* Hardware Supported: Ferris PCB 9* Hardware Supported:
10* Hardware Availability: Still in prototype stage 10 * Ferris 0.1 (With atmega32u4 chip. Comes in 4 variants: base, low, high and compact)
11 * Ferris sweep (With pro-micro. Comes in a couple of PCB edge cuts shapes, but with identical pinout)
12* Hardware Availability: Pierre Chevalier has been selling keyboard kits (see the #ferris channel in the 40% discord chat). Wider availability is on the horizon.
11 13
12Make example for this keyboard (after setting up your build environment): 14Make examples for this keyboard (after setting up your build environment):
13 15
14 make handwired/ferris:default 16 make ferris/0_1:default
17 make ferris/sweep:default:avrdude-split-right
15 18
16See 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). 19See 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).
diff --git a/keyboards/ferris/sweep/config.h b/keyboards/ferris/sweep/config.h
new file mode 100644
index 000000000..ad960610d
--- /dev/null
+++ b/keyboards/ferris/sweep/config.h
@@ -0,0 +1,74 @@
1/* Copyright 2018-2020 ENDO Katsuhiro <ka2hiro@curlybracket.co.jp> David Philip Barr <@davidphilipbarr> Pierre Chevalier <pierrechevalier83@gmail.com>
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0xC2AB
23#define PRODUCT_ID 0x3939
24#define DEVICE_VER 0x0001
25#define MANUFACTURER DPB
26#define PRODUCT Ferris sweep
27
28/* key matrix size */
29#define MATRIX_ROWS 8
30#define MATRIX_COLS 5
31
32/*
33 * Keyboard Matrix Assignments
34 *
35 * Change this to how you wired your keyboard
36 * COLS: AVR pins used for columns, left to right
37 * ROWS: AVR pins used for rows, top to bottom
38 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
39 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
40 * NO_DIODE = switches are directly connected to AVR pins
41 *
42*/
43#define DIRECT_PINS { \
44 { E6, F7, F6, F5, F4 }, \
45 { B1, B3, B2, B6, D3 }, \
46 { D1, D0, D4, C6, D7 }, \
47 { B4, B5, NO_PIN, NO_PIN, NO_PIN } \
48}
49
50#define DIRECT_PINS_RIGHT { \
51 { F4, F5, F6, F7, E6 }, \
52 { D3,B6,B2,B3,B1 }, \
53 { D7,C6,D4,D0,D1}, \
54 { B5, B4, NO_PIN, NO_PIN, NO_PIN } \
55}
56
57
58
59#define UNUSED_PINS
60
61/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
62#define DEBOUNCE 5
63
64/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
65#define LOCKING_SUPPORT_ENABLE
66/* Locking resynchronize hack */
67#define LOCKING_RESYNC_ENABLE
68
69/* Serial settings */
70#define USE_SERIAL
71/* serial.c configuration for split keyboard */
72#define SOFT_SERIAL_PIN D2
73
74#define EE_HANDS
diff --git a/keyboards/ferris/sweep/rules.mk b/keyboards/ferris/sweep/rules.mk
new file mode 100644
index 000000000..ce4d52156
--- /dev/null
+++ b/keyboards/ferris/sweep/rules.mk
@@ -0,0 +1,24 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21UNICODE_ENABLE = yes # Unicode
22BLUETOOTH_ENABLE = no # Enable Bluetooth
23AUDIO_ENABLE = no # Audio output
24SPLIT_KEYBOARD = yes # Use shared split_common code
diff --git a/keyboards/ferris/sweep/sweep.c b/keyboards/ferris/sweep/sweep.c
new file mode 100644
index 000000000..5b41bad84
--- /dev/null
+++ b/keyboards/ferris/sweep/sweep.c
@@ -0,0 +1,16 @@
1/* Copyright 2018-2020 ENDO Katsuhiro <ka2hiro@curlybracket.co.jp> David Philip Barr <@davidphilipbarr> Pierre Chevalier <pierrechevalier83@gmail.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "sweep.h"
diff --git a/keyboards/ferris/sweep/sweep.h b/keyboards/ferris/sweep/sweep.h
new file mode 100644
index 000000000..e8d66ebc6
--- /dev/null
+++ b/keyboards/ferris/sweep/sweep.h
@@ -0,0 +1,47 @@
1/* Copyright 2018-2020 ENDO Katsuhiro <ka2hiro@curlybracket.co.jp> David Philip Barr <@davidphilipbarr> Pierre Chevalier <pierrechevalier83@gmail.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "quantum.h"
18
19/* This a shortcut to help you visually see your layout.
20 *
21 * The first section contains all of the arguments representing the physical
22 * layout of the board and position of the keys.
23 *
24 * The second converts the arguments into a two-dimensional array which
25 * represents the switch matrix.
26 */
27
28// readability
29#define ___ KC_NO
30
31#define LAYOUT( \
32 L01, L02, L03, L04, L05, R01, R02, R03, R04, R05, \
33 L06, L07, L08, L09, L10, R06, R07, R08, R09, R10, \
34 L11, L12, L13, L14, L15, R11, R12, R13, R14, R15, \
35 L16, L17, R16, R17 \
36 ) \
37 { \
38 { L01, L02, L03, L04, L05 }, \
39 { L06, L07, L08, L09, L10 }, \
40 { L11, L12, L13, L14, L15 }, \
41 { L16, L17, ___, ___ , ___}, \
42 { R01, R02, R03, R04, R05 }, \
43 { R06, R07, R08, R09, R10 }, \
44 { R11, R12, R13, R14, R15 }, \
45 { R16, R17, ___, ___, ___ } \
46 }
47