You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.4 KiB
29 lines
1.4 KiB
# FC-KB diy keyboard software for milk-v duo
|
|
A keyboard software meant to run on a Milk-V duo.
|
|
|
|
## Features
|
|
- [x] Modifier key input
|
|
- [x] Normal key inputs
|
|
- [x] (partial) LED support
|
|
- [x] N-Key rollover (The currently included hid descriptor "only" supports 80 key rollover but adapting to more keys would be fairly trivial)
|
|
- [x] Multiple bindings per key
|
|
- [x] Debouncing (immediate on, 5ms until key turns off)
|
|
### Todo
|
|
- [ ] RGB
|
|
- [ ] Layer support
|
|
|
|
## General project structure
|
|
### kbdrv-main.c
|
|
This file contains all the program code required to scan the keyboard matrix as well as assemble and send the hid reports.
|
|
|
|
### keyboard\_mapping.h
|
|
This file contains all the configuration and mapping of the device you are working with. This includes the GPIO pin mapping to rows/columns, matrix to binding
|
|
identifier and binding identifier to hid-modifiers/hid-usage codes.
|
|
|
|
## Important notes
|
|
|
|
While this project is designed to be used with the Milk-V duo range of devices it does **not** work out of the box because it assumes that a USB HID gadget is
|
|
configured in the UDC. To achieve this you need to modify the /etc/usb-run.sh script to be able to probe usb-hid *and* recompile the kernel to enable the
|
|
USB HID gadget support and configuration of this feature through configfs.
|
|
|
|
The project should also be easily portable to any linux device with a configured USB HID gadget and GPIO support through wiringX.
|
|
|