udev: support on FreeBSD via libepoll-shim/libudev-devd

This commit is contained in:
Greg V 2019-01-01 03:16:33 +03:00
parent a1c15b5362
commit a838582b11
3 changed files with 14 additions and 1 deletions

View File

@ -32,6 +32,8 @@ DEFINES += -DGLOBAL_CONFIG_DIR='"$(GLOBAL_CONFIG_DIR)"'
ifneq ($(findstring BSD,$(OS)),)
CFLAGS += -DBSD
LDFLAGS += -L/usr/local/lib
UDEV_CFLAGS += -I/usr/local/include/libepoll-shim
UDEV_LIBS += -lepoll-shim
endif
ifneq ($(findstring DOS,$(OS)),)

View File

@ -14,7 +14,8 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
/* TODO/FIXME - set this once the kqueue codepath is implemented and working properly */
/* TODO/FIXME - set this once the kqueue codepath is implemented and working properly,
* also remove libepoll-shim from the Makefile when that happens. */
#if 1
#define HAVE_EPOLL
#else
@ -46,7 +47,9 @@
#include <sys/poll.h>
#include <libudev.h>
#ifdef __linux__
#include <linux/types.h>
#endif
#include <linux/input.h>
#include <linux/kd.h>
@ -1204,7 +1207,9 @@ static void *udev_input_init(const char *joypad_driver)
udev->joypad = input_joypad_init_driver(joypad_driver, udev);
input_keymaps_init_keyboard_lut(rarch_key_map_linux);
#ifdef __linux__
linux_terminal_disable_input();
#endif
#ifndef HAVE_X11
RARCH_WARN("[udev]: Full-screen pointer won't be available.\n");
@ -1299,7 +1304,11 @@ input_driver_t input_udev = {
udev_input_get_capabilities,
"udev",
udev_input_grab_mouse,
#ifdef __linux__
linux_terminal_grab_stdin,
#else
NULL,
#endif
udev_input_set_rumble,
udev_input_get_joypad_driver,
NULL,

View File

@ -25,7 +25,9 @@
#include <sys/stat.h>
#include <sys/poll.h>
#include <libudev.h>
#ifdef __linux__
#include <linux/types.h>
#endif
#include <linux/input.h>
#include <retro_inline.h>