Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Jank RP2040 Dactyl #21973

Merged
merged 17 commits into from
Sep 23, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
1af4b34
First Version
wheres-perry Sep 11, 2023
e76759e
Removed test file
wheres-perry Sep 11, 2023
273ebbf
Updated licenses and readme
wheres-perry Sep 11, 2023
3ad98dd
Update keyboards/handwired/jankrp2040dactyl/config.h
wheres-perry Sep 17, 2023
566399b
Update keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c
wheres-perry Sep 17, 2023
9f6ca31
Update keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c
wheres-perry Sep 17, 2023
77eab45
Update keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c
wheres-perry Sep 17, 2023
c8c2851
Update keyboards/handwired/jankrp2040dactyl/rules.mk
wheres-perry Sep 17, 2023
adf00bb
Update keyboards/handwired/jankrp2040dactyl/info.json
wheres-perry Sep 17, 2023
fe3b367
Update keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c
wheres-perry Sep 19, 2023
d9d9c65
Update keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c
wheres-perry Sep 19, 2023
9372ee4
Update keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c
wheres-perry Sep 19, 2023
15cdc5d
Update keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c
wheres-perry Sep 19, 2023
10019ca
Update keyboards/handwired/jankrp2040dactyl/info.json
wheres-perry Sep 19, 2023
e79c13a
Update keyboards/handwired/jankrp2040dactyl/info.json
wheres-perry Sep 19, 2023
6ff772a
Update keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c
wheres-perry Sep 20, 2023
d24e29c
Update keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c
wheres-perry Sep 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions keyboards/handwired/jankrp2040dactyl/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/* Copyright 2023 Ethan Perry (@wheres-perry)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
#define GRAVE_ESC_SHIFT_OVERRIDE //
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved
104 changes: 104 additions & 0 deletions keyboards/handwired/jankrp2040dactyl/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
{
"manufacturer": "Ethan Perry",
"keyboard_name": "rp2040dactyl",
"maintainer": "wheres-perry",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
"soft_serial_pin": "GP0"
},

"features": {
"command": false,
"console": false,
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved
"extrakey": true,
"mousekey": true,
"nkro": true
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved
},

"matrix_pins": {
"cols": ["GP14", "GP15", "GP16", "GP17", "GP21", "GP22"],
"rows": ["GP8", "GP9", "GP10", "GP11", "GP12"]
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved
},

"processor": "RP2040",
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
"vid": "0xFEED"
},

"layouts": {
"LAYOUT": {
"layout":
[{"matrix": [0, 0],"label":"Esc", "x":0, "y":0},
{"matrix": [0, 1], "label":"1!", "x":1, "y":0},
{"matrix": [0, 2], "label":"2@", "x":2, "y":0},
{"matrix": [0, 3], "label":"3#", "x":3, "y":0},
{"matrix": [0, 4], "label":"4$", "x":4, "y":0},
{"matrix": [0, 5], "label":"5%", "x":5, "y":0},
{"matrix": [5, 0], "label":"6^", "x":7, "y":0},
{"matrix": [5, 1], "label":"7&", "x":8, "y":0},
{"matrix": [5, 2], "label":"8*", "x":9, "y":0},
{"matrix": [5, 3], "label":"9(", "x":10, "y":0},
{"matrix": [5, 4], "label":"0)", "x":11, "y":0},
{"matrix": [5, 5], "label":"+", "x":12, "y":0},

{"matrix": [1, 0], "label":"|", "x":0, "y":1},
{"matrix": [1, 1], "label":"B", "x":1, "y":1},
{"matrix": [1, 2], "label":"Y", "x":2, "y":1},
{"matrix": [1, 3], "label":"O", "x":3, "y":1},
{"matrix": [1, 4], "label":"U", "x":4, "y":1},
{"matrix": [1, 5], "label":"\"", "x":5, "y":1},
{"matrix": [6, 0], "label":":", "x":7, "y":1},
{"matrix": [6, 1], "label":"L", "x":8, "y":1},
{"matrix": [6, 2], "label":"D", "x":9, "y":1},
{"matrix": [6, 3], "label":"W", "x":10, "y":1},
{"matrix": [6, 4], "label":"V", "x":11, "y":1},
{"matrix": [6, 5], "label":"Z", "x":12, "y":1},

{"matrix": [2, 0], "label":"Arrows", "x":0, "y":2},
{"matrix": [2, 1], "label":"C", "x":1, "y":2},
{"matrix": [2, 2], "label":"I", "x":2, "y":2},
{"matrix": [2, 3], "label":"E", "x":3, "y":2},
{"matrix": [2, 4], "label":"A", "x":4, "y":2},
{"matrix": [2, 5], "label":"<", "x":5, "y":2},
{"matrix": [7, 0], "label":">", "x":7, "y":2},
{"matrix": [7, 1], "label":"H", "x":8, "y":2},
{"matrix": [7, 2], "label":"T", "x":9, "y":2},
{"matrix": [7, 3], "label":"S", "x":10, "y":2},
{"matrix": [7, 4], "label":"N", "x":11, "y":2},
{"matrix": [7, 5], "label":"Q", "x":12, "y":2},

{"matrix": [3, 0], "label":"Shift", "x":0, "y":3},
{"matrix": [3, 1], "label":"G", "x":1, "y":3},
{"matrix": [3, 2], "label":"X", "x":2, "y":3},
{"matrix": [3, 3], "label":"J", "x":3, "y":3},
{"matrix": [3, 4], "label":"K", "x":4, "y":3},
{"matrix": [3, 5], "label":"_", "x":5, "y":3},
{"matrix": [8, 0], "label":"?", "x":7, "y":3},
{"matrix": [8, 1], "label":"R", "x":8, "y":3},
{"matrix": [8, 2], "label":"M", "x":9, "y":3},
{"matrix": [8, 3], "label":"F", "x":10, "y":3},
{"matrix": [8, 4], "label":"P", "x":11, "y":3},
{"matrix": [8, 5], "label":"FN", "x":12, "y":3},

{"matrix": [4, 3], "label":"Del", "x":3, "y":5},
{"matrix": [4, 4], "label":"Space", "x":4, "y":5},
{"matrix": [4, 5], "label":"Backspace", "x":5, "y":5},

{"matrix": [9, 0], "label":"Enter", "x":7, "y":5},
{"matrix": [9, 3], "label":"Symbol", "x":8, "y":5},
{"matrix": [9, 2], "label":"Tab", "x":9, "y":5},

{"matrix": [4, 1], "label":"Windows", "x":4, "y":6},
{"matrix": [4, 2], "label":"Alt", "x":5, "y":6},

{"matrix": [9, 1], "label":"Ctrl", "x":7, "y":6},
{"matrix": [9, 4], "label":"Blank", "x":8, "y":6}
]
}
}
}
71 changes: 71 additions & 0 deletions keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/* Copyright 2023 Ethan Perry (@wheres-perry)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

enum layers {
_BASELAYER,
_FUNCTIONLAYER,
_ARROWLAYER,
_SYMBOLLAYER
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASELAYER] = LAYOUT(
QK_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL,
KC_BSLS,KC_B, KC_Y, KC_O, KC_U, KC_QUOT, KC_SCLN,KC_L, KC_D, KC_W, KC_V, KC_Z,
MO(_FUNCTIONLAYER), KC_C, KC_I, KC_E, KC_A, KC_COMM, KC_DOT, KC_H, KC_T, KC_S, KC_N, KC_Q,
KC_LSFT,KC_G, KC_X, KC_J, KC_K, KC_MINS, KC_SLSH,KC_R, KC_M, KC_F, KC_P, MO(_ARROWLAYER),

KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB,
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved
KC_LGUI,KC_LALT, KC_RCTL,KC_NO


),
[_ARROWLAYER] = 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_UP, KC_TRNS,KC_TRNS,KC_TRNS,
MO(_FUNCTIONLAYER), KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,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,MO(_ARROWLAYER),
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved

KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB,
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved
KC_LGUI,KC_LALT, KC_RCTL,KC_NO


),
[_FUNCTIONLAYER] = 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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
MO(_FUNCTIONLAYER), KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,MO(_ARROWLAYER),
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved

KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB,
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved
KC_LGUI,KC_LALT, KC_RCTL, KC_NO


),
[_SYMBOLLAYER] = LAYOUT(
KC_TILD,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
KC_NO, KC_PIPE,KC_BSLS,KC_EQL, KC_LT, KC_GT, KC_LCBR,KC_RCBR,KC_UNDS,KC_ASTR,KC_PLUS, KC_NO,
MO(_FUNCTIONLAYER), KC_QUES,KC_QUOT,KC_DQUO,KC_COLN,KC_SCLN, KC_LPRN,KC_RPRN,KC_COMM,KC_DOT, KC_MINS,KC_NO,
KC_LSFT,KC_CIRC,KC_PERC,KC_AMPR,KC_HASH,KC_SLSH, KC_LBRC,KC_RBRC,KC_DLR, KC_AT, KC_EXLM,MO(_ARROWLAYER),

KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB,
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved
KC_LGUI,KC_LALT, KC_RCTL,KC_NO


)
};
26 changes: 26 additions & 0 deletions keyboards/handwired/jankrp2040dactyl/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# handwired/jankrp2040dactyl


A budget Dactyl-Manuform build using Raspberry Pi Pico.

* Keyboard Maintainer: [Ethan Perry](https://github.com/wheres-perry)
* Hardware Supported: RP2040 Community Edition
* Hardware Availability: https://www.digikey.com/en/product-highlight/r/raspberry-pi/raspberry-pi-picoboard

Make example for this keyboard (after setting up your build environment):

make handwired/jankrp2040dactyl:default

Flashing example for this keyboard:

make handwired/jankrp2040dactyl:default:flash

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).

## Bootloader

Enter the bootloader in 3 ways:

* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
2 changes: 2 additions & 0 deletions keyboards/handwired/jankrp2040dactyl/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SERIAL_DRIVER = vendor
BOOTMAGIC_ENABLE = yes
wheres-perry marked this conversation as resolved.
Show resolved Hide resolved