Updates to Ploopy Classic, Mouse, and Thumb for RP2040 hardware upgrade (#24880)
Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
		
							parent
							
								
									2f27b3dc78
								
							
						
					
					
						commit
						50967dbe7e
					
				
					 38 changed files with 311 additions and 99 deletions
				
			
		| 
						 | 
				
			
			@ -18,11 +18,6 @@
 | 
			
		|||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
// These pins are not broken out, and cannot be used normally.
 | 
			
		||||
// They are set as output and pulled high, by default
 | 
			
		||||
#define UNUSABLE_PINS \
 | 
			
		||||
    { B4, D6, F1, F5, F6, F7 }
 | 
			
		||||
 | 
			
		||||
/* disable action features */
 | 
			
		||||
//#define NO_ACTION_LAYER
 | 
			
		||||
//#define NO_ACTION_TAPPING
 | 
			
		||||
| 
						 | 
				
			
			@ -30,13 +25,7 @@
 | 
			
		|||
 | 
			
		||||
// #define DEBUG_LED_PIN F7
 | 
			
		||||
 | 
			
		||||
/* PMW33XX Settings */
 | 
			
		||||
#define PMW33XX_CS_PIN B0
 | 
			
		||||
 | 
			
		||||
#define ENCODER_BUTTON_COL 1
 | 
			
		||||
#define ENCODER_BUTTON_ROW 0
 | 
			
		||||
/* Custom encoder needs to specify just how many encoders we have */
 | 
			
		||||
#define NUM_ENCODERS 1
 | 
			
		||||
 | 
			
		||||
#define ENCODER_A_PINS { F0 }
 | 
			
		||||
#define ENCODER_B_PINS { F4 }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "Mouse",
 | 
			
		||||
    "manufacturer": "PloopyCo",
 | 
			
		||||
    "manufacturer": "Ploopy",
 | 
			
		||||
    "url": "www.ploopy.co",
 | 
			
		||||
    "maintainer": "drashna",
 | 
			
		||||
    "usb": {
 | 
			
		||||
| 
						 | 
				
			
			@ -9,6 +9,9 @@
 | 
			
		|||
        "device_version": "0.0.1",
 | 
			
		||||
        "max_power": 100
 | 
			
		||||
    },
 | 
			
		||||
    "bootmagic": {
 | 
			
		||||
        "matrix": [0, 3]
 | 
			
		||||
    },
 | 
			
		||||
    "features": {
 | 
			
		||||
        "bootmagic": true,
 | 
			
		||||
        "extrakey": true,
 | 
			
		||||
| 
						 | 
				
			
			@ -17,28 +20,6 @@
 | 
			
		|||
        "pointing_device": true,
 | 
			
		||||
        "encoder": true
 | 
			
		||||
    },
 | 
			
		||||
    "bootmagic": {
 | 
			
		||||
        "matrix": [0, 3]
 | 
			
		||||
    },
 | 
			
		||||
    "ws2812": {
 | 
			
		||||
        "pin": "B5"
 | 
			
		||||
    },
 | 
			
		||||
    "rgblight": {
 | 
			
		||||
        "led_count": 4,
 | 
			
		||||
        "max_brightness": 40,
 | 
			
		||||
        "animations": {
 | 
			
		||||
            "breathing": true,
 | 
			
		||||
            "rainbow_mood": true,
 | 
			
		||||
            "rainbow_swirl": true
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "direct": [
 | 
			
		||||
            ["D4", "D2", "E6", "B6", "D7", "C6", "C7", "B7"]
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    "encoder": {
 | 
			
		||||
        "driver": "custom"
 | 
			
		||||
    },
 | 
			
		||||
							
								
								
									
										1
									
								
								keyboards/ploopyco/mouse/post_rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/ploopyco/mouse/post_rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
POINTING_DEVICE_DRIVER = pmw3360
 | 
			
		||||
| 
						 | 
				
			
			@ -6,14 +6,14 @@ It's a DIY, QMK Powered Mouse!!!!
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
* Keyboard Maintainer: [PloopyCo](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/)
 | 
			
		||||
* Hardware Supported: ATMega32u4 8MHz(3.3v)  
 | 
			
		||||
* Hardware Supported: ATMega32u4 8MHz(3.3v), Raspberry RP2040
 | 
			
		||||
* Hardware Availability: [Store](https://ploopy.co), [GitHub](https://github.com/ploopyco)
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make ploopyco/mouse:default:flash
 | 
			
		||||
    
 | 
			
		||||
To jump to the bootloader, hold down "Button 4" (the "forward" button on the left side) 
 | 
			
		||||
 | 
			
		||||
To jump to the bootloader, hold down "Button 4" (the "forward" button on the left side)
 | 
			
		||||
 | 
			
		||||
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).
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										33
									
								
								keyboards/ploopyco/mouse/rev1_002/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								keyboards/ploopyco/mouse/rev1_002/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
/* Copyright 2020 Christopher Courtney, aka Drashna Jael're  (@drashna) <drashna@live.com>
 | 
			
		||||
 * Copyright 2019 Sunjun Kim
 | 
			
		||||
 * Copyright 2020 Ploopy Corporation
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
// These pins are not broken out, and cannot be used normally.
 | 
			
		||||
// They are set as output and pulled high, by default
 | 
			
		||||
#define UNUSABLE_PINS \
 | 
			
		||||
    { B4, D6, F1, F5, F6, F7 }
 | 
			
		||||
 | 
			
		||||
// If board has a debug LED, you can enable it by defining this
 | 
			
		||||
// #define DEBUG_LED_PIN F7
 | 
			
		||||
 | 
			
		||||
/* PMW33XX Settings */
 | 
			
		||||
#define PMW33XX_CS_PIN B0
 | 
			
		||||
 | 
			
		||||
#define ENCODER_A_PINS { F0 }
 | 
			
		||||
#define ENCODER_B_PINS { F4 }
 | 
			
		||||
							
								
								
									
										21
									
								
								keyboards/ploopyco/mouse/rev1_002/keyboard.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								keyboards/ploopyco/mouse/rev1_002/keyboard.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
{
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "direct": [
 | 
			
		||||
            ["D4", "D2", "E6", "B6", "D7", "C6", "C7", "B7"]
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    "ws2812": {
 | 
			
		||||
        "pin": "B5"
 | 
			
		||||
    },
 | 
			
		||||
    "rgblight": {
 | 
			
		||||
        "led_count": 3,
 | 
			
		||||
        "max_brightness": 40,
 | 
			
		||||
        "animations": {
 | 
			
		||||
            "breathing": true,
 | 
			
		||||
            "rainbow_mood": true,
 | 
			
		||||
            "rainbow_swirl": true
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										3
									
								
								keyboards/ploopyco/mouse/rev1_002/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/ploopyco/mouse/rev1_002/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
See the [main readme](../readme.md) for more details.
 | 
			
		||||
 | 
			
		||||
This is for the R1.002 version of the Mouse. It's easily distinguishable from the R1.003+ versions of the Mouse because it has an ATmega32u4 on the board.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,2 @@
 | 
			
		|||
# Processor frequency
 | 
			
		||||
F_CPU = 8000000
 | 
			
		||||
 | 
			
		||||
POINTING_DEVICE_DRIVER = pmw3360
 | 
			
		||||
							
								
								
									
										32
									
								
								keyboards/ploopyco/mouse/rev1_003/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								keyboards/ploopyco/mouse/rev1_003/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,32 @@
 | 
			
		|||
/* Copyright 2024 Colin Lam (Ploopy Corporation)
 | 
			
		||||
 * Copyright 2020 Christopher Courtney, aka Drashna Jael're  (@drashna) <drashna@live.com>
 | 
			
		||||
 * Copyright 2019 Sunjun Kim
 | 
			
		||||
 *
 | 
			
		||||
 * 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 UNUSABLE_PINS \
 | 
			
		||||
    { GP1, GP3, GP4, GP6, GP8, GP10, GP11, GP16, GP18, GP20, GP25, GP27, GP29 }
 | 
			
		||||
 | 
			
		||||
/* PMW3360 Settings */
 | 
			
		||||
#define PMW33XX_LIFTOFF_DISTANCE 0x00
 | 
			
		||||
#define PMW33XX_CS_PIN GP5
 | 
			
		||||
#define SPI_SCK_PIN GP2
 | 
			
		||||
#define SPI_MISO_PIN GP0
 | 
			
		||||
#define SPI_MOSI_PIN GP7
 | 
			
		||||
 | 
			
		||||
#define ENCODER_A_PINS { GP26 }
 | 
			
		||||
#define ENCODER_B_PINS { GP28 }
 | 
			
		||||
							
								
								
									
										25
									
								
								keyboards/ploopyco/mouse/rev1_003/keyboard.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								keyboards/ploopyco/mouse/rev1_003/keyboard.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
{
 | 
			
		||||
    "processor": "RP2040",
 | 
			
		||||
    "bootloader": "rp2040",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "device_version": "1.0.0"
 | 
			
		||||
    },
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "direct": [
 | 
			
		||||
            ["GP15", "GP21", "GP23", "GP17", "GP19", "GP22", "GP14", "GP24"]
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    "rgblight": {
 | 
			
		||||
        "led_count": 1,
 | 
			
		||||
        "max_brightness": 40,
 | 
			
		||||
        "animations": {
 | 
			
		||||
            "breathing": true,
 | 
			
		||||
            "rainbow_mood": true,
 | 
			
		||||
            "rainbow_swirl": true
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "ws2812": {
 | 
			
		||||
        "pin": "GP12"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										3
									
								
								keyboards/ploopyco/mouse/rev1_003/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/ploopyco/mouse/rev1_003/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
See the [main readme](../readme.md) for more details.
 | 
			
		||||
 | 
			
		||||
This is for the R1.003+ version of the Mouse. It's easily distinguishable from the previous versions of the Mouse because it has an RP2040 on the board.
 | 
			
		||||
| 
						 | 
				
			
			@ -23,20 +23,11 @@
 | 
			
		|||
//#define NO_ACTION_TAPPING
 | 
			
		||||
//#define NO_ACTION_ONESHOT
 | 
			
		||||
 | 
			
		||||
/* PMW3360 settings */
 | 
			
		||||
#define ROTATIONAL_TRANSFORM_ANGLE 20
 | 
			
		||||
 | 
			
		||||
// If board has a debug LED, you can enable it by defining this
 | 
			
		||||
// #define DEBUG_LED_PIN F7
 | 
			
		||||
 | 
			
		||||
/* PMW33XX Settings */
 | 
			
		||||
#define PMW33XX_CS_PIN             B0
 | 
			
		||||
#define POINTING_DEVICE_INVERT_Y
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define ENCODER_BUTTON_COL 1
 | 
			
		||||
#define ENCODER_BUTTON_ROW 0
 | 
			
		||||
/* Custom encoder needs to specify just how many encoders we have */
 | 
			
		||||
#define NUM_ENCODERS 1
 | 
			
		||||
 | 
			
		||||
#define ENCODER_A_PINS { F0 }
 | 
			
		||||
#define ENCODER_B_PINS { F4 }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "Trackball",
 | 
			
		||||
    "manufacturer": "PloopyCo",
 | 
			
		||||
    "keyboard_name": "Classic Trackball",
 | 
			
		||||
    "manufacturer": "Ploopy",
 | 
			
		||||
    "url": "www.ploopy.co",
 | 
			
		||||
    "maintainer": "drashna",
 | 
			
		||||
    "usb": {
 | 
			
		||||
| 
						 | 
				
			
			@ -12,7 +12,6 @@
 | 
			
		|||
    "bootmagic": {
 | 
			
		||||
        "matrix": [0, 3]
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    "features": {
 | 
			
		||||
        "bootmagic": true,
 | 
			
		||||
        "extrakey": true,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								keyboards/ploopyco/trackball/post_rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/ploopyco/trackball/post_rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
POINTING_DEVICE_DRIVER = pmw3360
 | 
			
		||||
| 
						 | 
				
			
			@ -1,27 +1,34 @@
 | 
			
		|||
# Ploopyco Trackball
 | 
			
		||||
# Ploopy Classic Trackball
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
It's a DIY, QMK Powered Trackball!!!!
 | 
			
		||||
 | 
			
		||||
* Keyboard Maintainer: [PloopyCo](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/)
 | 
			
		||||
* Hardware Supported: ATMega32u4 8MHz(3.3v)  
 | 
			
		||||
* Keyboard Maintainer: [Ploopy](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/)
 | 
			
		||||
* Hardware Supported: ATMega32u4 8MHz(3.3v), Raspberry RP2040
 | 
			
		||||
* Hardware Availability: [Store](https://ploopy.co), [GitHub](https://github.com/ploopyco)
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make ploopyco/trackball/rev1:default:flash
 | 
			
		||||
    make ploopyco/trackball/rev1_004:default:flash
 | 
			
		||||
    make ploopyco/trackball/rev1_005:default:flash
 | 
			
		||||
    
 | 
			
		||||
To jump to the bootloader, hold down "Button 4" (immediate right of the trackball) 
 | 
			
		||||
    make ploopyco/trackball/rev1_007:default:flash
 | 
			
		||||
 | 
			
		||||
To jump to the bootloader, hold down "Button 4" (immediate right of the trackball)
 | 
			
		||||
 | 
			
		||||
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).
 | 
			
		||||
 | 
			
		||||
## Revisions
 | 
			
		||||
 | 
			
		||||
There are two main revisions for the PloopyCo Trackball, everything up to 1.004, and 1.005-1.006.
 | 
			
		||||
There are three main revisions for the Ploopy Classic Trackball:
 | 
			
		||||
 | 
			
		||||
In the 1.005 revision, button for was changed from pin B5 to B6, and the debug LED pin was changed from F7 to B5. 
 | 
			
		||||
- Everything up to 1.004 (very rare)
 | 
			
		||||
- Revision 1.005 and 1.006 (commonly sold between 2020 and 2024)
 | 
			
		||||
- Revision 1.007 (first available in 2025)
 | 
			
		||||
 | 
			
		||||
In the 1.005 revision, button four was changed from pin B5 to B6, and the debug LED pin was changed from F7 to B5.
 | 
			
		||||
 | 
			
		||||
In the 1.007 revision, the board was switched from an ATMega32u4 architecture to the Raspberry RP2040 architecture.
 | 
			
		||||
 | 
			
		||||
The PCB should indicate which revision this is.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,3 +25,9 @@
 | 
			
		|||
 | 
			
		||||
// If board has a debug LED, you can enable it by defining this
 | 
			
		||||
#define DEBUG_LED_PIN F7
 | 
			
		||||
 | 
			
		||||
/* PMW33XX Settings */
 | 
			
		||||
#define PMW33XX_CS_PIN             B0
 | 
			
		||||
 | 
			
		||||
#define ENCODER_A_PINS { F0 }
 | 
			
		||||
#define ENCODER_B_PINS { F4 }
 | 
			
		||||
							
								
								
									
										2
									
								
								keyboards/ploopyco/trackball/rev1_004/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/ploopyco/trackball/rev1_004/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
# Processor frequency
 | 
			
		||||
F_CPU = 8000000
 | 
			
		||||
| 
						 | 
				
			
			@ -22,3 +22,12 @@
 | 
			
		|||
// They are set as output and pulled high, by default
 | 
			
		||||
#define UNUSABLE_PINS \
 | 
			
		||||
    { D1, D3, B4, B7, D6, C7, F6, F5, F3, F7 }
 | 
			
		||||
 | 
			
		||||
// If board has a debug LED, you can enable it by defining this
 | 
			
		||||
// #define DEBUG_LED_PIN F7
 | 
			
		||||
 | 
			
		||||
/* PMW33XX Settings */
 | 
			
		||||
#define PMW33XX_CS_PIN B0
 | 
			
		||||
 | 
			
		||||
#define ENCODER_A_PINS { F0 }
 | 
			
		||||
#define ENCODER_B_PINS { F4 }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,3 @@
 | 
			
		|||
See the [main readme](../readme.md) for more details. 
 | 
			
		||||
See the [main readme](../readme.md) for more details.
 | 
			
		||||
 | 
			
		||||
This is just the rev 1.005+ trackball
 | 
			
		||||
This is for the R1.005-R1.006 version of the Classic. It's easily distinguishable from the R1.007+ versions of the Classic because it has an ATmega32u4 on the board.
 | 
			
		||||
							
								
								
									
										2
									
								
								keyboards/ploopyco/trackball/rev1_005/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/ploopyco/trackball/rev1_005/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
# Processor frequency
 | 
			
		||||
F_CPU = 8000000
 | 
			
		||||
							
								
								
									
										32
									
								
								keyboards/ploopyco/trackball/rev1_007/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								keyboards/ploopyco/trackball/rev1_007/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,32 @@
 | 
			
		|||
/* Copyright 2024 Colin Lam (Ploopy Corporation)
 | 
			
		||||
 * Copyright 2020 Christopher Courtney, aka Drashna Jael're  (@drashna) <drashna@live.com>
 | 
			
		||||
 * Copyright 2019 Sunjun Kim
 | 
			
		||||
 *
 | 
			
		||||
 * 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 UNUSABLE_PINS \
 | 
			
		||||
    { GP1, GP3, GP4, GP6, GP8, GP10, GP11, GP14, GP16, GP18, GP20, GP22, GP24, GP25, GP27, GP29 }
 | 
			
		||||
 | 
			
		||||
/* PMW3360 Settings */
 | 
			
		||||
#define PMW33XX_LIFTOFF_DISTANCE 0x00
 | 
			
		||||
#define PMW33XX_CS_PIN GP5
 | 
			
		||||
#define SPI_SCK_PIN GP2
 | 
			
		||||
#define SPI_MISO_PIN GP0
 | 
			
		||||
#define SPI_MOSI_PIN GP7
 | 
			
		||||
 | 
			
		||||
#define ENCODER_A_PINS { GP26 }
 | 
			
		||||
#define ENCODER_B_PINS { GP28 }
 | 
			
		||||
							
								
								
									
										25
									
								
								keyboards/ploopyco/trackball/rev1_007/keyboard.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								keyboards/ploopyco/trackball/rev1_007/keyboard.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
{
 | 
			
		||||
    "processor": "RP2040",
 | 
			
		||||
    "bootloader": "rp2040",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "device_version": "1.0.0"
 | 
			
		||||
    },
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "direct": [
 | 
			
		||||
            ["GP15", "GP21", "GP23", "GP17", "GP19"]
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    "rgblight": {
 | 
			
		||||
        "led_count": 1,
 | 
			
		||||
        "max_brightness": 40,
 | 
			
		||||
        "animations": {
 | 
			
		||||
            "breathing": true,
 | 
			
		||||
            "rainbow_mood": true,
 | 
			
		||||
            "rainbow_swirl": true
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "ws2812": {
 | 
			
		||||
        "pin": "GP12"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										3
									
								
								keyboards/ploopyco/trackball/rev1_007/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/ploopyco/trackball/rev1_007/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
See the [main readme](../readme.md) for more details.
 | 
			
		||||
 | 
			
		||||
This is for the R1.007+ version of the Classic. It's easily distinguishable from the previous versions of the Classic because it has an RP2040 on the board.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +0,0 @@
 | 
			
		|||
# Processor frequency
 | 
			
		||||
F_CPU = 8000000
 | 
			
		||||
 | 
			
		||||
POINTING_DEVICE_DRIVER = pmw3360
 | 
			
		||||
 | 
			
		||||
DEFAULT_FOLDER = ploopyco/trackball/rev1_005
 | 
			
		||||
| 
						 | 
				
			
			@ -29,9 +29,6 @@
 | 
			
		|||
// If board has a debug LED, you can enable it by defining this
 | 
			
		||||
// #define DEBUG_LED_PIN F7
 | 
			
		||||
 | 
			
		||||
/* PMW3360 Settings */
 | 
			
		||||
#define POINTING_DEVICE_CS_PIN B0
 | 
			
		||||
 | 
			
		||||
#define ENCODER_BUTTON_COL 1
 | 
			
		||||
#define ENCODER_BUTTON_ROW 0
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,6 +38,3 @@
 | 
			
		|||
#define ENCODER_HIGH_THRES_B 90
 | 
			
		||||
/* Custom encoder needs to specify just how many encoders we have */
 | 
			
		||||
#define NUM_ENCODERS 1
 | 
			
		||||
 | 
			
		||||
#define ENCODER_A_PINS { F4 }
 | 
			
		||||
#define ENCODER_B_PINS { F0 }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,22 +1,22 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "PloopyCo Thumb Trackball",
 | 
			
		||||
    "keyboard_name": "Thumb Trackball",
 | 
			
		||||
    "manufacturer": "Ploopy",
 | 
			
		||||
    "url": "www.ploopy.co",
 | 
			
		||||
    "maintainer": "ploopyco",
 | 
			
		||||
    "manufacturer": "Ploopy Corporation",
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "vid": "0x5043",
 | 
			
		||||
        "pid": "0x5C46",
 | 
			
		||||
        "device_version": "0.0.1",
 | 
			
		||||
        "max_power": 100
 | 
			
		||||
    },
 | 
			
		||||
    "bootmagic": {
 | 
			
		||||
        "matrix": [0, 3]
 | 
			
		||||
    },
 | 
			
		||||
    "features": {
 | 
			
		||||
        "bootmagic": true,
 | 
			
		||||
        "command": false,
 | 
			
		||||
        "console": false,
 | 
			
		||||
        "extrakey": true,
 | 
			
		||||
        "mousekey": true,
 | 
			
		||||
        "nkro": true,
 | 
			
		||||
        "nkro": false,
 | 
			
		||||
        "pointing_device": true,
 | 
			
		||||
        "encoder": true
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								keyboards/ploopyco/trackball_thumb/post_rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/ploopyco/trackball_thumb/post_rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
POINTING_DEVICE_DRIVER = pmw3360
 | 
			
		||||
| 
						 | 
				
			
			@ -3,13 +3,13 @@
 | 
			
		|||
It's a DIY, QMK Powered Trackball...for thumb ballers!
 | 
			
		||||
 | 
			
		||||
* Keyboard Maintainer: [PloopyCo](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/)
 | 
			
		||||
* Hardware Supported: ATMega32u4 8MHz(3.3v)
 | 
			
		||||
* Hardware Supported: ATMega32u4 8MHz(3.3v), Raspberry RP2040
 | 
			
		||||
* Hardware Availability: [Store](https://ploopy.co), [GitHub](https://github.com/ploopyco)
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make ploopyco/trackball_thumb/rev1_001:default:flash
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
To jump to the bootloader, hold down "Button 4" (button closest to the USB port).
 | 
			
		||||
 | 
			
		||||
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).
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,3 +22,9 @@
 | 
			
		|||
// They are set as output and pulled high, by default
 | 
			
		||||
#define UNUSABLE_PINS \
 | 
			
		||||
    { D1, D3, B4, B7, D6, C7, F6, F5, F3, F7 }
 | 
			
		||||
 | 
			
		||||
/* PMW33XX Settings */
 | 
			
		||||
#define PMW33XX_CS_PIN B0
 | 
			
		||||
 | 
			
		||||
#define ENCODER_A_PINS { F0 }
 | 
			
		||||
#define ENCODER_B_PINS { F4 }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,13 +1,14 @@
 | 
			
		|||
{
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "device_version": "1.0.0"
 | 
			
		||||
    },
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "direct": [
 | 
			
		||||
            ["D5", "B6", "D4", "D2", "E6", "D7"]
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    "ws2812": {
 | 
			
		||||
        "pin": "B5"
 | 
			
		||||
    },
 | 
			
		||||
    "rgblight": {
 | 
			
		||||
        "led_count": 3,
 | 
			
		||||
        "max_brightness": 40,
 | 
			
		||||
| 
						 | 
				
			
			@ -16,8 +17,5 @@
 | 
			
		|||
            "rainbow_mood": true,
 | 
			
		||||
            "rainbow_swirl": true
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "ws2812": {
 | 
			
		||||
        "pin": "B5"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,3 @@
 | 
			
		|||
This is the R1.001+ version of the Thumb. Future versions may have other features.
 | 
			
		||||
See the [main readme](../readme.md) for more details.
 | 
			
		||||
 | 
			
		||||
See the [main readme](../readme.md) for more details. 
 | 
			
		||||
This is for the R1.001 version of the Thumb. It's easily distinguishable from the R1.002+ versions of the Thumb because it has an ATmega32u4 on the board.
 | 
			
		||||
							
								
								
									
										2
									
								
								keyboards/ploopyco/trackball_thumb/rev1_001/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/ploopyco/trackball_thumb/rev1_001/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
# Processor frequency
 | 
			
		||||
F_CPU = 8000000
 | 
			
		||||
							
								
								
									
										32
									
								
								keyboards/ploopyco/trackball_thumb/rev1_002/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								keyboards/ploopyco/trackball_thumb/rev1_002/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,32 @@
 | 
			
		|||
/* Copyright 2024 Colin Lam (Ploopy Corporation)
 | 
			
		||||
 * Copyright 2020 Christopher Courtney, aka Drashna Jael're  (@drashna) <drashna@live.com>
 | 
			
		||||
 * Copyright 2019 Sunjun Kim
 | 
			
		||||
 *
 | 
			
		||||
 * 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 UNUSABLE_PINS \
 | 
			
		||||
    { GP1, GP3, GP4, GP6, GP8, GP10, GP11, GP14, GP18, GP20, GP22, GP24, GP25, GP27, GP29 }
 | 
			
		||||
 | 
			
		||||
/* PMW3360 Settings */
 | 
			
		||||
#define PMW33XX_LIFTOFF_DISTANCE 0x00
 | 
			
		||||
#define PMW33XX_CS_PIN GP5
 | 
			
		||||
#define SPI_SCK_PIN GP2
 | 
			
		||||
#define SPI_MISO_PIN GP0
 | 
			
		||||
#define SPI_MOSI_PIN GP7
 | 
			
		||||
 | 
			
		||||
#define ENCODER_A_PINS { GP28 }
 | 
			
		||||
#define ENCODER_B_PINS { GP26 }
 | 
			
		||||
							
								
								
									
										25
									
								
								keyboards/ploopyco/trackball_thumb/rev1_002/keyboard.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								keyboards/ploopyco/trackball_thumb/rev1_002/keyboard.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
{
 | 
			
		||||
    "processor": "RP2040",
 | 
			
		||||
    "bootloader": "rp2040",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "device_version": "1.0.0"
 | 
			
		||||
    },
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "direct": [
 | 
			
		||||
            ["GP17", "GP16", "GP15", "GP21", "GP23", "GP19"]
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    "rgblight": {
 | 
			
		||||
        "led_count": 1,
 | 
			
		||||
        "max_brightness": 40,
 | 
			
		||||
        "animations": {
 | 
			
		||||
            "breathing": true,
 | 
			
		||||
            "rainbow_mood": true,
 | 
			
		||||
            "rainbow_swirl": true
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "ws2812": {
 | 
			
		||||
        "pin": "GP12"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										3
									
								
								keyboards/ploopyco/trackball_thumb/rev1_002/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/ploopyco/trackball_thumb/rev1_002/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
See the [main readme](../readme.md) for more details.
 | 
			
		||||
 | 
			
		||||
This is for the R1.002+ version of the Thumb. It's easily distinguishable from the previous versions of the Thumb because it has an RP2040 on the board.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +0,0 @@
 | 
			
		|||
# Processor frequency
 | 
			
		||||
F_CPU = 8000000
 | 
			
		||||
 | 
			
		||||
POINTING_DEVICE_DRIVER = pmw3360
 | 
			
		||||
 | 
			
		||||
DEFAULT_FOLDER = ploopyco/trackball_thumb/rev1_001
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue