mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:07:47 +00:00
Start working on a simple TextBox widget.
This commit is contained in:
parent
6f1b384cde
commit
dfb70ed234
7 changed files with 201 additions and 2 deletions
|
@ -32,6 +32,16 @@ static inline MouseButton toMouseButton(byte sdlButton)
|
|||
void EventLoopSDL::handleKeyEvent(Event::Type type, const SDL_KeyboardEvent& sdlKey)
|
||||
{
|
||||
auto keyEvent = make<KeyEvent>(type, 0);
|
||||
int key = 0;
|
||||
|
||||
switch (sdlKey.keysym.sym) {
|
||||
case SDLK_LEFT: key = KeyboardKey::LeftArrow; break;
|
||||
case SDLK_RIGHT: key = KeyboardKey::RightArrow; break;
|
||||
case SDLK_UP: key = KeyboardKey::UpArrow; break;
|
||||
case SDLK_DOWN: key = KeyboardKey::DownArrow; break;
|
||||
case SDLK_BACKSPACE: key = KeyboardKey::Backspace; break;
|
||||
}
|
||||
keyEvent->m_key = key;
|
||||
|
||||
if (sdlKey.keysym.sym > SDLK_UNKNOWN && sdlKey.keysym.sym <= 'z') {
|
||||
char buf[] = { 0, 0 };
|
||||
|
@ -62,6 +72,7 @@ void EventLoopSDL::handleKeyEvent(Event::Type type, const SDL_KeyboardEvent& sdl
|
|||
case ']': ch = '}'; break;
|
||||
case '\\': ch = '|'; break;
|
||||
case '\'': ch = '"'; break;
|
||||
case ';': ch = ':'; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue