Update to xf86-input-keyboard 1.9.0

This commit is contained in:
matthieu 2017-01-22 09:53:08 +00:00
parent b90c377899
commit a8cb3544bb
5 changed files with 169 additions and 150 deletions

View File

@ -1,3 +1,61 @@
commit 0c7f51291f91eee61fcaf05080001a5e9b22fb53
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Nov 17 14:21:48 2016 +1000
keyboard 1.9.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 157e0631b12d0aae4a5f38b81bee615a7eaf553f
Author: Keith Packard <keithp@keithp.com>
Date: Mon May 30 01:27:49 2016 -0700
Use xf86AddEnabledDevice with threaded input
We didn't use SIGIO input for keyboard processing, but we can use
threaded input.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 9ab899863a61b800d58e078e936c0d8d88bc0893
Author: Alexandr Shadchin <alexandr.shadchin@gmail.com>
Date: Tue Nov 24 12:46:44 2015 +0500
Remove support for X input ABI < 12
Signed-off-by: Alexandr Shadchin <alexandr.shadchin@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 0317028c2bd0bfd06efd3c1f192ff9a494757187
Author: Alexandr Shadchin <alexandr.shadchin@gmail.com>
Date: Tue Nov 24 12:46:43 2015 +0500
Reorder load module stuff
Signed-off-by: Alexandr Shadchin <alexandr.shadchin@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 8096183e9cb79944e322dcc0cd1f9e50c97ad2c8
Author: Alexandr Shadchin <alexandr.shadchin@gmail.com>
Date: Tue Nov 24 12:46:42 2015 +0500
Remove empty function xf86KbdUnplug
Signed-off-by: Alexandr Shadchin <alexandr.shadchin@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit ccf63a61f39e1f107a67c33d6a7ad24ea4c76b7e
Author: Yasushi Oshima <oshima-ya@yagoto-urayama.jp>
Date: Mon Jul 20 10:49:49 2015 +0200
Add defines for Japanese 106-key USB keyboards.
Via http://gnats.netbsd.org/48347
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 13d320076e5de2d6c3cbc170fc7e31c526ed8499 commit 13d320076e5de2d6c3cbc170fc7e31c526ed8499
Author: Peter Hutterer <peter.hutterer@who-t.net> Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Apr 7 09:24:38 2015 +1000 Date: Tue Apr 7 09:24:38 2015 +1000

