diff options
author | marha <marha@users.sourceforge.net> | 2011-05-29 15:44:00 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-05-29 15:44:00 +0200 |
commit | 75b5635aa9e9791d10e3f63538e75237303ee6da (patch) | |
tree | 3467c4f258773ec64aea7c4dda11b8574df9791f /xorg-server/hw/xfree86/common/xf86Xinput.c | |
parent | b2e1c9dff46fdf1b5936115531693981454ca466 (diff) | |
parent | 1ccf18dc09e288ddf937aa890b50c8d0a9df4319 (diff) | |
download | vcxsrv-75b5635aa9e9791d10e3f63538e75237303ee6da.tar.gz vcxsrv-75b5635aa9e9791d10e3f63538e75237303ee6da.tar.bz2 vcxsrv-75b5635aa9e9791d10e3f63538e75237303ee6da.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
libX11/specs/libX11/CH08.xml
mesalib/src/mesa/main/dlist.c
mesalib/src/mesa/main/fbobject.c
mesalib/src/mesa/main/queryobj.c
mesalib/src/mesa/main/shaderapi.c
mesalib/src/mesa/main/teximage.c
mesalib/src/mesa/program/ir_to_mesa.cpp
mesalib/src/mesa/state_tracker/st_atom_pixeltransfer.c
mesalib/src/mesa/state_tracker/st_cb_bufferobjects.c
mesalib/src/mesa/state_tracker/st_cb_drawpixels.c
mesalib/src/mesa/state_tracker/st_cb_readpixels.c
mesalib/src/mesa/state_tracker/st_cb_texture.c
mkfontscale/list.h
pixman/pixman/Makefile.win32
xorg-server/dix/devices.c
xorg-server/dix/events.c
xorg-server/dix/inpututils.c
xorg-server/fb/fbbltone.c
xorg-server/hw/kdrive/ephyr/ephyr.c
xorg-server/hw/kdrive/ephyr/ephyrinit.c
xorg-server/hw/xfree86/common/xf86Module.h
xorg-server/hw/xfree86/common/xf86Xinput.c
xorg-server/hw/xfree86/man/xorg.conf.man
xorg-server/hw/xwin/winkeybd.c
xorg-server/hw/xwin/winmouse.c
xorg-server/include/input.h
xorg-server/include/inputstr.h
xorg-server/mi/mieq.c
xorg-server/randr/rrscreen.c
xorg-server/xkeyboard-config/rules/base.extras.xml.in
xorg-server/xkeyboard-config/rules/base.xml.in
Diffstat (limited to 'xorg-server/hw/xfree86/common/xf86Xinput.c')
-rw-r--r-- | xorg-server/hw/xfree86/common/xf86Xinput.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/xorg-server/hw/xfree86/common/xf86Xinput.c b/xorg-server/hw/xfree86/common/xf86Xinput.c index b8d866429..afef0994d 100644 --- a/xorg-server/hw/xfree86/common/xf86Xinput.c +++ b/xorg-server/hw/xfree86/common/xf86Xinput.c @@ -470,6 +470,20 @@ match_path_pattern(const char *attr, const char *pattern) #endif
/*
+ * If no Layout section is found, xf86ServerLayout.id becomes "(implicit)"
+ * It is convenient that "" in patterns means "no explicit layout"
+ */
+static int
+match_string_implicit(const char *attr, const char *pattern)
+{
+ if (strlen(pattern)) {
+ return strcmp(attr, pattern);
+ } else {
+ return strcmp(attr,"(implicit)");
+ }
+}
+
+/*
* Match an attribute against a list of NULL terminated arrays of patterns.
* If a pattern in each list entry is matched, return TRUE.
*/
@@ -564,6 +578,13 @@ InputClassMatches(const XF86ConfInputClassPtr iclass, const InputInfoPtr idev, return FALSE;
}
+ /* MatchLayout string */
+ if (!list_is_empty(&iclass->match_layout)) {
+ if (!MatchAttrToken(xf86ConfigLayout.id,
+ &iclass->match_layout, match_string_implicit))
+ return FALSE;
+ }
+
/* MatchIs* booleans */
if (iclass->is_keyboard.set &&
iclass->is_keyboard.val != !!(attrs->flags & ATTR_KEYBOARD))
|