diff options
| -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-x | keyboards/ferris/keymaps/json2crab.py (renamed from keyboards/handwired/ferris/keymaps/json2crab.py) | 0 | ||||
| -rw-r--r-- | keyboards/ferris/keymaps/pierrec83/config.h | 39 | ||||
| -rw-r--r-- | keyboards/ferris/keymaps/pierrec83/keymap.json | 118 | ||||
| -rw-r--r-- | keyboards/ferris/keymaps/pierrec83/readme.md | 43 | ||||
| -rw-r--r-- | keyboards/ferris/readme.md (renamed from keyboards/handwired/ferris/readme.md) | 11 | ||||
| -rw-r--r-- | keyboards/ferris/sweep/config.h | 74 | ||||
| -rw-r--r-- | keyboards/ferris/sweep/rules.mk | 24 | ||||
| -rw-r--r-- | keyboards/ferris/sweep/sweep.c | 16 | ||||
| -rw-r--r-- | keyboards/ferris/sweep/sweep.h | 47 |
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. | |||
| 14 | You should have received a copy of the GNU General Public License | 14 | You should have received a copy of the GNU General Public License |
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | 15 | along 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 | /* | ||
| 2 | Copyright 2020 Pierre Chevalier <pierrechevalier83@gmail.com> | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along 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 | |||
| 4 | This keymap shares many commonalities with the default keymap. | ||
| 5 | See its readme for a write-up on many of the decisions, including | ||
| 6 | how to generate the formatted json file with json2crab.py and the | ||
| 7 | general philosophy for each layer. | ||
| 8 | |||
| 9 | Because this is my own keymap, I didn't refrain from using shortcuts | ||
| 10 | that make sense for me and may not make sense for most. | ||
| 11 | |||
| 12 | Key differences from the default keymap include: | ||
| 13 | |||
| 14 | Alpha layers: | ||
| 15 | ------------- | ||
| 16 | |||
| 17 | Because I only learned to touch type when I switched from qwerty to workman, | ||
| 18 | my base layer is workman and my layout doesn't contain a qwerty layer. | ||
| 19 | |||
| 20 | My layer 1 hosts a variant of RSTHD that I am developing, inspired from workman's | ||
| 21 | focus on reducing side-index-motion. It should become my end game keymap eventually, | ||
| 22 | but I still haven't found the time to learn it to a working proficiency. | ||
| 23 | |||
| 24 | Secondary thumbs: | ||
| 25 | ----------------- | ||
| 26 | |||
| 27 | Instead of a placeholder 0 and 1, the secondary thumbs on my keymap | ||
| 28 | perform 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 | |||
| 34 | Mouse layer: | ||
| 35 | ------------ | ||
| 36 | |||
| 37 | * Copy/Paste shortcuts on the left hand, on the upper row. | ||
| 38 | |||
| 39 | Always 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 @@ | |||
| 6 | A 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) | 6 | A 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 | ||
| 12 | Make example for this keyboard (after setting up your build environment): | 14 | Make 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 | ||
| 16 | See 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). | 19 | See 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 | |||
| 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 | #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 | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = caterina | ||
| 6 | |||
| 7 | # Build Options | ||
| 8 | # change yes to no to disable | ||
| 9 | # | ||
| 10 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | ||
| 11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
| 12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 13 | CONSOLE_ENABLE = no # Console for debug | ||
| 14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 16 | SLEEP_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 | ||
| 18 | NKRO_ENABLE = no # USB Nkey Rollover | ||
| 19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 20 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
| 21 | UNICODE_ENABLE = yes # Unicode | ||
| 22 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
| 23 | AUDIO_ENABLE = no # Audio output | ||
| 24 | SPLIT_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 | |||
