diff options
| author | ploopyco <54917504+ploopyco@users.noreply.github.com> | 2025-12-08 17:24:42 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-08 14:24:42 -0800 |
| commit | 505e5c7033f841e277e227718ed328cf64c8a2fc (patch) | |
| tree | 187dda8b41808ca7835ae419953140049ba3f2f5 | |
| parent | 107812ceef1c5efaa1d76b8136f119fa3f63f731 (diff) | |
Add new mouse "Ploopy Nano 2 Trackball" (#25762)
| -rw-r--r-- | keyboards/ploopyco/nano_2/config.h | 33 | ||||
| -rw-r--r-- | keyboards/ploopyco/nano_2/info.json | 27 | ||||
| -rw-r--r-- | keyboards/ploopyco/nano_2/keymaps/default/keymap.c | 23 | ||||
| -rw-r--r-- | keyboards/ploopyco/nano_2/readme.md | 38 | ||||
| -rw-r--r-- | keyboards/ploopyco/nano_2/rev2_003/keyboard.json | 7 | ||||
| -rw-r--r-- | keyboards/ploopyco/nano_2/rev2_003/readme.md | 1 | ||||
| -rw-r--r-- | keyboards/ploopyco/nano_2/rules.mk | 1 |
7 files changed, 130 insertions, 0 deletions
diff --git a/keyboards/ploopyco/nano_2/config.h b/keyboards/ploopyco/nano_2/config.h new file mode 100644 index 0000000000..7d2b96fd8e --- /dev/null +++ b/keyboards/ploopyco/nano_2/config.h | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | /* Copyright 2024 Colin Lam (Ploopy Corporation) | ||
| 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 | #define UNUSABLE_PINS \ | ||
| 20 | { GP1, GP3, GP4, GP6, GP8, GP10, GP14, GP16, GP18, GP20, GP22, GP24, GP25, GP26, GP27, GP28, GP29 } | ||
| 21 | |||
| 22 | #define MOUSE_EXTENDED_REPORT | ||
| 23 | |||
| 24 | #define PLOOPY_DRAGSCROLL_MOMENTARY | ||
| 25 | #define PLOOPY_DRAGSCROLL_DIVISOR_H 64.0 | ||
| 26 | #define PLOOPY_DRAGSCROLL_DIVISOR_V 64.0 | ||
| 27 | |||
| 28 | #define PAW3222_CS_PIN GP5 | ||
| 29 | #define PAW3222_MOTION_PIN GP9 | ||
| 30 | #define PAW3222_SPI_DIVISOR 64 | ||
| 31 | #define SPI_SCK_PIN GP2 | ||
| 32 | #define SPI_MISO_PIN GP0 | ||
| 33 | #define SPI_MOSI_PIN GP7 | ||
diff --git a/keyboards/ploopyco/nano_2/info.json b/keyboards/ploopyco/nano_2/info.json new file mode 100644 index 0000000000..ad69a0c04e --- /dev/null +++ b/keyboards/ploopyco/nano_2/info.json | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "Ploopy Nano 2 Trackball", | ||
| 3 | "manufacturer": "Ploopy Corporation", | ||
| 4 | "url": "www.ploopy.co", | ||
| 5 | "maintainer": "ploopyco", | ||
| 6 | "usb": { | ||
| 7 | "vid": "0x5043", | ||
| 8 | "pid": "0x4CE5", | ||
| 9 | "device_version": "0.0.1", | ||
| 10 | "max_power": 100 | ||
| 11 | }, | ||
| 12 | "features": { | ||
| 13 | "bootmagic": true, | ||
| 14 | "extrakey": true, | ||
| 15 | "nkro": true, | ||
| 16 | "pointing_device": true | ||
| 17 | }, | ||
| 18 | "processor": "RP2040", | ||
| 19 | "bootloader": "rp2040", | ||
| 20 | "layouts": { | ||
| 21 | "LAYOUT": { | ||
| 22 | "layout": [ | ||
| 23 | {"x": 0, "y": 0, "matrix": [0, 0]} | ||
| 24 | ] | ||
| 25 | } | ||
| 26 | } | ||
| 27 | } | ||
diff --git a/keyboards/ploopyco/nano_2/keymaps/default/keymap.c b/keyboards/ploopyco/nano_2/keymaps/default/keymap.c new file mode 100644 index 0000000000..9fa7252a66 --- /dev/null +++ b/keyboards/ploopyco/nano_2/keymaps/default/keymap.c | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* Copyright 2021 Colin Lam (Ploopy Corporation) | ||
| 2 | * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> | ||
| 3 | * Copyright 2019 Sunjun Kim | ||
| 4 | * Copyright 2019 Hiroyuki Okada | ||
| 5 | * | ||
| 6 | * This program is free software: you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation, either version 2 of the License, or | ||
| 9 | * (at your option) any later version. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 18 | */ | ||
| 19 | #include QMK_KEYBOARD_H | ||
| 20 | |||
| 21 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 22 | [0] = LAYOUT( DRAG_SCROLL ) | ||
| 23 | }; | ||
diff --git a/keyboards/ploopyco/nano_2/readme.md b/keyboards/ploopyco/nano_2/readme.md new file mode 100644 index 0000000000..509a62f9fa --- /dev/null +++ b/keyboards/ploopyco/nano_2/readme.md | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | # Ploopy Nano 2 Trackball | ||
| 2 | |||
| 3 |  | ||
| 4 | |||
| 5 | It's a DIY, QMK Powered Trackball...Nano! | ||
| 6 | |||
| 7 | * Maintainer: [PloopyCo](https://github.com/ploopyco) | ||
| 8 | * Key contributors: [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/) | ||
| 9 | * Hardware Supported: RP2040 | ||
| 10 | * Hardware Availability: [Store](https://ploopy.co/nano-2), [GitHub](https://github.com/ploopyco) | ||
| 11 | |||
| 12 | Make example for this keyboard (after setting up your build environment): | ||
| 13 | |||
| 14 | make ploopyco/nano_2/rev2_003:default | ||
| 15 | |||
| 16 | Flashing example for this keyboard: | ||
| 17 | |||
| 18 | make ploopyco/nano_2/rev2_003:default:flash | ||
| 19 | |||
| 20 | # Building Firmware | ||
| 21 | |||
| 22 | 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). | ||
| 23 | |||
| 24 | # Triggering the Bootloader | ||
| 25 | |||
| 26 | [Do you see those two golden holes in the board](https://ploopy.co/wp-content/uploads/2023/11/boot.jpg)? Those are called **vias**. They act exactly like a switch does. Right now, that switch is OFF. However, if you take a paperclip or a pair of metal tweezers and touch those two vias, the two vias will form an electrical connection. Effectively, that switch turns ON. | ||
| 27 | |||
| 28 | Go ahead and connect the two vias, and then (while the vias are connected) plug in the Nano 2 board into your computer. | ||
| 29 | |||
| 30 | The computer should recognise that a mass storage device was just plugged in. Once this is done, you should be able to drag and drop files onto the Nano 2 board, as if the board was a USB drive. Feel free to remove the tweezers or paperclip at this point. | ||
| 31 | |||
| 32 | If you want to upload a new firmware file (a ".uf2" file, like "nano-2-awesome-version.uf2" or something), just drag it into the folder, and it'll automatically install on the Nano 2 board and restart itself, in normal operating mode. You're done! | ||
| 33 | |||
| 34 | **TIP**: If your firmware is in some kind of strange state and uploading new firmware isn't fixing it, try uploading [a flash nuke](https://learn.adafruit.com/getting-started-with-raspberry-pi-pico-circuitpython/circuitpython#flash-resetting-uf2-3083182) to the Nano 2 board before flashing the new firmware. It wipes the memory of the Nano 2 board completely clean, which can help clear a few types of errors. | ||
| 35 | |||
| 36 | # Customizing your Ploopy Nano 2 | ||
| 37 | |||
| 38 | You can find customziation options [here](../readme.md). \ No newline at end of file | ||
diff --git a/keyboards/ploopyco/nano_2/rev2_003/keyboard.json b/keyboards/ploopyco/nano_2/rev2_003/keyboard.json new file mode 100644 index 0000000000..767a6ba154 --- /dev/null +++ b/keyboards/ploopyco/nano_2/rev2_003/keyboard.json | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | { | ||
| 2 | "matrix_pins": { | ||
| 3 | "direct": [ | ||
| 4 | ["GP17"] | ||
| 5 | ] | ||
| 6 | } | ||
| 7 | } | ||
diff --git a/keyboards/ploopyco/nano_2/rev2_003/readme.md b/keyboards/ploopyco/nano_2/rev2_003/readme.md new file mode 100644 index 0000000000..052a17f396 --- /dev/null +++ b/keyboards/ploopyco/nano_2/rev2_003/readme.md | |||
| @@ -0,0 +1 @@ | |||
| See the main readme for more details. This is just here for when future revisions of the board are released. | |||
diff --git a/keyboards/ploopyco/nano_2/rules.mk b/keyboards/ploopyco/nano_2/rules.mk new file mode 100644 index 0000000000..e468209eba --- /dev/null +++ b/keyboards/ploopyco/nano_2/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| POINTING_DEVICE_DRIVER = paw3222 | |||
