Files
SplenkOS/kernel/src/userinput/keyboard.cpp

36 lines
737 B
C++
Raw Normal View History

2026-01-29 12:20:41 +11:00
#include "keyboard.h"
bool isLeftShiftPressed = false;
bool isRightShiftPressed = false;
void HandleKeyboard(uint8_t scancode) {
switch (scancode) {
case LeftShift:
isLeftShiftPressed = true;
return;
case LeftShift + 0x80:
isLeftShiftPressed = false;
return;
case RightShift:
isRightShiftPressed = true;
return;
case RightShift + 0x80:
isRightShiftPressed = false;
return;
case Enter:
GlobalRenderer->Next();
return;
case Spacebar:
GlobalRenderer->PutChar(' ');
return;
case Backspace:
GlobalRenderer->ClearChar();
break;
}
char ascii = QWERTYKeyboard::Translate(scancode, isLeftShiftPressed || isRightShiftPressed);
if (ascii != 0) {
GlobalRenderer->PutChar(ascii);
}
}