Files
wayviewer/tests/input_tests.cpp
T
2026-06-28 10:37:29 -05:00

32 lines
825 B
C++

#include "../src/input.hpp"
#include <SDL.h>
#include <rfb/keysym.h>
#include <cassert>
namespace {
SDL_Keysym keysym(SDL_Keycode key, Uint16 mod = KMOD_NONE)
{
SDL_Keysym value {};
value.sym = key;
value.mod = mod;
value.scancode = SDL_GetScancodeFromKey(key);
return value;
}
}
int main()
{
assert(wayviewer::mapSdlKey(keysym(SDLK_a)) == 'a');
assert(wayviewer::mapSdlKey(keysym(SDLK_a, KMOD_LSHIFT)) == 'A');
assert(wayviewer::mapSdlKey(keysym(SDLK_a, KMOD_CAPS)) == 'A');
assert(wayviewer::mapSdlKey(keysym(SDLK_a, KMOD_LSHIFT | KMOD_CAPS)) == 'a');
assert(wayviewer::mapSdlKey(keysym(SDLK_1, KMOD_LSHIFT)) == '!');
assert(wayviewer::mapSdlKey(keysym(SDLK_SLASH, KMOD_LSHIFT)) == '?');
assert(wayviewer::mapSdlKey(keysym(SDLK_LSHIFT)) == XK_Shift_L);
return 0;
}