summaryrefslogtreecommitdiff
path: root/hw/xfree86/parser/xf86Parser.h
diff options
context:
space:
mode:
authorDan Nicholson <dbn.lists@gmail.com>2010-06-07 20:39:57 -0700
committerPeter Hutterer <peter.hutterer@who-t.net>2010-06-11 09:41:02 +1000
commita71bdff47d4cc80da6ceeb548db1dcc8e8b59702 (patch)
tree04c8481244bbfba1da2568af7626eed6f623f1da /hw/xfree86/parser/xf86Parser.h
parent842625928632ae767b0689fcdb5103c1779a4c91 (diff)
xfree86: Allow multiple InputClass Match* entries for && matching
Currently when there multiple InputClass entries of the same type, only the last entry is used and the previous ones are ignored. Instead, multiple entries are used to create multiple matching conditions. For instance, an InputClass with MatchProduct "foo" MatchProduct "bar" will require that the device's product name contain both foo and bar. This provides a complement to the || style matching when an entry is split using the "|" token. The xorg.conf man page has added an example to hopefully clarify the two types of compound matches. Signed-off-by: Dan Nicholson <dbn.lists@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'hw/xfree86/parser/xf86Parser.h')
-rw-r--r--hw/xfree86/parser/xf86Parser.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/hw/xfree86/parser/xf86Parser.h b/hw/xfree86/parser/xf86Parser.h
index a86462f93..26d9a5b33 100644
--- a/hw/xfree86/parser/xf86Parser.h
+++ b/hw/xfree86/parser/xf86Parser.h
@@ -66,6 +66,7 @@
#include <X11/Xdefs.h>
#include "xf86Optrec.h"
+#include "list.h"
#define HAVE_PARSER_DECLS
@@ -340,16 +341,23 @@ xf86TriState;
typedef struct
{
+ struct list entry;
+ char **values;
+}
+xf86MatchGroup;
+
+typedef struct
+{
GenericListRec list;
char *identifier;
char *driver;
- char **match_product;
- char **match_vendor;
- char **match_device;
- char **match_os;
- char **match_pnpid;
- char **match_usbid;
- char **match_tag;
+ struct list match_product;
+ struct list match_vendor;
+ struct list match_device;
+ struct list match_os;
+ struct list match_pnpid;
+ struct list match_usbid;
+ struct list match_tag;
xf86TriState is_keyboard;
xf86TriState is_pointer;
xf86TriState is_joystick;