# KEYBOARD

## Defines
#define | DEBUG_MSG MIOS32_MIDI_SendDebugMessage
#define | MATRIX_NUM_ROWS 16
#define | KEYBOARD_NUM_PINS (16*MATRIX_NUM_ROWS)
#define | FANTOM_XR_VARIANT 0
## Functions
s32 | KEYBOARD_Init (u32 mode)
s32 | KEYBOARD_ConnectedNumSet (u8 num)
u8 | KEYBOARD_ConnectedNumGet (void)
void | KEYBOARD_SRIO_ServicePrepare (void)
void | KEYBOARD_SRIO_ServiceFinish (void)
void | KEYBOARD_Periodic_1mS (void)
void | KEYBOARD_AIN_NotifyChange (u32 pin, u32 pin_value)
s32 | KEYBOARD_TerminalHelp (void *_output_function)
s32 | KEYBOARD_TerminalParseLine (char *input, void *_output_function)
s32 | KEYBOARD_TerminalPrintConfig (int kb, void *_output_function)
s32 | KEYBOARD_TerminalPrintDelays (int kb, void *_output_function)
## Variables
keyboard_config_t | keyboard_config [KEYBOARD_NUM]

## Detailed Description

Keyboard Handler

## Define Documentation

#define DEBUG_MSG MIOS32_MIDI_SendDebugMessage

#define FANTOM_XR_VARIANT 0

#define KEYBOARD_NUM_PINS (16*MATRIX_NUM_ROWS)

#define MATRIX_NUM_ROWS 16

## Function Documentation

void KEYBOARD_AIN_NotifyChange | ( | u32 | pin,
|  | u32 | pin_value |
| ) |  |  |

This function should be called from AIN_NotifyChange in app.c

In addition it should be called periodically from a task to handle the reduced bandwidth function.
See also apps/controllers/midibox_kb_v1/src/app.c

         // update AINs with current value
         // the keyboard driver will only send events on value changes
         {
           int pin;

           for(pin=0; pin<8; ++pin) {
            KEYBOARD_AIN_NotifyChange(pin, MIOS32_AIN_PinGet(pin));
           }
         }

Here is the call graph for this function:

u8 KEYBOARD_ConnectedNumGet | ( | void |  | ) |

Returns number of connected keyboards

s32 KEYBOARD_ConnectedNumSet | ( | u8 | num | ) |

Sets number of connected keyboards

s32 KEYBOARD_Init | ( | u32 | mode | ) |

Initialize the keyboard handler

Parameters:

  | mode | == 0: init configuration + runtime variables
  | mode | > 0: init only runtime variables

void KEYBOARD_Periodic_1mS | ( | void |  | ) |

This function should be called periodically (each mS) to check for pin changes

Here is the call graph for this function:

void KEYBOARD_SRIO_ServiceFinish | ( | void |  | ) |

This hook is called after the shift register chain has been scanned

Here is the call graph for this function:

void KEYBOARD_SRIO_ServicePrepare | ( | void |  | ) |

This hook is called before the shift register chain is scanned

Here is the call graph for this function:

s32 KEYBOARD_TerminalHelp | ( | void * | _output_function | ) |

Returns help page for implemented terminal commands of this module

Here is the call graph for this function:

s32 KEYBOARD_TerminalParseLine | ( | char * | input,
|  | void * | _output_function |
| ) |  |  |

Parser for a complete line

Returns:
  > 0 if command line matches with UIP terminal commands

Here is the call graph for this function:

s32 KEYBOARD_TerminalPrintConfig | ( | int | kb,
|  | void * | _output_function |
| ) |  |  |

Keyboard Configuration (can also be called from external)

s32 KEYBOARD_TerminalPrintDelays | ( | int | kb,
|  | void * | _output_function |
| ) |  |  |

Keyboard Configuration (can also be called from external)

## Variable Documentation

keyboard_config_t keyboard_config[KEYBOARD_NUM]