#include #include extern uint8_t systemRegister; extern uint8_t keyboardResult; extern sfKeyCode currentKey; const static sfKeyCode scanMatrix[48] = { sfKeyNum1, sfKeyNum2, sfKeyNum3, sfKeyNum4, sfKeyNum5, sfKeyNum6, sfKeyNum7, sfKeyNum8, sfKeyQ, sfKeyW, sfKeyE, sfKeyR, sfKeyT, sfKeyY, sfKeyU, sfKeyI, sfKeyA, sfKeyS, sfKeyD, sfKeyF, sfKeyG, sfKeyH, sfKeyJ, sfKeyK, sfKeyZ, sfKeyX, sfKeyC, sfKeyV, sfKeyB, sfKeyN, sfKeyM, sfKeyComma, sfKeyNum9, sfKeyNum0, sfKeyL, sfKeyO, sfKeyP, sfKeyPeriod,sfKeyEnter, sfKeyBackspace, sfKeyLShift,sfKeyLControl, sfKeyLAlt, sfKeySpace, sfKeyUp, sfKeyRight, sfKeyDown, sfKeyLeft, }; void scanKeyboard(){ keyboardResult = 0; for (int i = 0; i < 8; i++) { if (currentKey == scanMatrix[i + (((systemRegister & 0x07) % 6) * 8)]){ keyboardResult |= (0x80 >> i); } } keyboardResult ^= 0xFF; }