- Abstracted USB Module
- Abstracted compiler specific includes for Scan, Macro, Debug, and USB modules
- Updated CMake build files to support changes
- Added abstractions necessary to main.c as well as a compiler specific include file
- Keyboard output fully working
- Not all of the features are implemented yet (input, speaker, or power
detection)
- There is no plan for mouse support
- Uses USART instead of polling
- Supports two way communication (only 3 commands to the keyboard
though)
- Kaypro sends data as ASCII, which severely limits the handling of
modifiers
- No release signal is sent, so even faking modifiers is next to
impossible outside of Shift and Ctrl
- Includes default QWERTY and Colemak layouts
- Developed a new buffer macro, which will become the basic macro module
once all the other modules have been ported (much more efficient, as
it keeps serial scanning schemes serial, and parallel scanning schemes
such as matrix, that already serialized into a sort of buffer for the
debouncing evaluation)
- This module is quite efficient, and would be able to handle very
excessive macro processing in the future.
- If more of the keypboard communication protocol is desired, I have a
rom dump of the microcontroller (M5L8049)
- Does not output to usb yet
- USART is functionally getting characters from the keyboard and sending
beep codes and ACK request code (Baud rate properly calculated)
- Uses hard-coded keys for the PC to Keyboard commands (not desireable)
- Keyboard sends ASCII data, which makes doing things like holding
multiple keys almost impossible to detect (the board isn't NKRO
anyways, though I've found 8+ key combos that work)