From 03f8528315fa46c95991a34f3325d7b33ae5538c Mon Sep 17 00:00:00 2001
From: Edward Rudd <urkle@outoforder.cc>
Date: Sat, 02 May 2020 21:48:36 +0000
Subject: [PATCH] Update source to SDL2 2.0.12
---
source/src/core/linux/SDL_evdev_kbd.c | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/source/src/core/linux/SDL_evdev_kbd.c b/source/src/core/linux/SDL_evdev_kbd.c
index 00a3a54..979ad5f 100644
--- a/source/src/core/linux/SDL_evdev_kbd.c
+++ b/source/src/core/linux/SDL_evdev_kbd.c
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -216,7 +216,6 @@
}
kbd_cleanup_state = NULL;
- fprintf(stderr, "(SDL restoring keyboard) ");
ioctl(kbd->console_fd, KDSKBMODE, kbd->old_kbd_mode);
}
@@ -345,7 +344,7 @@
SDL_EVDEV_keyboard_state *kbd;
int i;
char flag_state;
- char shift_state[2] = {TIOCL_GETSHIFTSTATE, 0};
+ char shift_state[ sizeof (long) ] = {TIOCL_GETSHIFTSTATE, 0};
kbd = (SDL_EVDEV_keyboard_state *)SDL_calloc(1, sizeof(*kbd));
if (!kbd) {
@@ -510,17 +509,19 @@
static int vc_kbd_led(SDL_EVDEV_keyboard_state *kbd, int flag)
{
- return ((kbd->ledflagstate >> flag) & 1);
+ return (kbd->ledflagstate & flag) != 0;
}
static void set_vc_kbd_led(SDL_EVDEV_keyboard_state *kbd, int flag)
{
- kbd->ledflagstate |= 1 << flag;
+ kbd->ledflagstate |= flag;
+ ioctl(kbd->console_fd, KDSETLED, (unsigned long)(kbd->ledflagstate));
}
static void clr_vc_kbd_led(SDL_EVDEV_keyboard_state *kbd, int flag)
{
- kbd->ledflagstate &= ~(1 << flag);
+ kbd->ledflagstate &= ~flag;
+ ioctl(kbd->console_fd, KDSETLED, (unsigned long)(kbd->ledflagstate));
}
static void chg_vc_kbd_lock(SDL_EVDEV_keyboard_state *kbd, int flag)
@@ -535,7 +536,8 @@
static void chg_vc_kbd_led(SDL_EVDEV_keyboard_state *kbd, int flag)
{
- kbd->ledflagstate ^= 1 << flag;
+ kbd->ledflagstate ^= flag;
+ ioctl(kbd->console_fd, KDSETLED, (unsigned long)(kbd->ledflagstate));
}
/*
--
Gitblit v1.9.3