xserver-xorg-input-keyboard: Changes to 'upstream-unstable'
configure.ac | 4 -
src/bsd_KbdMap.c | 30 ++++++--
src/kbd.c | 189 +++++++++++++++++++------------------------------------
3 files changed, 92 insertions(+), 131 deletions(-)
New commits:
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>
diff --git a/configure.ac b/configure.ac
index 993d5a8..c3ebdf3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-input-keyboard],
- [1.8.1],
+ [1.9.0],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-input-keyboard])
AC_CONFIG_SRCDIR([Makefile.am])
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>
diff --git a/src/kbd.c b/src/kbd.c
index e378dcc..be6948c 100644
--- a/src/kbd.c
+++ b/src/kbd.c
@@ -45,6 +45,10 @@
#include "xkbstr.h"
#include "xkbsrv.h"
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 23
+#define HAVE_THREADED_INPUT 1
+#endif
+
#define CAPSFLAG 1
#define NUMFLAG 2
#define SCROLLFLAG 4
@@ -352,7 +356,11 @@ KbdProc(DeviceIntPtr device, int what)
*/
if (pInfo->fd >= 0) {
xf86FlushInput(pInfo->fd);
+#if HAVE_THREADED_INPUT
+ xf86AddEnabledDevice(pInfo);
+#else
AddEnabledDevice(pInfo->fd);
+#endif
}
device->public.on = TRUE;
@@ -365,8 +373,13 @@ KbdProc(DeviceIntPtr device, int what)
/*
* Restore original keyboard directness and translation.
*/
- if (pInfo->fd != -1)
+ if (pInfo->fd != -1) {
+#if HAVE_THREADED_INPUT
+ xf86RemoveEnabledDevice(pInfo);
+#else
RemoveEnabledDevice(pInfo->fd);
+#endif
+ }
pKbd->KbdOff(pInfo, what);
device->public.on = FALSE;
break;
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>
diff --git a/configure.ac b/configure.ac
index 6fd6576..993d5a8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -44,7 +44,7 @@ XORG_MACROS_VERSION(1.8)
XORG_DEFAULT_OPTIONS
# 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
AC_ARG_WITH(xorg-module-dir,
diff --git a/src/kbd.c b/src/kbd.c
index 1ce4ee6..e378dcc 100644
--- a/src/kbd.c
+++ b/src/kbd.c
@@ -53,11 +53,7 @@
/* Used to know when the first DEVICE_ON after a DEVICE_INIT is called */
#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);
-#endif
static int KbdProc(DeviceIntPtr device, int what);
static void KbdCtrl(DeviceIntPtr device, KeybdCtrl *ctrl);
static void KbdBell(int percent, DeviceIntPtr dev, pointer ctrl, int unused);
@@ -132,43 +128,8 @@ _X_EXPORT XF86ModuleData kbdModuleData = {
NULL
};
-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
-static int
-NewKbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags);
-
-static InputInfoPtr
-KbdPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
-{
- InputInfoPtr pInfo;
-
- 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
-NewKbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
-#else
static int
KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
-#endif
{
KbdDevPtr pKbd;
char *s;
@@ -189,11 +150,7 @@ KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
pInfo->dev = NULL;
defaults = kbdDefaults;
- xf86CollectInputOptions(pInfo, defaults
-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- , NULL
-#endif
- );
+ xf86CollectInputOptions(pInfo, defaults);
xf86ProcessCommonOptions(pInfo, pInfo->options);
if (!(pKbd = calloc(sizeof(KbdDevRec), 1))) {
@@ -335,6 +292,7 @@ KbdProc(DeviceIntPtr device, int what)
InputInfoPtr pInfo = device->public.devicePrivate;
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
+ XkbRMLVOSet rmlvo;
KeySymsRec keySyms;
CARD8 modMap[MAP_LENGTH];
int ret;
@@ -348,23 +306,19 @@ KbdProc(DeviceIntPtr device, int what)
pKbd->KbdGetMapping(pInfo, &keySyms, modMap);
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;
- 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))
- {
- xf86Msg(X_ERROR, "%s: Keyboard initialization failed. This "
- "could be a missing or incorrect setup of "
- "xkeyboard-config.\n", device->name);
+ xf86Msg(X_ERROR, "%s: Keyboard initialization failed. This "
+ "could be a missing or incorrect setup of "
+ "xkeyboard-config.\n", device->name);
- return BadValue;
- }
+ return BadValue;
}
# ifdef XI_PROP_DEVICE_NODE
{
@@ -381,17 +335,6 @@ KbdProc(DeviceIntPtr device, int what)
}
}
# 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);
break;
case DEVICE_ON:
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>
diff --git a/src/kbd.c b/src/kbd.c
index 4db2e0a..1ce4ee6 100644
--- a/src/kbd.c
+++ b/src/kbd.c
@@ -66,24 +66,6 @@ static void PostKbdEvent(InputInfoPtr pInfo, unsigned int key, Bool down);
static void InitKBD(InputInfoPtr pInfo, Bool init);
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[] = {
#ifdef __NetBSD__
#ifdef DEFAULT_TO_WSKBD
@@ -106,6 +88,50 @@ static char *xkb_layout;
static char *xkb_variant;
static char *xkb_options;
+_X_EXPORT InputDriverRec KBD = {
+ 1,
+ "kbd",
+ NULL,
+ KbdPreInit,
+ NULL,
+ NULL
+};
+
+_X_EXPORT InputDriverRec KEYBOARD = {
+ 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)
+{
+ xf86AddInputDriver(&KBD, module, 0);
+ return module;
+}
+
+_X_EXPORT XF86ModuleData kbdModuleData = {
+ &xf86KbdVersionRec,
+ xf86KbdPlug,
+ NULL
+};
+
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
static int
NewKbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags);
@@ -451,35 +477,3 @@ PostKbdEvent(InputInfoPtr pInfo, unsigned int scanCode, Bool down)
xf86PostKeyboardEvent(device, scanCode + MIN_KEYCODE, down);
}
-
-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,
- NULL
-};
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>
diff --git a/src/kbd.c b/src/kbd.c
index 189adca..4db2e0a 100644
--- a/src/kbd.c
+++ b/src/kbd.c
@@ -452,11 +452,6 @@ PostKbdEvent(InputInfoPtr pInfo, unsigned int scanCode, Bool down)
xf86PostKeyboardEvent(device, scanCode + MIN_KEYCODE, down);
}
-static void
-xf86KbdUnplug(pointer p)
-{
-}
-
static pointer
xf86KbdPlug(pointer module,
pointer options,
@@ -486,5 +481,5 @@ static XF86ModuleVersionInfo xf86KbdVersionRec =
_X_EXPORT XF86ModuleData kbdModuleData = {
&xf86KbdVersionRec,
xf86KbdPlug,
- xf86KbdUnplug
+ NULL
};
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>
diff --git a/src/bsd_KbdMap.c b/src/bsd_KbdMap.c
index 123ab96..21f337d 100644
--- a/src/bsd_KbdMap.c
+++ b/src/bsd_KbdMap.c
@@ -345,17 +345,33 @@ static CARD8 wsUsbMap[] = {
/* 132 */ KEY_NOTUSED,
/* 133 */ KEY_NOTUSED,
/* 134 */ KEY_NOTUSED,
- /* 135 */ KEY_NOTUSED,
- /* 136 */ KEY_NOTUSED,
- /* 137 */ KEY_NOTUSED,
- /* 138 */ KEY_NOTUSED,
- /* 139 */ KEY_NOTUSED,
+/*
+ * Special keycodes for Japanese keyboards
+ * Override atKeyname HKTG and BSlash2 code to unique values for JP106 keyboards
+ */
+#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,
/* 141 */ KEY_NOTUSED,
/* 142 */ 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,
/* 147 */ KEY_NOTUSED,
/* 148 */ KEY_NOTUSED,
Reply to: