Signed-off-by: Peter Hutterer <[email protected]>
---
Makefile.am | 2 +-
configure.ac | 1 +
data/Makefile.am | 6 ---
data/generate-udev-rules.c | 123 -------------------------------------------
tools/Makefile.am | 5 ++
tools/generate-udev-rules.c | 123 +++++++++++++++++++++++++++++++++++++++++++
6 files changed, 130 insertions(+), 130 deletions(-)
delete mode 100644 data/generate-udev-rules.c
create mode 100644 tools/Makefile.am
create mode 100644 tools/generate-udev-rules.c
diff --git a/Makefile.am b/Makefile.am
index 4537943..0eb1f7d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = libwacom data doc test
+SUBDIRS = libwacom data doc test tools
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libwacom.pc
diff --git a/configure.ac b/configure.ac
index 8e59aac..0905206 100644
--- a/configure.ac
+++ b/configure.ac
@@ -37,6 +37,7 @@ AC_CONFIG_FILES([Makefile
data/Makefile
doc/Makefile
test/Makefile
+ tools/Makefile
libwacom/Makefile
libwacom.pc])
AC_OUTPUT
diff --git a/data/Makefile.am b/data/Makefile.am
index 897f4ca..9f2e8d2 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -4,10 +4,4 @@ dist_libwacomtablet_DATA = $(shell find $(top_srcdir)/data
-name "*.tablet" -pr
libwacomstylusdir = $(datadir)/libwacom
dist_libwacomstylus_DATA = $(shell find $(top_srcdir)/data -name "*.stylus"
-printf "%P\n")
-INCLUDES=-I$(top_srcdir)/libwacom -DTOPSRCDIR="\"$(top_srcdir)\""
-
-noinst_PROGRAMS = generate-udev-rules
-generate_udev_rules_SOURCES = generate-udev-rules.c
-generate_udev_rules_LDADD=$(top_builddir)/libwacom/libwacom.la
-
EXTRA_DIST = wacom.example
diff --git a/data/generate-udev-rules.c b/data/generate-udev-rules.c
deleted file mode 100644
index be8f514..0000000
--- a/data/generate-udev-rules.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright © 2012 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of Red Hat
- * not be used in advertising or publicity pertaining to distribution
- * of the software without specific, written prior permission. Red
- * Hat makes no representations about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied
- * warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
- * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
- * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors:
- * Olivier Fourdan ([email protected])
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include "libwacom.h"
-
-static void print_udev_header (void)
-{
- printf ("# udev rules for libwacom supported devices\n");
- printf ("\n");
- printf ("ACTION!=\"add|change\", GOTO=\"libwacom_end\"\n");
- printf ("KERNEL!=\"event[0-9]*\", GOTO=\"libwacom_end\"\n");
- printf ("\n");
-}
-
-static void print_udev_entry_for_match (WacomDevice *device, const WacomMatch
*match,
- WacomBusType bus_type_filter)
-{
- WacomBusType type = libwacom_match_get_bustype (match);
- int vendor = libwacom_match_get_vendor_id (match);
- int product = libwacom_match_get_product_id (match);
- int has_touch = libwacom_has_touch (device);
- static char *touchpad;
-
- if (bus_type_filter != type)
- return;
-
- if (has_touch)
- touchpad = ", ENV{ID_INPUT_TOUCHPAD}=\"1\"";
- else
- touchpad = "";
-
- switch (type) {
- case WBUSTYPE_USB:
- printf ("ENV{ID_BUS}==\"usb\",
ENV{ID_VENDOR_ID}==\"%04x\", ENV{ID_MODEL_ID}==\"%04x\", ENV{ID_INPUT}=\"1\",
ENV{ID_INPUT_TABLET}=\"1\"%s\n", vendor, product, touchpad);
- break;
- case WBUSTYPE_BLUETOOTH:
- /* Bluetooth tablets do not have
ID_VENDOR_ID/ID_MODEL_ID etc set correctly. They
- * do have the PRODUCT set though. */
- printf ("ENV{PRODUCT}==\"5/%x/%x/*\",
ENV{ID_INPUT}=\"1\", ENV{ID_INPUT_TABLET}=\"1\"%s\n", vendor, product,
touchpad);
- break;
- default:
- /* Not sure how to deal with serials */
- break;
- }
-}
-
-static void print_udev_entry (WacomDevice *device, WacomBusType
bus_type_filter)
-{
- WacomMatch **matches;
- int nmatches;
-
- matches = libwacom_get_matches(device, &nmatches);
- while(nmatches--)
- print_udev_entry_for_match(device, matches[nmatches],
bus_type_filter);
-}
-
-static void print_udev_trailer (void)
-{
- printf ("\n");
- printf ("# Match all serial wacom tablets with a serial ID starting
with WACf\n");
- printf ("ENV{ID_BUS}==\"tty|pnp\", ATTRS{id}==\"WACf*\",
ENV{ID_INPUT}=\"1\", ENV{ID_INPUT_TABLET}=\"1\"\n");
- printf ("ENV{ID_BUS}==\"tty|pnp\", ATTRS{id}==\"FUJ*\",
ENV{ID_INPUT}=\"1\", ENV{ID_INPUT_TABLET}=\"1\"\n");
- printf ("\n");
- printf ("LABEL=\"libwacom_end\"\n");
-}
-
-
-int main(int argc, char **argv)
-{
- WacomDeviceDatabase *db;
- WacomDevice **list, **p;
-
- db = libwacom_database_new_for_path(TOPSRCDIR"/data");
-
- list = libwacom_list_devices_from_database(db, NULL);
- if (!list) {
- fprintf(stderr, "Failed to load device database.\n");
- return 1;
- }
-
- print_udev_header ();
- for (p = list; *p; p++)
- print_udev_entry ((WacomDevice *) *p, WBUSTYPE_USB);
- print_udev_trailer ();
-
- for (p = list; *p; p++)
- print_udev_entry ((WacomDevice *) *p, WBUSTYPE_BLUETOOTH);
-
- libwacom_database_destroy (db);
-
- return 0;
-}
-
-/* vim: set noexpandtab tabstop=8 shiftwidth=8: */
diff --git a/tools/Makefile.am b/tools/Makefile.am
new file mode 100644
index 0000000..0c2ffdb
--- /dev/null
+++ b/tools/Makefile.am
@@ -0,0 +1,5 @@
+INCLUDES=-I$(top_srcdir)/libwacom -DTOPSRCDIR="\"$(top_srcdir)\""
+
+noinst_PROGRAMS = generate-udev-rules
+generate_udev_rules_SOURCES = generate-udev-rules.c
+generate_udev_rules_LDADD=$(top_builddir)/libwacom/libwacom.la
diff --git a/tools/generate-udev-rules.c b/tools/generate-udev-rules.c
new file mode 100644
index 0000000..be8f514
--- /dev/null
+++ b/tools/generate-udev-rules.c
@@ -0,0 +1,123 @@
+/*
+ * Copyright © 2012 Red Hat, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software
+ * and its documentation for any purpose is hereby granted without
+ * fee, provided that the above copyright notice appear in all copies
+ * and that both that copyright notice and this permission notice
+ * appear in supporting documentation, and that the name of Red Hat
+ * not be used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission. Red
+ * Hat makes no representations about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied
+ * warranty.
+ *
+ * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+ * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+ * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Authors:
+ * Olivier Fourdan ([email protected])
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include "libwacom.h"
+
+static void print_udev_header (void)
+{
+ printf ("# udev rules for libwacom supported devices\n");
+ printf ("\n");
+ printf ("ACTION!=\"add|change\", GOTO=\"libwacom_end\"\n");
+ printf ("KERNEL!=\"event[0-9]*\", GOTO=\"libwacom_end\"\n");
+ printf ("\n");
+}
+
+static void print_udev_entry_for_match (WacomDevice *device, const WacomMatch
*match,
+ WacomBusType bus_type_filter)
+{
+ WacomBusType type = libwacom_match_get_bustype (match);
+ int vendor = libwacom_match_get_vendor_id (match);
+ int product = libwacom_match_get_product_id (match);
+ int has_touch = libwacom_has_touch (device);
+ static char *touchpad;
+
+ if (bus_type_filter != type)
+ return;
+
+ if (has_touch)
+ touchpad = ", ENV{ID_INPUT_TOUCHPAD}=\"1\"";
+ else
+ touchpad = "";
+
+ switch (type) {
+ case WBUSTYPE_USB:
+ printf ("ENV{ID_BUS}==\"usb\",
ENV{ID_VENDOR_ID}==\"%04x\", ENV{ID_MODEL_ID}==\"%04x\", ENV{ID_INPUT}=\"1\",
ENV{ID_INPUT_TABLET}=\"1\"%s\n", vendor, product, touchpad);
+ break;
+ case WBUSTYPE_BLUETOOTH:
+ /* Bluetooth tablets do not have
ID_VENDOR_ID/ID_MODEL_ID etc set correctly. They
+ * do have the PRODUCT set though. */
+ printf ("ENV{PRODUCT}==\"5/%x/%x/*\",
ENV{ID_INPUT}=\"1\", ENV{ID_INPUT_TABLET}=\"1\"%s\n", vendor, product,
touchpad);
+ break;
+ default:
+ /* Not sure how to deal with serials */
+ break;
+ }
+}
+
+static void print_udev_entry (WacomDevice *device, WacomBusType
bus_type_filter)
+{
+ WacomMatch **matches;
+ int nmatches;
+
+ matches = libwacom_get_matches(device, &nmatches);
+ while(nmatches--)
+ print_udev_entry_for_match(device, matches[nmatches],
bus_type_filter);
+}
+
+static void print_udev_trailer (void)
+{
+ printf ("\n");
+ printf ("# Match all serial wacom tablets with a serial ID starting
with WACf\n");
+ printf ("ENV{ID_BUS}==\"tty|pnp\", ATTRS{id}==\"WACf*\",
ENV{ID_INPUT}=\"1\", ENV{ID_INPUT_TABLET}=\"1\"\n");
+ printf ("ENV{ID_BUS}==\"tty|pnp\", ATTRS{id}==\"FUJ*\",
ENV{ID_INPUT}=\"1\", ENV{ID_INPUT_TABLET}=\"1\"\n");
+ printf ("\n");
+ printf ("LABEL=\"libwacom_end\"\n");
+}
+
+
+int main(int argc, char **argv)
+{
+ WacomDeviceDatabase *db;
+ WacomDevice **list, **p;
+
+ db = libwacom_database_new_for_path(TOPSRCDIR"/data");
+
+ list = libwacom_list_devices_from_database(db, NULL);
+ if (!list) {
+ fprintf(stderr, "Failed to load device database.\n");
+ return 1;
+ }
+
+ print_udev_header ();
+ for (p = list; *p; p++)
+ print_udev_entry ((WacomDevice *) *p, WBUSTYPE_USB);
+ print_udev_trailer ();
+
+ for (p = list; *p; p++)
+ print_udev_entry ((WacomDevice *) *p, WBUSTYPE_BLUETOOTH);
+
+ libwacom_database_destroy (db);
+
+ return 0;
+}
+
+/* vim: set noexpandtab tabstop=8 shiftwidth=8: */
--
1.7.10
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Linuxwacom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel