Adding Kaypro1 functional 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)
This commit is contained in:
parent
266b59b851
commit
a017d2f270
6 changed files with 709 additions and 114 deletions
|
@ -34,15 +34,14 @@
|
|||
// ----- Defines -----
|
||||
|
||||
#define KEYBOARD_SIZE 0x4c // 76 - Size of the array space for the keyboardr(max index)
|
||||
#define KEYBOARD_BUFFER 24 // Max number of key signals to buffer
|
||||
|
||||
|
||||
|
||||
// ----- Variables -----
|
||||
|
||||
// NOTE: Highest Bit: Valid keypress (0x80 is valid keypress)
|
||||
// Other Bits: Pressed state sample counter
|
||||
extern uint8_t KeyIndex_Array [KEYBOARD_SIZE + 1];
|
||||
static const uint8_t KeyIndex_Size = KEYBOARD_SIZE;
|
||||
extern volatile uint8_t KeyIndex_Buffer[KEYBOARD_BUFFER];
|
||||
extern volatile uint8_t KeyIndex_BufferUsed;
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue