summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorSam Lantinga <slouken@libsdl.org>2020-11-11 19:37:47 -0800
committerSam Lantinga <slouken@libsdl.org>2020-11-11 19:37:47 -0800
commit1c42fd8b0cbf5ec30bc42981386d7a2f68f6bb1d (patch)
tree4f2da9ea5e7b5e805317c84fcc92b2d665f3e0f2 /configure.ac
parent76a10f5aab8e5b5366b21a325b86df7eb50c90e8 (diff)
downloadsdl-1c42fd8b0cbf5ec30bc42981386d7a2f68f6bb1d.tar.gz
Fixed bug 5346 - Add FreeBSD evdev KBIO keyboard input driver
wahil1976 This patch adds the KBIO text input driver for FreeBSD, which allows text input to fully work without text spilling out into the console. It also supports accented input, AltGr keys and Alt Lock combinations. Tested with US accent keys layout and various AltGr layouts.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac26
1 files changed, 26 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index ebc7a8ab8..76393e607 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2643,6 +2643,28 @@ CheckInputKD()
fi
}
+
+dnl See if we can use the FreeBSD kernel kbio.h header
+CheckInputKBIO()
+{
+ AC_MSG_CHECKING(for FreeBSD kbio.h)
+ use_input_kbio=no
+ AC_TRY_COMPILE([
+ #include <sys/kbio.h>
+ #include <sys/ioctl.h>
+ ],[
+ accentmap_t accTable;
+ ioctl(0, KDENABIO, 1);
+ ],[
+ use_input_kbio=yes
+ ])
+ AC_MSG_RESULT($use_input_kbio)
+ if test x$use_input_kbio = xyes; then
+ AC_DEFINE(SDL_INPUT_FBSDKBIO, 1, [ ])
+ SUMMARY_input="${SUMMARY_input} fbsdkbio"
+ fi
+}
+
dnl See if the platform offers libudev for device enumeration and hotplugging.
CheckLibUDev()
{
@@ -3524,6 +3546,9 @@ case "$host" in
linux)
CheckInputKD
;;
+ freebsd)
+ CheckInputKBIO
+ ;;
esac
CheckTslib
CheckUSBHID
@@ -3660,6 +3685,7 @@ case "$host" in
if test x$use_input_events = xyes; then
SOURCES="$SOURCES $srcdir/src/core/linux/SDL_evdev.c"
SOURCES="$SOURCES $srcdir/src/core/linux/SDL_evdev_kbd.c"
+ SOURCES="$SOURCES $srcdir/src/core/freebsd/SDL_evdev_kbd_freebsd.c"
fi
# Set up other core UNIX files
SOURCES="$SOURCES $srcdir/src/core/linux/SDL_evdev_capabilities.c"