forked from forks/qmk_firmware
69 lines
2.7 KiB
Markdown
69 lines
2.7 KiB
Markdown
|
# Ploopyco Trackball
|
||
|
|
||
|
![Ploopyco Trackball](https://i.redd.it/j7z0y83txps31.jpg)
|
||
|
|
||
|
It's a DIY, QMK Powered Trackball!!!!
|
||
|
|
||
|
Everything works. However the scroll wheel has some issues and acts very odd.
|
||
|
|
||
|
* 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 Availability: [Store](https://ploopy.co), [GitHub](https://github.com/ploopyco)
|
||
|
|
||
|
Make example for this keyboard (after setting up your build environment):
|
||
|
|
||
|
make ploopyco/trackball: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).
|
||
|
|
||
|
# Customzing your PloopyCo Trackball
|
||
|
|
||
|
While the defaults are designed so that it can be plugged in and used right away, there are a number of things that you may want to change. Such as adding DPI control, or to use the ball to scroll while holding a button. To allow for this sort of control, there is a callback for both the scroll wheel and the mouse censor.
|
||
|
|
||
|
The default behavior for this is:
|
||
|
|
||
|
```c
|
||
|
void process_wheel_user(report_mouse_t* mouse_report, int16_t h, int16_t v) {
|
||
|
mouse_report->h = h;
|
||
|
mouse_report->v = v;
|
||
|
}
|
||
|
|
||
|
void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) {
|
||
|
mouse_report->x = x;
|
||
|
mouse_report->y = y;
|
||
|
}
|
||
|
```
|
||
|
|
||
|
This should allow you to more heavily customize the behavior.
|
||
|
|
||
|
Alternatively, the `process_wheel` and `process_mouse` functions can both be replaced too, to allow for even more functionality.
|
||
|
|
||
|
Additionally, you can change the DPI/CPI or speed of the trackball by calling `pmw_set_cpi` at any time. And tThe default can be changed by adding a define to the keymap's `config.h` file:
|
||
|
|
||
|
#define PMW_CPI 1600
|
||
|
|
||
|
# Programming QMK-DFU onto the PloopyCo Trackball
|
||
|
|
||
|
If you would rather have DFU on this board, you can use the QMK-DFU bootloader on the device. To do so, you want to run:
|
||
|
|
||
|
make ploopyco/trackball:default:production
|
||
|
|
||
|
Once you have that, you'll need to [ISP Flash](https://docs.qmk.fm/#/isp_flashing_guide) the chip with the new bootloader hex file created (or the production hex), and set the fuses:
|
||
|
|
||
|
|
||
|
| Fuse | Setting |
|
||
|
|----------|------------------|
|
||
|
| Low | `0xDF` |
|
||
|
| High | `0xD8` or `0x98` |
|
||
|
| Extended | `0xCB` |
|
||
|
|
||
|
Original (Caterina) settings:
|
||
|
|
||
|
| Fuse | Setting |
|
||
|
|----------|------------------|
|
||
|
| Low | `0xFF` |
|
||
|
| High | `0xD8` |
|
||
|
| Extended | `0xFE` |
|