/*
* Because newly added code is really long, It looks ugly to paste here.
* execute git diff on Keyboard.c and h
*/
/* newly added structures and functions:
* kKeyMappingEntryStruct (structure that maps scan code to ascii)
* kKeyboardManagerStruct (structure that saves current keyboard state)
*
* gs_stKeyboardManager (global singleton of kKeyboardManagerStruct)
* gs_vstKeyMappingTable (table that maps scan code to ascii)
*
* Below functions are related to kKeyboardManagerStruct
* kShouldUseCombinedCode (private)
* kIsAlphabetScanCode (private)
* kIsNumberOrSymbolScanCode (private)
* kIsNumberPadScanCode (private)
* updateCombinationKeyStatusAndLED (private)
*
* kConvertScanCodeToASCIICode (public)
*/ -
Most scan code is
1 byte -
Extended scan code is
2 bytesand they start with0xE0 -
A unique key, pause, is extended scan code whose size is
3 bytesand starts with0xE1 -
Released key scan code has
bit 7set
