~rabbits/uxn

c61be654d6d7c6269f9a4835f966a23ee9a980a4 — d_m 27 days ago 1014229
Pass through more keysyms when control is pressed.
1 files changed, 9 insertions(+), 4 deletions(-)

M src/uxnemu.c
M src/uxnemu.c => src/uxnemu.c +9 -4
@@ 341,11 341,16 @@ get_vector_joystick(SDL_Event *event)
static Uint8
get_key(SDL_Event *event)
{
	int sym = event->key.keysym.sym;
	SDL_Keymod mods = SDL_GetModState();
	if(event->key.keysym.sym < 0x20 || event->key.keysym.sym == SDLK_DELETE)
		return event->key.keysym.sym;
	if((mods & KMOD_CTRL) && event->key.keysym.sym >= SDLK_a && event->key.keysym.sym <= SDLK_z)
		return event->key.keysym.sym - (mods & KMOD_SHIFT) * 0x20;
	if(sym < 0x20 || sym == SDLK_DELETE)
		return sym;
	if(mods & KMOD_CTRL) {
		if(sym < SDLK_a)
			return sym;
		else if(sym <= SDLK_z)
			return sym - (mods & KMOD_SHIFT) * 0x20;
	}
	return 0x00;
}