Serial Wombat 18AB Firmware
Public Attributes | List of all members
PS2Keyboard_n Struct Reference

Public Attributes

uint16_t queue [PS2KB_QUEUE_LENGTH]
 A buffer used to hold queued bytes, or in the case of PS2KEYBOARD_QUEUEDATA_CURRENTLY_PRESSED an array of 256 bits. More...
 
uint16_t queueAddress
 An address if you want to use an external queue defined in the User memory area instead of the in-pin queue. More...
 
uint16_t bytesProcessed
 The number of bytes processed by the PS2 processor. Includes make, break, and extended bytes. More...
 
uint8_t bytesInQueue
 The number of bytes available in the in-pin queue. More...
 
uint8_t queueDataMode
 The mode of the data queue. See enumerated types PS2KEYBOARD_QUEUEDATA_t. More...
 
uint8_t lastNextDMA
 Used to store the next DMA location to be read. More...
 
uint8_t dataPin
 The pin connected to the PS2 data line (clock line is the pin running the state machine) More...
 
uint8_t state
 Current PS2 Decoding state. More...
 
uint8_t data
 Current data byte being assembled by the PS2 State machine. More...
 
uint8_t lastCodeBreak:1
 A Break code has been received prior to the key code. More...
 
uint8_t lastCodeExtended:1
 An Extended code has been received prior to the key code. More...
 
uint8_t leftShiftActive:1
 Left shift is currently pressed. More...
 
uint8_t rightShiftActive:1
 Right shift is currently pressed. More...
 
uint8_t publicDataOutput:2
 Public data output: 0 outputs the last non extended make code: 1 - Outputs Ascii of the last make code 2- Increments on each make. More...
 

Member Data Documentation

◆ bytesInQueue

uint8_t PS2Keyboard_n::bytesInQueue

The number of bytes available in the in-pin queue.

◆ bytesProcessed

uint16_t PS2Keyboard_n::bytesProcessed

The number of bytes processed by the PS2 processor. Includes make, break, and extended bytes.

◆ data

uint8_t PS2Keyboard_n::data

Current data byte being assembled by the PS2 State machine.

◆ dataPin

uint8_t PS2Keyboard_n::dataPin

The pin connected to the PS2 data line (clock line is the pin running the state machine)

◆ lastCodeBreak

uint8_t PS2Keyboard_n::lastCodeBreak

A Break code has been received prior to the key code.

◆ lastCodeExtended

uint8_t PS2Keyboard_n::lastCodeExtended

An Extended code has been received prior to the key code.

◆ lastNextDMA

uint8_t PS2Keyboard_n::lastNextDMA

Used to store the next DMA location to be read.

◆ leftShiftActive

uint8_t PS2Keyboard_n::leftShiftActive

Left shift is currently pressed.

◆ publicDataOutput

uint8_t PS2Keyboard_n::publicDataOutput

Public data output: 0 outputs the last non extended make code: 1 - Outputs Ascii of the last make code 2- Increments on each make.

◆ queue

uint16_t PS2Keyboard_n::queue[PS2KB_QUEUE_LENGTH]

A buffer used to hold queued bytes, or in the case of PS2KEYBOARD_QUEUEDATA_CURRENTLY_PRESSED an array of 256 bits.

◆ queueAddress

uint16_t PS2Keyboard_n::queueAddress

An address if you want to use an external queue defined in the User memory area instead of the in-pin queue.

◆ queueDataMode

uint8_t PS2Keyboard_n::queueDataMode

The mode of the data queue. See enumerated types PS2KEYBOARD_QUEUEDATA_t.

◆ rightShiftActive

uint8_t PS2Keyboard_n::rightShiftActive

Right shift is currently pressed.

◆ state

uint8_t PS2Keyboard_n::state

Current PS2 Decoding state.