View File

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for xf86-input-keyboard 1.8.1. # Generated by GNU Autoconf 2.69 for xf86-input-keyboard 1.9.0.
# #
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
# #
@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='xf86-input-keyboard' PACKAGE_NAME='xf86-input-keyboard'
PACKAGE_TARNAME='xf86-input-keyboard' PACKAGE_TARNAME='xf86-input-keyboard'
PACKAGE_VERSION='1.8.1' PACKAGE_VERSION='1.9.0'
PACKAGE_STRING='xf86-input-keyboard 1.8.1' PACKAGE_STRING='xf86-input-keyboard 1.9.0'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
PACKAGE_URL='' PACKAGE_URL=''
@ -1358,7 +1358,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures xf86-input-keyboard 1.8.1 to adapt to many kinds of systems. \`configure' configures xf86-input-keyboard 1.9.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1429,7 +1429,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of xf86-input-keyboard 1.8.1:";; short | recursive ) echo "Configuration of xf86-input-keyboard 1.9.0:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1553,7 +1553,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
xf86-input-keyboard configure 1.8.1 xf86-input-keyboard configure 1.9.0
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1877,7 +1877,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by xf86-input-keyboard $as_me 1.8.1, which was It was created by xf86-input-keyboard $as_me 1.9.0, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2706,7 +2706,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='xf86-input-keyboard' PACKAGE='xf86-input-keyboard'
VERSION='1.8.1' VERSION='1.9.0'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -17549,12 +17549,12 @@ if test -n "$XORG_CFLAGS"; then
pkg_cv_XORG_CFLAGS="$XORG_CFLAGS" pkg_cv_XORG_CFLAGS="$XORG_CFLAGS"
elif test -n "$PKG_CONFIG"; then elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \ if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.4 xproto inputproto\""; } >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.10 xproto inputproto\""; } >&5
($PKG_CONFIG --exists --print-errors "xorg-server >= 1.4 xproto inputproto") 2>&5 ($PKG_CONFIG --exists --print-errors "xorg-server >= 1.10 xproto inputproto") 2>&5
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then test $ac_status = 0; }; then
pkg_cv_XORG_CFLAGS=`$PKG_CONFIG --cflags "xorg-server >= 1.4 xproto inputproto" 2>/dev/null` pkg_cv_XORG_CFLAGS=`$PKG_CONFIG --cflags "xorg-server >= 1.10 xproto inputproto" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes test "x$?" != "x0" && pkg_failed=yes
else else
pkg_failed=yes pkg_failed=yes
@ -17566,12 +17566,12 @@ if test -n "$XORG_LIBS"; then
pkg_cv_XORG_LIBS="$XORG_LIBS" pkg_cv_XORG_LIBS="$XORG_LIBS"
elif test -n "$PKG_CONFIG"; then elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \ if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.4 xproto inputproto\""; } >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.10 xproto inputproto\""; } >&5
($PKG_CONFIG --exists --print-errors "xorg-server >= 1.4 xproto inputproto") 2>&5 ($PKG_CONFIG --exists --print-errors "xorg-server >= 1.10 xproto inputproto") 2>&5
ac_status=$? ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then test $ac_status = 0; }; then
pkg_cv_XORG_LIBS=`$PKG_CONFIG --libs "xorg-server >= 1.4 xproto inputproto" 2>/dev/null` pkg_cv_XORG_LIBS=`$PKG_CONFIG --libs "xorg-server >= 1.10 xproto inputproto" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes test "x$?" != "x0" && pkg_failed=yes
else else
pkg_failed=yes pkg_failed=yes
@ -17592,14 +17592,14 @@ else
_pkg_short_errors_supported=no _pkg_short_errors_supported=no
fi fi
if test $_pkg_short_errors_supported = yes; then if test $_pkg_short_errors_supported = yes; then
XORG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xorg-server >= 1.4 xproto inputproto" 2>&1` XORG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xorg-server >= 1.10 xproto inputproto" 2>&1`
else else
XORG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xorg-server >= 1.4 xproto inputproto" 2>&1` XORG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xorg-server >= 1.10 xproto inputproto" 2>&1`
fi fi
# Put the nasty error message in config.log where it belongs # Put the nasty error message in config.log where it belongs
echo "$XORG_PKG_ERRORS" >&5 echo "$XORG_PKG_ERRORS" >&5
as_fn_error $? "Package requirements (xorg-server >= 1.4 xproto inputproto) were not met: as_fn_error $? "Package requirements (xorg-server >= 1.10 xproto inputproto) were not met:
$XORG_PKG_ERRORS $XORG_PKG_ERRORS
@ -18272,7 +18272,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by xf86-input-keyboard $as_me 1.8.1, which was This file was extended by xf86-input-keyboard $as_me 1.9.0, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -18338,7 +18338,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
xf86-input-keyboard config.status 1.8.1 xf86-input-keyboard config.status 1.9.0
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View File

@ -23,7 +23,7 @@
# Initialize Autoconf # Initialize Autoconf
AC_PREREQ([2.60]) AC_PREREQ([2.60])
AC_INIT([xf86-input-keyboard], AC_INIT([xf86-input-keyboard],
[1.8.1], [1.9.0],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-input-keyboard]) [xf86-input-keyboard])
AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_SRCDIR([Makefile.am])
@ -44,7 +44,7 @@ XORG_MACROS_VERSION(1.8)
XORG_DEFAULT_OPTIONS XORG_DEFAULT_OPTIONS
# Obtain compiler/linker options from server and required extensions # Obtain compiler/linker options from server and required extensions
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.4] xproto inputproto) PKG_CHECK_MODULES(XORG, [xorg-server >= 1.10] xproto inputproto)
# Define a configure option for an alternate input module directory # Define a configure option for an alternate input module directory
AC_ARG_WITH(xorg-module-dir, AC_ARG_WITH(xorg-module-dir,

View File

@ -345,17 +345,33 @@ static CARD8 wsUsbMap[] = {
/* 132 */ KEY_NOTUSED, /* 132 */ KEY_NOTUSED,
/* 133 */ KEY_NOTUSED, /* 133 */ KEY_NOTUSED,
/* 134 */ KEY_NOTUSED, /* 134 */ KEY_NOTUSED,
/* 135 */ KEY_NOTUSED, /*
/* 136 */ KEY_NOTUSED, * Special keycodes for Japanese keyboards
/* 137 */ KEY_NOTUSED, * Override atKeyname HKTG and BSlash2 code to unique values for JP106 keyboards
/* 138 */ KEY_NOTUSED, */
/* 139 */ KEY_NOTUSED, #undef KEY_HKTG
#define KEY_HKTG 200 /* Japanese Hiragana Katakana Toggle */
#undef KEY_BSlash2
#define KEY_BSlash2 203 /* Japanese '\_' key */
/* 135 */ KEY_BSlash2, /* Japanese 106 kbd: '\_' */
/* 136 */ KEY_HKTG, /* Japanese 106 kbd: Hiragana Katakana toggle */
/* 137 */ KEY_Yen, /* Japanese 106 kbd: '\|' */
/* 138 */ KEY_XFER, /* Japanese 106 kbd: Henkan */
/* 139 */ KEY_NFER, /* Japanese 106 kbd: Muhenkan */
/* 140 */ KEY_NOTUSED, /* 140 */ KEY_NOTUSED,
/* 141 */ KEY_NOTUSED, /* 141 */ KEY_NOTUSED,
/* 142 */ KEY_NOTUSED, /* 142 */ KEY_NOTUSED,
/* 143 */ KEY_NOTUSED, /* 143 */ KEY_NOTUSED,
/* 144 */ KEY_NOTUSED, /*
/* 145 */ KEY_NOTUSED, * Special keycodes for Korean keyboards
* Define Hangul and Hangul_Hanja unique key codes
* These keys also use KANA and EISU on some Macintosh Japanese USB keyboards
*/
#define KEY_Hangul 201 /* Also KANA Key on Mac JP USB kbd */
#define KEY_Hangul_Hanja 202 /* Also EISU Key on Mac JP USB kbd */
/* 144 */ KEY_Hangul, /* Korean 106 kbd: Hangul */
/* 145 */ KEY_Hangul_Hanja, /* Korean 106 kbd: Hangul Hanja */
/* 146 */ KEY_NOTUSED, /* 146 */ KEY_NOTUSED,
/* 147 */ KEY_NOTUSED, /* 147 */ KEY_NOTUSED,
/* 148 */ KEY_NOTUSED, /* 148 */ KEY_NOTUSED,

View File

@ -45,6 +45,10 @@
#include "xkbstr.h" #include "xkbstr.h"
#include "xkbsrv.h" #include "xkbsrv.h"
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 23
#define HAVE_THREADED_INPUT 1
#endif
#define CAPSFLAG 1 #define CAPSFLAG 1
#define NUMFLAG 2 #define NUMFLAG 2
#define SCROLLFLAG 4 #define SCROLLFLAG 4
@ -53,11 +57,7 @@
/* Used to know when the first DEVICE_ON after a DEVICE_INIT is called */ /* Used to know when the first DEVICE_ON after a DEVICE_INIT is called */
#define INITFLAG (1U << 31) #define INITFLAG (1U << 31)
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
static InputInfoPtr KbdPreInit(InputDriverPtr drv, IDevPtr dev, int flags);
#else
static int KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags); static int KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags);
#endif
static int KbdProc(DeviceIntPtr device, int what); static int KbdProc(DeviceIntPtr device, int what);
static void KbdCtrl(DeviceIntPtr device, KeybdCtrl *ctrl); static void KbdCtrl(DeviceIntPtr device, KeybdCtrl *ctrl);
static void KbdBell(int percent, DeviceIntPtr dev, pointer ctrl, int unused); static void KbdBell(int percent, DeviceIntPtr dev, pointer ctrl, int unused);
@ -66,24 +66,6 @@ static void PostKbdEvent(InputInfoPtr pInfo, unsigned int key, Bool down);
static void InitKBD(InputInfoPtr pInfo, Bool init); static void InitKBD(InputInfoPtr pInfo, Bool init);
static void UpdateLeds(InputInfoPtr pInfo); static void UpdateLeds(InputInfoPtr pInfo);
_X_EXPORT InputDriverRec KBD = {
1,
"kbd",
NULL,
KbdPreInit,
NULL,
NULL
};
_X_EXPORT InputDriverRec KEYBOARD = {
1,
"keyboard",
NULL,
KbdPreInit,
NULL,
NULL
};
static const char *kbdDefaults[] = { static const char *kbdDefaults[] = {
#ifdef __NetBSD__ #ifdef __NetBSD__
#ifdef DEFAULT_TO_WSKBD #ifdef DEFAULT_TO_WSKBD
@ -106,43 +88,52 @@ static char *xkb_layout;
static char *xkb_variant; static char *xkb_variant;
static char *xkb_options; static char *xkb_options;
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 _X_EXPORT InputDriverRec KBD = {
static int 1,
NewKbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags); "kbd",
NULL,
KbdPreInit,
NULL,
NULL
};
static InputInfoPtr _X_EXPORT InputDriverRec KEYBOARD = {
KbdPreInit(InputDriverPtr drv, IDevPtr dev, int flags) 1,
"keyboard",
NULL,
KbdPreInit,
NULL,
NULL
};
static XF86ModuleVersionInfo xf86KbdVersionRec = {
"kbd",
MODULEVENDORSTRING,
MODINFOSTRING1,
MODINFOSTRING2,
XORG_VERSION_CURRENT,
PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
ABI_CLASS_XINPUT,
ABI_XINPUT_VERSION,
MOD_CLASS_XINPUT,
{0, 0, 0, 0}
};
static pointer
xf86KbdPlug(pointer module, pointer options, int *errmaj, int *errmin)
{ {
InputInfoPtr pInfo; xf86AddInputDriver(&KBD, module, 0);
return module;
if (!(pInfo = xf86AllocateInput(drv, 0)))
return NULL;
pInfo->name = dev->identifier;
pInfo->flags = XI86_KEYBOARD_CAPABLE;
pInfo->conversion_proc = NULL;
pInfo->reverse_conversion_proc = NULL;
pInfo->private_flags = 0;
pInfo->always_core_feedback = NULL;
pInfo->conf_idev = dev;
pInfo->close_proc = NULL;
if (NewKbdPreInit(drv, pInfo, flags) == Success)
{
pInfo->flags |= XI86_CONFIGURED;
return pInfo;
}
xf86DeleteInput(pInfo, 0);
return NULL;
} }
static int _X_EXPORT XF86ModuleData kbdModuleData = {
NewKbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) &xf86KbdVersionRec,
#else xf86KbdPlug,
NULL
};
static int static int
KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
#endif
{ {
KbdDevPtr pKbd; KbdDevPtr pKbd;
char *s; char *s;
@ -163,11 +154,7 @@ KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
pInfo->dev = NULL; pInfo->dev = NULL;
defaults = kbdDefaults; defaults = kbdDefaults;
xf86CollectInputOptions(pInfo, defaults xf86CollectInputOptions(pInfo, defaults);
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
, NULL
#endif
);
xf86ProcessCommonOptions(pInfo, pInfo->options); xf86ProcessCommonOptions(pInfo, pInfo->options);
if (!(pKbd = calloc(sizeof(KbdDevRec), 1))) { if (!(pKbd = calloc(sizeof(KbdDevRec), 1))) {
@ -309,6 +296,7 @@ KbdProc(DeviceIntPtr device, int what)
InputInfoPtr pInfo = device->public.devicePrivate; InputInfoPtr pInfo = device->public.devicePrivate;
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private; KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
XkbRMLVOSet rmlvo;
KeySymsRec keySyms; KeySymsRec keySyms;
CARD8 modMap[MAP_LENGTH]; CARD8 modMap[MAP_LENGTH];
int ret; int ret;
@ -322,23 +310,19 @@ KbdProc(DeviceIntPtr device, int what)
pKbd->KbdGetMapping(pInfo, &keySyms, modMap); pKbd->KbdGetMapping(pInfo, &keySyms, modMap);
device->public.on = FALSE; device->public.on = FALSE;
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 5 rmlvo.rules = xkb_rules;
rmlvo.model = xkb_model;
rmlvo.layout = xkb_layout;
rmlvo.variant = xkb_variant;
rmlvo.options = xkb_options;
if (!InitKeyboardDeviceStruct(device, &rmlvo, KbdBell, KbdCtrl))
{ {
XkbRMLVOSet rmlvo; xf86Msg(X_ERROR, "%s: Keyboard initialization failed. This "
rmlvo.rules = xkb_rules; "could be a missing or incorrect setup of "
rmlvo.model = xkb_model; "xkeyboard-config.\n", device->name);
rmlvo.layout = xkb_layout;
rmlvo.variant = xkb_variant;
rmlvo.options = xkb_options;
if (!InitKeyboardDeviceStruct(device, &rmlvo, KbdBell, KbdCtrl)) return BadValue;
{
xf86Msg(X_ERROR, "%s: Keyboard initialization failed. This "
"could be a missing or incorrect setup of "
"xkeyboard-config.\n", device->name);
return BadValue;
}
} }
# ifdef XI_PROP_DEVICE_NODE # ifdef XI_PROP_DEVICE_NODE
{ {
@ -355,17 +339,6 @@ KbdProc(DeviceIntPtr device, int what)
} }
} }
# endif /* XI_PROP_DEVICE_NODE */ # endif /* XI_PROP_DEVICE_NODE */
#else
{
XkbComponentNamesRec xkbnames;
memset(&xkbnames, 0, sizeof(xkbnames));
XkbSetRulesDflts(xkb_rules, xkb_model, xkb_layout,
xkb_variant, xkb_options);
XkbInitKeyboardDeviceStruct(device, &xkbnames, &keySyms,
modMap, KbdBell,
(KbdCtrlProcPtr)KbdCtrl);
}
#endif /* XINPUT ABI 5*/
InitKBD(pInfo, TRUE); InitKBD(pInfo, TRUE);
break; break;
case DEVICE_ON: case DEVICE_ON:
@ -383,7 +356,11 @@ KbdProc(DeviceIntPtr device, int what)
*/ */
if (pInfo->fd >= 0) { if (pInfo->fd >= 0) {
xf86FlushInput(pInfo->fd); xf86FlushInput(pInfo->fd);
#if HAVE_THREADED_INPUT
xf86AddEnabledDevice(pInfo);
#else
AddEnabledDevice(pInfo->fd); AddEnabledDevice(pInfo->fd);
#endif
} }
device->public.on = TRUE; device->public.on = TRUE;
@ -396,8 +373,13 @@ KbdProc(DeviceIntPtr device, int what)
/* /*
* Restore original keyboard directness and translation. * Restore original keyboard directness and translation.
*/ */
if (pInfo->fd != -1) if (pInfo->fd != -1) {
#if HAVE_THREADED_INPUT
xf86RemoveEnabledDevice(pInfo);
#else
RemoveEnabledDevice(pInfo->fd); RemoveEnabledDevice(pInfo->fd);
#endif
}
pKbd->KbdOff(pInfo, what); pKbd->KbdOff(pInfo, what);
device->public.on = FALSE; device->public.on = FALSE;
break; break;
@ -451,40 +433,3 @@ PostKbdEvent(InputInfoPtr pInfo, unsigned int scanCode, Bool down)
xf86PostKeyboardEvent(device, scanCode + MIN_KEYCODE, down); xf86PostKeyboardEvent(device, scanCode + MIN_KEYCODE, down);
} }
static void
xf86KbdUnplug(pointer p)
{
}
static pointer
xf86KbdPlug(pointer module,
pointer options,
int *errmaj,
int *errmin)
{
xf86AddInputDriver(&KBD, module, 0);
return module;
}
static XF86ModuleVersionInfo xf86KbdVersionRec =
{
"kbd",
MODULEVENDORSTRING,
MODINFOSTRING1,
MODINFOSTRING2,
XORG_VERSION_CURRENT,
PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
ABI_CLASS_XINPUT,
ABI_XINPUT_VERSION,
MOD_CLASS_XINPUT,
{0, 0, 0, 0} /* signature, to be patched into the file by */
/* a tool */
};
_X_EXPORT XF86ModuleData kbdModuleData = {
&xf86KbdVersionRec,
xf86KbdPlug,
xf86KbdUnplug
};