diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-graphics')
199 files changed, 40914 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb b/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb new file mode 100644 index 000000000..9d8c90fdb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb @@ -0,0 +1,13 @@ +SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library" +LICENSE = "LGPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" + +inherit gnomebase + +SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2" +SRC_URI[md5sum] = "cc53d8474a43aafb7cdaccea56cfde44" +SRC_URI[sha256sum] = "63f3ed23e72a857a0e6df53d9d968a325024177b01edbe314a0c98b499eb8603" + +FILES_${PN} += "${libdir}/babl-*/*.so" +FILES_${PN}-dev += "${libdir}/babl-*/*.la" +FILES_${PN}-dbg += "${libdir}/babl-*/.debug/" diff --git a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb new file mode 100644 index 000000000..d49a509a0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "C++ bindings for Cairo graphics library" + +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9" + +inherit gnomebase + +DEPENDS = "cairo libsigc++-2.0" + +SRC_URI[archive.md5sum] = "c62b476b61bd0abf7e9851f417d73291" +SRC_URI[archive.sha256sum] = "a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6" + +FILES_${PN}-doc += "${datadir}/devhelp" +FILES_${PN}-dev += "${libdir}/cairomm-*/" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch b/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch new file mode 100644 index 000000000..87e8637ee --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch @@ -0,0 +1,28 @@ +From 65e8e3c9c69f41778b6308c2f8f3262c82c6f3e1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 29 Jun 2017 13:57:53 -0700 +Subject: [PATCH] configure.ac: Do not demand linker hash-style + +This helps fixing on architectures e.g. mips where gnu hash +is not supported + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index e1dba23..7bcc039 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -65,7 +65,6 @@ CC_CHECK_CFLAGS_APPEND([ \ + -ffunction-sections \ + -fdata-sections \ + -Wl,-O1 \ +- -Wl,--hash-style=gnu \ + -Wl,--as-needed \ + -Wl,--gc-sections]) + +-- +2.13.2 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb b/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb new file mode 100644 index 000000000..32f081592 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb @@ -0,0 +1,22 @@ +SUMMARY = "Simple bootsplash for systemd systems" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +# Really, no depends besides a C library + +PV = "0.3" +PR = "r1" + +SRCREV = "ef2e1a390e768e21e6a6268977580ee129a96633" +SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git \ + file://0001-configure.ac-Do-not-demand-linker-hash-style.patch \ + " + +inherit autotools + +S = "${WORKDIR}/git" + +EXTRA_OECONF = " --with-systemdsystemunitdir=${systemd_unitdir}/system \ + --disable-staticimages" + +FILES_${PN} += "${systemd_unitdir}/system/" diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch new file mode 100644 index 000000000..0717ea6f8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch @@ -0,0 +1,28 @@ +From 88077ed156a714f32bb408f422278d61611ffd41 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Sat, 26 Jul 2014 16:57:46 -0300 +Subject: [PATCH] configure.in: Fix string argument syntax + +Upstream-Status: Submitted + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.in b/configure.in +index bfe1b82..e939bbd 100644 +--- a/configure.in ++++ b/configure.in +@@ -65,7 +65,7 @@ fi) + + DIRECTFB_REQUIRED_VERSION=1.4.14 + +-PKG_CHECK_MODULES(DIRECTFB, directfb >= $DIRECTFB_REQUIRED_VERSION,[ WATER=`$PKG_CONFIG --variable=water directfb` ], ++PKG_CHECK_MODULES([DIRECTFB], directfb >= $DIRECTFB_REQUIRED_VERSION,[ WATER=`$PKG_CONFIG --variable=water directfb` ], + AC_MSG_ERROR([$DIRECTFB_PKG_ERRORS + *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest version + *** of DirectFB is available from http://www.directfb.org/.])) +-- +1.7.10.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb new file mode 100644 index 000000000..7907c5c0d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "Example DirectFB applications" +DESCRIPTION = "The DirectFB-examples package contains a set of simple DirectFB \ + applications that can be used to test and demonstrate various DirectFB \ + features" +DEPENDS = "directfb" +SECTION = "libs" +LICENSE = "MIT" + +SRC_URI = " \ + http://downloads.yoctoproject.org/mirror/sources/DirectFB-examples-${PV}.tar.gz \ + file://configure.in-Fix-string-argument-syntax.patch \ + " + +LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f" + +S = "${WORKDIR}/DirectFB-examples-${PV}" + +inherit autotools pkgconfig + +SRC_URI[md5sum] = "8b60c867af295481c32a8c7fc5802307" +SRC_URI[sha256sum] = "9a2104cc4da8123c8371813551b66b943198979f745cbebc034bb5e10844122a" diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc new file mode 100644 index 000000000..bd66a2820 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc @@ -0,0 +1,85 @@ +SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device" +DESCRIPTION = "DirectFB is a thin library that provides developers \ +with hardware graphics acceleration, input device handling and \ +abstraction, an integrated windowing system with support for \ +translucent windows and multiple display layers on top of the \ +Linux framebuffer device." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589" + +HOMEPAGE = "http://directfb.org" +DEPENDS = "jpeg libpng freetype zlib sysfsutils" + +SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.gz \ + file://configurefix.patch \ + file://fusion.patch \ + file://bashism.patch \ + file://0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch \ + file://compar_fn_t.patch \ + file://union-sigval.patch \ + file://use-PTHREAD_MUTEX_RECURSIVE.patch \ + file://fix-client-gfx_state-initialisation.patch \ + " + +S = "${WORKDIR}/DirectFB-${PV}" + +LDFLAGS_append = " -lm" + +# Workaround for linking issues seen with armv7a + gold +LDFLAGS_append_arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +BINCONFIG = "${bindir}/directfb-config" + +inherit autotools binconfig-disabled pkgconfig + +PACKAGECONFIG ??= "linuxinput" +PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper" +PACKAGECONFIG[drmkms] = "--enable-drmkms,--disable-drmkms,libdrm" +PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff" +PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" +PACKAGECONFIG[tslib] = "--with-inputdrivers=tslib,,tslib" +PACKAGECONFIG[linuxinput] = "--with-inputdrivers=linuxinput,," +PACKAGECONFIG[noinput] = "--with-inputdrivers=none,," +PACKAGECONFIG[mesa] = "--enable-mesa,--disable-mesa,virtual/mesa," +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,xserver-xorg," + +EXTRA_OECONF = "\ + --with-gfxdrivers=none \ + --enable-freetype=yes \ + --enable-zlib \ + --disable-imlib2 \ + --disable-sdl \ + --disable-vnc \ + --disable-x11vdpau \ + --disable-xine-vdpau \ +" + +#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default +#this will cause directfb build failure on x86 arch, so filter out it. +TARGET_CFLAGS_remove_x86 = "-fno-omit-frame-pointer" + +#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*" +# +#python populate_packages_prepend () { +# inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers') +# do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s') +#} + +# NOTE: monolithic packaging for now, should improve that eventually + +FILES_${PN}-dev += "\ + ${bindir}/directfb-config \ + ${libdir}/directfb-${RV}/systems/*.la \ + ${libdir}/directfb-${RV}/inputdrivers/*.la \ + ${libdir}/directfb-${RV}/interfaces/*/*.la \ + ${libdir}/directfb-${RV}/wm/*.la \ +" + +FILES_${PN} += "\ + ${libdir}/directfb-${RV}/systems/*.so \ + ${libdir}/directfb-${RV}/inputdrivers/*.so \ + ${libdir}/directfb-${RV}/interfaces/*/*.so \ + ${libdir}/directfb-${RV}/wm/*.so \ + ${datadir}/directfb-${PV} \ +" diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch new file mode 100644 index 000000000..76e0f7530 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch @@ -0,0 +1,61 @@ +From f43ef44806ffb8e3b35d99070dde9b6cc1714d3d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 8 Sep 2015 21:32:20 +0000 +Subject: [PATCH] gfx,direct: Aboid usng VLAs and printf formats + +VLAs are flagged by clang when using non-POD types, therefore replace +the usage with alloca which is exact same allocation on stack + + __attribute__((__format__ (__printf__))) is not portable as used here + therefore disable the check for clang here, we lose no functionality + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + lib/direct/util.h | 2 +- + src/gfx/util.cpp | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/lib/direct/util.h b/lib/direct/util.h +index 72941e9..8e7fa4a 100644 +--- a/lib/direct/util.h ++++ b/lib/direct/util.h +@@ -98,7 +98,7 @@ + #define D_CONST_FUNC + #endif + +-#if __GNUC__ >= 3 ++#if __GNUC__ >= 3 && !defined __clang__ + #define D_FORMAT_PRINTF(n) __attribute__((__format__ (__printf__, n, n+1))) + #define D_FORMAT_VPRINTF(n) __attribute__((__format__ (__printf__, n, 0))) + #else +diff --git a/src/gfx/util.cpp b/src/gfx/util.cpp +index 40032bc..d1015d4 100644 +--- a/src/gfx/util.cpp ++++ b/src/gfx/util.cpp +@@ -294,8 +294,8 @@ dfb_gfx_copy_regions_stereo( CoreSurface *source, + { + unsigned int i, n = 0; + DFBRectangle rect = { 0, 0, source->config.size.w, source->config.size.h }; +- DFBRectangle rects[num]; +- DFBPoint points[num]; ++ DFBRectangle *rects = (DFBRectangle*)alloca( sizeof(struct DFBRectangle) * num); ++ DFBPoint *points = (DFBPoint*)alloca( sizeof(struct DFBPoint) * num); + + for (i=0; i<num; i++) { + DFB_REGION_ASSERT( ®ions[i] ); +@@ -351,8 +351,8 @@ dfb_gfx_copy_regions_client( CoreSurface *source, + { + unsigned int i, n = 0; + DFBRectangle rect = { 0, 0, source->config.size.w, source->config.size.h }; +- DFBRectangle rects[num]; +- DFBPoint points[num]; ++ DFBRectangle *rects = (DFBRectangle*)alloca( sizeof(struct DFBRectangle) * num); ++ DFBPoint *points = (DFBPoint*)alloca( sizeof(struct DFBPoint) * num); + CoreGraphicsStateClient *client = _client ? _client : &StateClient::Get()->client; + CardState *state = client->state; + CardState backup; +-- +2.5.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/bashism.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/bashism.patch new file mode 100644 index 000000000..2ef4e9385 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/bashism.patch @@ -0,0 +1,18 @@ +${x//y/} is a bash syntax. Replace with something dash compatible + +RP 2015/5/3 +Upstream-Status: Pending + +Index: DirectFB-1.7.7/configure.in +=================================================================== +--- DirectFB-1.7.7.orig/configure.in ++++ DirectFB-1.7.7/configure.in +@@ -2696,7 +2696,7 @@ AM_CONDITIONAL(BUILD_TOOLS, test "$with_ + AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = "yes") + + CFLAGS="$CFLAGS $DFB_INTERNAL_CFLAGS" +-CXXFLAGS="$CXXFLAGS ${CFLAGS//-Werror-implicit-function-declaration/}" ++CXXFLAGS="$CXXFLAGS $(printf '%s\n' "$CFLAGS" | sed 's/-Werror-implicit-function-declaration//g')" + DFB_LDFLAGS="$LDFLAGS $ZLIB_LIBS" + + CFLAGS="$CFLAGS $CFLAGS_STD" diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch new file mode 100644 index 000000000..ee4d900ba --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch @@ -0,0 +1,62 @@ +test for __compar_fn_t and if not defined by libc then define it +help make directfb compile with musl + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: DirectFB-1.7.7/configure.in +=================================================================== +--- DirectFB-1.7.7.orig/configure.in ++++ DirectFB-1.7.7/configure.in +@@ -112,6 +112,17 @@ AC_CHECK_SIZEOF(long) + AC_CHECK_SIZEOF(long long) + AC_CHECK_FUNCS(fork) + ++AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [ ++ AC_TRY_COMPILE( ++ [#include <stdlib.h>], ++ [void test_fn(void) { qsort(NULL, 0, 0, (__compar_fn_t)NULL); }], ++ ccache_cv_COMPAR_FN_T=yes, ++ ccache_cv_COMPAR_FN_T=no)]) ++if test x"$ccache_cv_COMPAR_FN_T" = x"yes"; then ++ AC_DEFINE(HAVE_COMPAR_FN_T, 1, ++ Define to 1 if you have the `__compar_fn_t' typedef.) ++fi ++ + AC_PATH_PROGS(PERL, perl5 perl) + + AC_PATH_PROG(MAN2HTML, man2html, no) +Index: DirectFB-1.7.7/inputdrivers/lirc/lirc.c +=================================================================== +--- DirectFB-1.7.7.orig/inputdrivers/lirc/lirc.c ++++ DirectFB-1.7.7/inputdrivers/lirc/lirc.c +@@ -59,6 +59,11 @@ + + #include <core/input_driver.h> + ++#if HAVE_COMPAR_FN_T ++#define COMPAR_FN_T __compar_fn_t ++#else ++typedef int (*COMPAR_FN_T)(const void *, const void *); ++#endif + + DFB_INPUT_DRIVER( lirc ) + +@@ -97,7 +102,7 @@ static DFBInputDeviceKeySymbol lirc_pars + qsort ( keynames, + D_ARRAY_SIZE( keynames ), + sizeof(keynames[0]), +- (__compar_fn_t) keynames_sort_compare ); ++ (COMPAR_FN_T) keynames_sort_compare ); + keynames_sorted = true; + } + +@@ -124,7 +129,7 @@ static DFBInputDeviceKeySymbol lirc_pars + symbol_name = bsearch( name, keynames, + D_ARRAY_SIZE( keynames ), + sizeof(keynames[0]), +- (__compar_fn_t) keynames_compare ); ++ (COMPAR_FN_T) keynames_compare ); + if (symbol_name) + return symbol_name->symbol; + break; diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch new file mode 100644 index 000000000..681154752 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch @@ -0,0 +1,60 @@ +Libtool needs these set correctly else we end up with pointless rpaths +such as the QA warnings: + +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfblayer contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbmaster contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgifft contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbdump contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinput contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbfx contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/pack ages-split/directfb/usr/bin/dfbscreen contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgiff contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinspector contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdfiff contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinfo contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbpenmount contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbg contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6 contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6 contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_fbdev.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_devmem.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_dummy.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/ICoreResourceManager/libicoreresourcemanager_test.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_ft2.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/wm/libdirectfbwm_default.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_zytronic.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_penmount.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_linux_input.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_serialmouse.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_mutouch.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_tslib.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_joystick.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_sonypi.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_lirc.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_wm97xx_ts.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_ps2mouse.so contains probably-redundant RPATH /usr/lib +WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_keyboard.so contains probably-redundant RPATH /usr/lib + +Upstream-Status: Pending + +RP 2012/03/16 + +Index: DirectFB-1.4.15/configure.in +=================================================================== +--- DirectFB-1.4.15.orig/configure.in 2012-03-16 13:32:23.692402879 +0000 ++++ DirectFB-1.4.15/configure.in 2012-03-16 13:33:22.312400960 +0000 +@@ -97,13 +97,6 @@ + AC_CHECK_SIZEOF(long long) + AC_CHECK_FUNCS(fork) + +- +-## Work around libstuhl during cross build... +-if test "$host" != "$build"; then +- sys_lib_dlsearch_path_spec="" +- sys_lib_search_path_spec="" +-fi +- + AC_PATH_PROGS(PERL, perl5 perl) + + AC_PATH_PROG(MAN2HTML, man2html, no) diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch new file mode 100644 index 000000000..57a9b0dc7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch @@ -0,0 +1,38 @@ +From 8e53c0b9cedb62b82e2b7680d793d433b647ae20 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy <armccurdy@gmail.com> +Date: Mon, 13 Jun 2016 13:32:44 -0700 +Subject: [PATCH] fix client->gfx_state initialisation + +Shortly before the DirectFB 1.7.7 release, an optimisation was added +to CoreGraphicsStateClient_Init() to avoid creating an extended +Graphics State object if it will not later be required: + + 4d422fb Client: Create extended Graphics State object when needed for later usage + +Unfortunately the client->gfx_state variable used to track the +extended Graphics State object is not initialised, which can lead to +crashes etc due to creation of the Graphics State object erroneously +being skipped. + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy <armccurdy@gmail.com> +--- + src/core/CoreGraphicsStateClient.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/core/CoreGraphicsStateClient.cpp b/src/core/CoreGraphicsStateClient.cpp +index 5d46f0e..5007755 100644 +--- a/src/core/CoreGraphicsStateClient.cpp ++++ b/src/core/CoreGraphicsStateClient.cpp +@@ -364,6 +364,7 @@ CoreGraphicsStateClient_Init( CoreGraphicsStateClient *client, + client->renderer = NULL; + client->requestor = NULL; + client->throttle = NULL; ++ client->gfx_state = NULL; + + if (dfb_config->task_manager) { + if (dfb_config->call_nodirect) { +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fusion.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fusion.patch new file mode 100644 index 000000000..1f81a6796 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fusion.patch @@ -0,0 +1,36 @@ +directfb: Fix for hangs in direct_test, fusion_skirmish on exit + +Upstream-Status: Pending +Signed-off-by: Lauren Post <lauren.post@freescale.com> + +--- a/lib/fusion/fusion.c 2013-01-18 22:57:11.000000000 +0800 ++++ b/lib/fusion/fusion.c 2013-07-04 10:42:56.502699119 +0800 +@@ -2853,9 +2853,14 @@ + direct_mutex_lock( &world->event_dispatcher_mutex ); + + while (1) { +- if (!world->event_dispatcher_buffers) ++ if (!world->event_dispatcher_buffers){ + direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex ); +- ++ if (world->dispatch_stop) { ++ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" ); ++ direct_mutex_unlock( &world->event_dispatcher_mutex ); ++ return NULL; ++ } ++ } + buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers; + D_MAGIC_ASSERT( buf, FusionEventDispatcherBuffer ); + +@@ -2872,6 +2877,11 @@ + //D_INFO("waiting...\n"); + D_ASSERT( buf->read_pos == buf->write_pos ); + direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex ); ++ if (world->dispatch_stop) { ++ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" ); ++ direct_mutex_unlock( &world->event_dispatcher_mutex ); ++ return NULL; ++ } + } + + buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers; diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch new file mode 100644 index 000000000..29f45c797 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch @@ -0,0 +1,19 @@ +This patch is taken from gentoo musl overlay +sigval_t is glibc only construct, we use a union of sigval +which pretty much is same effect as sigval_t + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +diff -Naur DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/system.c DirectFB-1.7.6/lib/direct/os/linux/glibc/system.c +--- DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/system.c 2014-07-15 02:54:58.000000000 -0400 ++++ DirectFB-1.7.6/lib/direct/os/linux/glibc/system.c 2015-07-18 16:55:35.077989166 -0400 +@@ -111,7 +111,7 @@ + void + direct_trap( const char *domain, int sig ) + { +- sigval_t val; ++ union sigval val; + + if (direct_config->delay_trap_ms) { + D_LOG( Direct_Trap, VERBOSE, "NOT RAISING signal %d from %s, waiting for %dms... attach gdb --pid=%d\n", sig, domain, direct_config->delay_trap_ms, getpid() ); diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch new file mode 100644 index 000000000..ac48f68db --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch @@ -0,0 +1,116 @@ +Remove use of DIRECT_RECURSIVE_MUTEX_INITIALIZER its not portable +use portable way to initialize recursive mutex using pthread_once() and direct_recursive_mutex_init() + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Index: DirectFB-1.7.7/lib/direct/os/linux/glibc/mutex.h +=================================================================== +--- DirectFB-1.7.7.orig/lib/direct/os/linux/glibc/mutex.h ++++ DirectFB-1.7.7/lib/direct/os/linux/glibc/mutex.h +@@ -46,7 +46,6 @@ struct __D_DirectMutex { + /**********************************************************************************************************************/ + + #define DIRECT_MUTEX_INITIALIZER(name) { PTHREAD_MUTEX_INITIALIZER } +-#define DIRECT_RECURSIVE_MUTEX_INITIALIZER(name) { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP } + + #endif + +Index: DirectFB-1.7.7/lib/direct/trace.c +=================================================================== +--- DirectFB-1.7.7.orig/lib/direct/trace.c ++++ DirectFB-1.7.7/lib/direct/trace.c +@@ -89,8 +89,15 @@ struct __D_DirectTraceBuffer { + /**************************************************************************************************/ + + static DirectLink *buffers; +-static DirectMutex buffers_lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(buffers_lock); + ++static pthread_once_t buffers_lock_init_once = PTHREAD_ONCE_INIT; ++static DirectMutex buffers_lock; ++ ++static void ++buffers_lock_init( void ) ++{ ++ direct_recursive_mutex_init(&buffers_lock); ++} + /**************************************************************************************************/ + + __dfb_no_instrument_function__ +@@ -113,6 +120,7 @@ get_trace_buffer( void ) + + D_MAGIC_SET( buffer, DirectTraceBuffer ); + ++ pthread_once(&buffers_lock_init_once, buffers_lock_init); + direct_mutex_lock( &buffers_lock ); + direct_list_append( &buffers, &buffer->link ); + direct_mutex_unlock( &buffers_lock ); +@@ -138,8 +146,14 @@ typedef struct { + } SymbolTable; + + static DirectLink *tables = NULL; +-static DirectMutex tables_lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(tables_lock); ++static pthread_once_t tables_lock_init_once = PTHREAD_ONCE_INIT; ++static DirectMutex tables_lock; + ++static void ++tables_lock_init( void ) ++{ ++ direct_recursive_mutex_init(&tabless_lock); ++} + + __dfb_no_instrument_function__ + static void +@@ -370,6 +384,7 @@ direct_trace_lookup_symbol( const char * + Symbol *symbol; + SymbolTable *table; + ++ pthread_once(&tables_lock_init_once, tables_lock_init); + direct_mutex_lock( &tables_lock ); + + table = find_table( filename ); +@@ -514,6 +529,7 @@ direct_trace_print_stacks() + DirectTraceBuffer *b; + DirectTraceBuffer *buffer = get_trace_buffer(); + ++ pthread_once(&buffers_lock_init_once, buffers_lock_init); + direct_mutex_lock( &buffers_lock ); + + if (buffer && buffer->level) +@@ -611,6 +627,7 @@ direct_trace_free_buffer( DirectTraceBuf + D_MAGIC_ASSERT( buffer, DirectTraceBuffer ); + + if (buffer->thread) { ++ pthread_once(&buffers_lock_init_once, buffers_lock_init); + direct_mutex_lock( &buffers_lock ); + direct_list_remove( &buffers, &buffer->link ); + direct_mutex_unlock( &buffers_lock ); +Index: DirectFB-1.7.7/src/directfb.c +=================================================================== +--- DirectFB-1.7.7.orig/src/directfb.c ++++ DirectFB-1.7.7/src/directfb.c +@@ -99,6 +99,15 @@ const unsigned int directfb_micro_versio + const unsigned int directfb_binary_age = DIRECTFB_BINARY_AGE; + const unsigned int directfb_interface_age = DIRECTFB_INTERFACE_AGE; + ++static pthread_once_t lock_init_once = PTHREAD_ONCE_INIT; ++static DirectMutex lock; ++ ++static void ++lock_init( void ) ++{ ++ direct_recursive_mutex_init(&lock); ++} ++ + const char * + DirectFBCheckVersion( unsigned int required_major, + unsigned int required_minor, +@@ -215,8 +224,7 @@ DirectFBCreate( IDirectFB **interface_pt + if (dfb_config->remote.host) + return CreateRemote( dfb_config->remote.host, dfb_config->remote.port, interface_ptr ); + +- static DirectMutex lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(lock); +- ++ pthread_once(&lock_init_once, lock_init); + direct_mutex_lock( &lock ); + + if (!dfb_config->no_singleton && idirectfb_singleton) { diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb new file mode 100644 index 000000000..c6c070eda --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb @@ -0,0 +1,8 @@ +require directfb.inc + +RV = "1.7-7" + +LEAD_SONAME = "libdirectfb-1.7.so.0" + +SRC_URI[md5sum] = "152cf1863b1a3a28aa1370e9053440bf" +SRC_URI[sha256sum] = "b785c638dc31b8fe3a7c81be1475c89b2255ab3d67b777c747d3fbc52f8027a3" diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch new file mode 100644 index 000000000..46d4dbde4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch @@ -0,0 +1,26 @@ +From 80179c297abb9de2829bd02356257241dd414d70 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Mon, 18 Dec 2017 16:25:54 +0900 +Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python. + +Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7c66b39..1489ef6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,7 +19,7 @@ else(NOT SPHINX_EXECUTABLE-NOTFOUND) + message(STATUS "Could NOT find sphinx-build.") + endif(NOT SPHINX_EXECUTABLE-NOTFOUND) + +-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(), end='')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) ++#execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(), end='')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) + string(REGEX REPLACE "\n$" "" ${PYTHON_INSTALL_DIR} "${PYTHON_INSTALL_DIR}") + execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write('%s.%s' % (sys.version_info.major, sys.version_info.minor))" OUTPUT_VARIABLE PYTHON_MAJOR_DOT_MINOR_VERSION) + message(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}") +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch new file mode 100644 index 000000000..75b6b8fd9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch @@ -0,0 +1,25 @@ +From 15d0afcfa4868b7b072b3434bac0064617d61f99 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Tue, 19 Dec 2017 14:53:14 +0900 +Subject: [PATCH] Run python scripts using env + +Otherwise the build tools hardcode the python path into them. + +Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> +--- + bin/dnfdragora | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bin/dnfdragora b/bin/dnfdragora +index b8e0550..cd80f7f 100755 +--- a/bin/dnfdragora ++++ b/bin/dnfdragora +@@ -1,4 +1,4 @@ +-#!/usr/bin/python3 ++#!/usr/bin/env python3 + # vim: set et ts=4 sw=4: + # Copyright 2016-2017 Angelo Naselli <anaselli@linux.it> + # +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch new file mode 100644 index 000000000..90ce1d0ac --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch @@ -0,0 +1,31 @@ +From 56d9b838b3475729d7ed9c6c156d72c28943c2b6 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Tue, 19 Dec 2017 11:15:29 +0900 +Subject: [PATCH] To fix error when do_package + +QA Issue: nativesdk-dnfdragora: Files/directories were installed but not shipped in any package: + /etc + /etc/dnfdragora + /etc/dnfdragora/dnfdragora.yaml + +Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7c66b39..a5659f7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,7 +52,7 @@ endif(ENABLE_COMPS) + set(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}/bin") + set(CMAKE_INSTALL_DATAROOTDIR "${CMAKE_INSTALL_PREFIX}/share") + set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale") +-set(CMAKE_INSTALL_FULL_SYSCONFDIR "/etc") ++set(CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/../etc") + + # Configure files + configure_file(${CMAKE_SOURCE_DIR}/etc/dnfdragora.yaml.in ${CMAKE_BINARY_DIR}/etc/dnfdragora.yaml @ONLY) +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch new file mode 100644 index 000000000..88bb63416 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch @@ -0,0 +1,25 @@ +From 2e6a0db24be373a5b7741dc5a0d322a28389fbf0 Mon Sep 17 00:00:00 2001 +From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> +Date: Thu, 23 Nov 2017 16:35:44 +0900 +Subject: [PATCH] disable build manpages. + +Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> +--- + CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7c66b39..fc32750 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -65,7 +65,6 @@ endif(GETTEXT_FOUND) + + # Build and install the man-pages + if(NOT SPHINX_EXECUTABLE-NOTFOUND) +- add_subdirectory(man) + endif(NOT SPHINX_EXECUTABLE-NOTFOUND) + + # Installing application code +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb new file mode 100644 index 000000000..9cd1efb8e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb @@ -0,0 +1,30 @@ +SUMMARY = "dnfdragora is a DNF frontend, based on rpmdragora from Mageia (originally rpmdrake) Perl code." +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \ + " + +SRC_URI = "git://github.com/manatools/dnfdragora.git \ + file://0001-disable-build-manpages.patch \ + file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ + file://0001-To-fix-error-when-do_package.patch \ + file://0001-Run-python-scripts-using-env.patch \ + " + +PV = "1.0.1+git${SRCPV}" +SRCREV = "4fef4ce889b8e4fa03191d414f63bfd50796152a" + +S = "${WORKDIR}/git" + +inherit cmake gettext pkgconfig python3-dir python3native distutils3-base + +DEPENDS += "dnf python3 " +#DEPENDS_class-nativesdk += "nativesdk-python3" + +RDEPENDS_${PN}_class-target = " python3-core libyui libyui-ncurses " + +# manpages generation requires http://www.sphinx-doc.org/ +EXTRA_OECMAKE = " -DWITH_MAN=OFF -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" + +BBCLASSEXTEND = "nativesdk" + +FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/ ${datadir}/ ${bindir}/ ${sysconfdir}/dnfdragora " diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb b/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb new file mode 100644 index 000000000..e12bc094d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb @@ -0,0 +1,16 @@ +SUMMARY = "FBGrab is a framebuffer screenshot program" +HOMEPAGE = "http://fbgrab.monells.se/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a" +SECTION = "console/utils" +DEPENDS = "libpng zlib" +SRC_URI = "http://fbgrab.monells.se/${BP}.tar.gz" + +inherit autotools-brokensep + +SRC_URI[md5sum] = "7d8c24081c681dfbba21f2934c1ac656" +SRC_URI[sha256sum] = "5fab478cbf8731fbacefaa76236a8f8b38ccff920c53b3a8253bc35509fba8ed" + +do_configure_prepend() { + sed -i 's|$(DESTDIR)/usr/man/|$(DESTDIR)${mandir}/|g' ${S}/Makefile +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb new file mode 100644 index 000000000..0bf48ace6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb @@ -0,0 +1,73 @@ +SUMMARY = "Framebuffer image and doc viewer tools" +DESCRIPTION = "The fbida project contains a few applications for viewing and editing images, \ + with the main focus being photos." +HOMEPAGE = "http://linux.bytesex.org/fbida/" +AUTHOR = "Gerd Hoffmann" +SECTION = "utils" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif" + +SRC_URI = "https://www.kraxel.org/releases/fbida/fbida-${PV}.tar.gz \ + file://0001-Avoid-using-host-path.patch \ + file://fix-preprocessor.patch \ + file://support-jpeg-turbo.patch \ + file://use-jpeg-turbo.patch \ + " +SRC_URI[md5sum] = "09460b964b58c2e39b665498eca29018" +SRC_URI[sha256sum] = "7a5a3aac61b40a6a2bbf716d270a46e2f8e8d5c97e314e927d41398a4d0b6cb6" + +B = "${WORKDIR}/build" + +inherit pkgconfig + +EXTRA_OEMAKE = "STRIP= 'srcdir=${S}' -f ${S}/GNUmakefile" + +PACKAGECONFIG ??= "gif png curl" +PACKAGECONFIG[curl] = ",,curl" +PACKAGECONFIG[gif] = ",,giflib" +PACKAGECONFIG[png] = ",,libpng" +PACKAGECONFIG[tiff] = ",,tiff" +PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif" +PACKAGECONFIG[webp] = ",,libwebp" +PACKAGECONFIG[lirc] = ",,lirc" + +do_compile() { + sed -i -e 's# fbgs# \$(srcdir)/fbgs#; s#-Ijpeg#-I\$(srcdir)/jpeg#; s# jpeg/# \$(srcdir)/jpeg/#' ${S}/GNUmakefile + sed -i -e 's:/sbin/ldconfig:echo x:' ${S}/mk/Autoconf.mk + sed -i -e 's: cpp: ${CPP}:' ${S}/GNUmakefile + + # Be sure to respect preferences (force to "no") + # Also avoid issues when ${BUILD_ARCH} == ${HOST_ARCH} + if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'curl', d)}" ]; then + sed -i -e '/^HAVE_LIBCURL/s/:=.*$/:= no/' ${S}/GNUmakefile + fi + if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'gif', d)}" ]; then + sed -i -e '/^HAVE_LIBGIF/s/:=.*$/:= no/' ${S}/GNUmakefile + fi + if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'png', d)}" ]; then + sed -i -e '/^HAVE_LIBPNG/s/:=.*$/:= no/' ${S}/GNUmakefile + fi + if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'tiff', d)}" ]; then + sed -i -e '/^HAVE_LIBTIFF/s/:=.*$/:= no/' ${S}/GNUmakefile + fi + if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'motif', d)}" ]; then + sed -i -e '/^HAVE_MOTIF/s/:=.*$/:= no/' ${S}/GNUmakefile + fi + if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'webp', d)}" ]; then + sed -i -e '/^HAVE_LIBWEBP/s/:=.*$/:= no/' ${S}/GNUmakefile + fi + if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'lirc', d)}" ]; then + sed -i -e '/^HAVE_LIBLIRC/s/:=.*$/:= no/' ${S}/GNUmakefile + fi + + oe_runmake +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install +} + +RDEPENDS_${PN} = "ttf-dejavu-sans-mono bash" diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch new file mode 100644 index 000000000..cdf2c25d3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch @@ -0,0 +1,34 @@ +From 8d8fa9f22d9f6a95523bac63ac3af724faf5ff92 Mon Sep 17 00:00:00 2001 +From: Marek Vasut <marex@denx.de> +Date: Fri, 7 Apr 2017 23:26:09 +0200 +Subject: [PATCH] Avoid using host-path + +Remove the explicit reference to /usr/local/* , this is completely +bogus and causes trouble during cross-compilation. + +Signed-off-by: Marek Vasut <marex@denx.de> +Upstream-Status: Inappropriate [upstream requires this] +--- + mk/Variables.mk | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/mk/Variables.mk b/mk/Variables.mk +index 99f787c..3ffd87a 100644 +--- a/mk/Variables.mk ++++ b/mk/Variables.mk +@@ -42,12 +42,6 @@ CFLAGS += -Wall -Wmissing-prototypes -Wstrict-prototypes \ + -Wpointer-arith -Wunused + CXXFLAGS += -Wall -Wpointer-arith -Wunused + +-# add /usr/local to the search path if something is in there ... +-ifneq ($(wildcard /usr/local/include/*.h),) +- CFLAGS += -I/usr/local/include +- LDFLAGS += -L/usr/local/$(LIB) +-endif +- + # fixup include path for $(srcdir) != "." + ifneq ($(srcdir),.) + CFLAGS += -I. -I$(srcdir) +-- +2.11.0 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch new file mode 100644 index 000000000..909a0a6c0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch @@ -0,0 +1,14 @@ +Index: fbida-2.13/GNUmakefile +=================================================================== +--- fbida-2.13.orig/GNUmakefile ++++ fbida-2.13/GNUmakefile +@@ -53,8 +53,7 @@ include $(srcdir)/mk/Autoconf.mk + + ac_jpeg_ver = $(shell \ + $(call ac_init,for libjpeg version);\ +- $(call ac_s_cmd,echo JPEG_LIB_VERSION \ +- | cpp -include jpeglib.h | tail -n 1);\ ++ $(call ac_s_cmd,cpp -include jpeglib.h -dM -E -x c /dev/null | grep 'define JPEG_LIB_VERSION' | cut -f 3 -d' ');\ + $(call ac_fini)) + + define make-config diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch new file mode 100644 index 000000000..05cd74da9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch @@ -0,0 +1,1854 @@ +Add patch by Ondrej Sury to migrate to libjpeg-turbo (Closes: #763263) + +Index: fbida-2.10/jpeg/62/jpegcomp.h +=================================================================== +--- /dev/null ++++ fbida-2.10/jpeg/62/jpegcomp.h +@@ -0,0 +1,30 @@ ++/* ++ * jpegcomp.h ++ * ++ * Copyright (C) 2010, D. R. Commander ++ * For conditions of distribution and use, see the accompanying README file. ++ * ++ * JPEG compatibility macros ++ * These declarations are considered internal to the JPEG library; most ++ * applications using the library shouldn't need to include this file. ++ */ ++ ++#if JPEG_LIB_VERSION >= 70 ++#define _DCT_scaled_size DCT_h_scaled_size ++#define _DCT_h_scaled_size DCT_h_scaled_size ++#define _DCT_v_scaled_size DCT_v_scaled_size ++#define _min_DCT_scaled_size min_DCT_h_scaled_size ++#define _min_DCT_h_scaled_size min_DCT_h_scaled_size ++#define _min_DCT_v_scaled_size min_DCT_v_scaled_size ++#define _jpeg_width jpeg_width ++#define _jpeg_height jpeg_height ++#else ++#define _DCT_scaled_size DCT_scaled_size ++#define _DCT_h_scaled_size DCT_scaled_size ++#define _DCT_v_scaled_size DCT_scaled_size ++#define _min_DCT_scaled_size min_DCT_scaled_size ++#define _min_DCT_h_scaled_size min_DCT_scaled_size ++#define _min_DCT_v_scaled_size min_DCT_scaled_size ++#define _jpeg_width image_width ++#define _jpeg_height image_height ++#endif +Index: fbida-2.10/jpeg/62/transupp.c +=================================================================== +--- fbida-2.10.orig/jpeg/62/transupp.c ++++ fbida-2.10/jpeg/62/transupp.c +@@ -1,8 +1,10 @@ + /* + * transupp.c + * +- * Copyright (C) 1997, Thomas G. Lane. +- * This file is part of the Independent JPEG Group's software. ++ * This file was part of the Independent JPEG Group's software: ++ * Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. ++ * libjpeg-turbo Modifications: ++ * Copyright (C) 2010, D. R. Commander. + * For conditions of distribution and use, see the accompanying README file. + * + * This file contains image transformation routines and other utility code +@@ -20,6 +22,17 @@ + #include "jinclude.h" + #include "jpeglib.h" + #include "transupp.h" /* My own external interface */ ++#include "jpegcomp.h" ++#include <ctype.h> /* to declare isdigit() */ ++ ++ ++#if JPEG_LIB_VERSION >= 70 ++#define dstinfo_min_DCT_h_scaled_size dstinfo->min_DCT_h_scaled_size ++#define dstinfo_min_DCT_v_scaled_size dstinfo->min_DCT_v_scaled_size ++#else ++#define dstinfo_min_DCT_h_scaled_size DCTSIZE ++#define dstinfo_min_DCT_v_scaled_size DCTSIZE ++#endif + + + #if TRANSFORMS_SUPPORTED +@@ -28,7 +41,8 @@ + * Lossless image transformation routines. These routines work on DCT + * coefficient arrays and thus do not require any lossy decompression + * or recompression of the image. +- * Thanks to Guido Vollbeding for the initial design and code of this feature. ++ * Thanks to Guido Vollbeding for the initial design and code of this feature, ++ * and to Ben Jackson for introducing the cropping feature. + * + * Horizontal flipping is done in-place, using a single top-to-bottom + * pass through the virtual source array. It will thus be much the +@@ -42,6 +56,13 @@ + * arrays for most of the transforms. That could result in much thrashing + * if the image is larger than main memory. + * ++ * If cropping or trimming is involved, the destination arrays may be smaller ++ * than the source arrays. Note it is not possible to do horizontal flip ++ * in-place when a nonzero Y crop offset is specified, since we'd have to move ++ * data from one block row to another but the virtual array manager doesn't ++ * guarantee we can touch more than one row at a time. So in that case, ++ * we have to use a separate destination array. ++ * + * Some notes about the operating environment of the individual transform + * routines: + * 1. Both the source and destination virtual arrays are allocated from the +@@ -54,20 +75,65 @@ + * and we may as well take that as the effective iMCU size. + * 4. When "trim" is in effect, the destination's dimensions will be the + * trimmed values but the source's will be untrimmed. +- * 5. All the routines assume that the source and destination buffers are ++ * 5. When "crop" is in effect, the destination's dimensions will be the ++ * cropped values but the source's will be uncropped. Each transform ++ * routine is responsible for picking up source data starting at the ++ * correct X and Y offset for the crop region. (The X and Y offsets ++ * passed to the transform routines are measured in iMCU blocks of the ++ * destination.) ++ * 6. All the routines assume that the source and destination buffers are + * padded out to a full iMCU boundary. This is true, although for the + * source buffer it is an undocumented property of jdcoefct.c. +- * Notes 2,3,4 boil down to this: generally we should use the destination's +- * dimensions and ignore the source's. + */ + + + LOCAL(void) +-do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, +- jvirt_barray_ptr *src_coef_arrays) +-/* Horizontal flip; done in-place, so no separate dest array is required */ ++do_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, ++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, ++ jvirt_barray_ptr *src_coef_arrays, ++ jvirt_barray_ptr *dst_coef_arrays) ++/* Crop. This is only used when no rotate/flip is requested with the crop. */ ++{ ++ JDIMENSION dst_blk_y, x_crop_blocks, y_crop_blocks; ++ int ci, offset_y; ++ JBLOCKARRAY src_buffer, dst_buffer; ++ jpeg_component_info *compptr; ++ ++ /* We simply have to copy the right amount of data (the destination's ++ * image size) starting at the given X and Y offsets in the source. ++ */ ++ for (ci = 0; ci < dstinfo->num_components; ci++) { ++ compptr = dstinfo->comp_info + ci; ++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor; ++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor; ++ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; ++ dst_blk_y += compptr->v_samp_factor) { ++ dst_buffer = (*srcinfo->mem->access_virt_barray) ++ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, ++ (JDIMENSION) compptr->v_samp_factor, TRUE); ++ src_buffer = (*srcinfo->mem->access_virt_barray) ++ ((j_common_ptr) srcinfo, src_coef_arrays[ci], ++ dst_blk_y + y_crop_blocks, ++ (JDIMENSION) compptr->v_samp_factor, FALSE); ++ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { ++ jcopy_block_row(src_buffer[offset_y] + x_crop_blocks, ++ dst_buffer[offset_y], ++ compptr->width_in_blocks); ++ } ++ } ++ } ++} ++ ++ ++LOCAL(void) ++do_flip_h_no_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, ++ JDIMENSION x_crop_offset, ++ jvirt_barray_ptr *src_coef_arrays) ++/* Horizontal flip; done in-place, so no separate dest array is required. ++ * NB: this only works when y_crop_offset is zero. ++ */ + { +- JDIMENSION MCU_cols, comp_width, blk_x, blk_y; ++ JDIMENSION MCU_cols, comp_width, blk_x, blk_y, x_crop_blocks; + int ci, k, offset_y; + JBLOCKARRAY buffer; + JCOEFPTR ptr1, ptr2; +@@ -79,17 +145,20 @@ do_flip_h (j_decompress_ptr srcinfo, j_c + * mirroring by changing the signs of odd-numbered columns. + * Partial iMCUs at the right edge are left untouched. + */ +- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); ++ MCU_cols = srcinfo->output_width / ++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size); + + for (ci = 0; ci < dstinfo->num_components; ci++) { + compptr = dstinfo->comp_info + ci; + comp_width = MCU_cols * compptr->h_samp_factor; ++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor; + for (blk_y = 0; blk_y < compptr->height_in_blocks; + blk_y += compptr->v_samp_factor) { + buffer = (*srcinfo->mem->access_virt_barray) + ((j_common_ptr) srcinfo, src_coef_arrays[ci], blk_y, + (JDIMENSION) compptr->v_samp_factor, TRUE); + for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { ++ /* Do the mirroring */ + for (blk_x = 0; blk_x * 2 < comp_width; blk_x++) { + ptr1 = buffer[offset_y][blk_x]; + ptr2 = buffer[offset_y][comp_width - blk_x - 1]; +@@ -105,6 +174,80 @@ do_flip_h (j_decompress_ptr srcinfo, j_c + *ptr2++ = -temp1; + } + } ++ if (x_crop_blocks > 0) { ++ /* Now left-justify the portion of the data to be kept. ++ * We can't use a single jcopy_block_row() call because that routine ++ * depends on memcpy(), whose behavior is unspecified for overlapping ++ * source and destination areas. Sigh. ++ */ ++ for (blk_x = 0; blk_x < compptr->width_in_blocks; blk_x++) { ++ jcopy_block_row(buffer[offset_y] + blk_x + x_crop_blocks, ++ buffer[offset_y] + blk_x, ++ (JDIMENSION) 1); ++ } ++ } ++ } ++ } ++ } ++} ++ ++ ++LOCAL(void) ++do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, ++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, ++ jvirt_barray_ptr *src_coef_arrays, ++ jvirt_barray_ptr *dst_coef_arrays) ++/* Horizontal flip in general cropping case */ ++{ ++ JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y; ++ JDIMENSION x_crop_blocks, y_crop_blocks; ++ int ci, k, offset_y; ++ JBLOCKARRAY src_buffer, dst_buffer; ++ JBLOCKROW src_row_ptr, dst_row_ptr; ++ JCOEFPTR src_ptr, dst_ptr; ++ jpeg_component_info *compptr; ++ ++ /* Here we must output into a separate array because we can't touch ++ * different rows of a single virtual array simultaneously. Otherwise, ++ * this is essentially the same as the routine above. ++ */ ++ MCU_cols = srcinfo->output_width / ++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size); ++ ++ for (ci = 0; ci < dstinfo->num_components; ci++) { ++ compptr = dstinfo->comp_info + ci; ++ comp_width = MCU_cols * compptr->h_samp_factor; ++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor; ++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor; ++ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; ++ dst_blk_y += compptr->v_samp_factor) { ++ dst_buffer = (*srcinfo->mem->access_virt_barray) ++ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, ++ (JDIMENSION) compptr->v_samp_factor, TRUE); ++ src_buffer = (*srcinfo->mem->access_virt_barray) ++ ((j_common_ptr) srcinfo, src_coef_arrays[ci], ++ dst_blk_y + y_crop_blocks, ++ (JDIMENSION) compptr->v_samp_factor, FALSE); ++ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { ++ dst_row_ptr = dst_buffer[offset_y]; ++ src_row_ptr = src_buffer[offset_y]; ++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { ++ if (x_crop_blocks + dst_blk_x < comp_width) { ++ /* Do the mirrorable blocks */ ++ dst_ptr = dst_row_ptr[dst_blk_x]; ++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1]; ++ /* this unrolled loop doesn't need to know which row it's on... */ ++ for (k = 0; k < DCTSIZE2; k += 2) { ++ *dst_ptr++ = *src_ptr++; /* copy even column */ ++ *dst_ptr++ = - *src_ptr++; /* copy odd column with sign change */ ++ } ++ } else { ++ /* Copy last partial block(s) verbatim */ ++ jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks, ++ dst_row_ptr + dst_blk_x, ++ (JDIMENSION) 1); ++ } ++ } + } + } + } +@@ -113,11 +256,13 @@ do_flip_h (j_decompress_ptr srcinfo, j_c + + LOCAL(void) + do_flip_v (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, ++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, + jvirt_barray_ptr *src_coef_arrays, + jvirt_barray_ptr *dst_coef_arrays) + /* Vertical flip */ + { + JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y; ++ JDIMENSION x_crop_blocks, y_crop_blocks; + int ci, i, j, offset_y; + JBLOCKARRAY src_buffer, dst_buffer; + JBLOCKROW src_row_ptr, dst_row_ptr; +@@ -131,33 +276,39 @@ do_flip_v (j_decompress_ptr srcinfo, j_c + * of odd-numbered rows. + * Partial iMCUs at the bottom edge are copied verbatim. + */ +- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); ++ MCU_rows = srcinfo->output_height / ++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size); + + for (ci = 0; ci < dstinfo->num_components; ci++) { + compptr = dstinfo->comp_info + ci; + comp_height = MCU_rows * compptr->v_samp_factor; ++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor; ++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor; + for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; + dst_blk_y += compptr->v_samp_factor) { + dst_buffer = (*srcinfo->mem->access_virt_barray) + ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, + (JDIMENSION) compptr->v_samp_factor, TRUE); +- if (dst_blk_y < comp_height) { ++ if (y_crop_blocks + dst_blk_y < comp_height) { + /* Row is within the mirrorable area. */ + src_buffer = (*srcinfo->mem->access_virt_barray) + ((j_common_ptr) srcinfo, src_coef_arrays[ci], +- comp_height - dst_blk_y - (JDIMENSION) compptr->v_samp_factor, ++ comp_height - y_crop_blocks - dst_blk_y - ++ (JDIMENSION) compptr->v_samp_factor, + (JDIMENSION) compptr->v_samp_factor, FALSE); + } else { + /* Bottom-edge blocks will be copied verbatim. */ + src_buffer = (*srcinfo->mem->access_virt_barray) +- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_y, ++ ((j_common_ptr) srcinfo, src_coef_arrays[ci], ++ dst_blk_y + y_crop_blocks, + (JDIMENSION) compptr->v_samp_factor, FALSE); + } + for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { +- if (dst_blk_y < comp_height) { ++ if (y_crop_blocks + dst_blk_y < comp_height) { + /* Row is within the mirrorable area. */ + dst_row_ptr = dst_buffer[offset_y]; + src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1]; ++ src_row_ptr += x_crop_blocks; + for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; + dst_blk_x++) { + dst_ptr = dst_row_ptr[dst_blk_x]; +@@ -173,7 +324,8 @@ do_flip_v (j_decompress_ptr srcinfo, j_c + } + } else { + /* Just copy row verbatim. */ +- jcopy_block_row(src_buffer[offset_y], dst_buffer[offset_y], ++ jcopy_block_row(src_buffer[offset_y] + x_crop_blocks, ++ dst_buffer[offset_y], + compptr->width_in_blocks); + } + } +@@ -184,11 +336,12 @@ do_flip_v (j_decompress_ptr srcinfo, j_c + + LOCAL(void) + do_transpose (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, ++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, + jvirt_barray_ptr *src_coef_arrays, + jvirt_barray_ptr *dst_coef_arrays) + /* Transpose source into destination */ + { +- JDIMENSION dst_blk_x, dst_blk_y; ++ JDIMENSION dst_blk_x, dst_blk_y, x_crop_blocks, y_crop_blocks; + int ci, i, j, offset_x, offset_y; + JBLOCKARRAY src_buffer, dst_buffer; + JCOEFPTR src_ptr, dst_ptr; +@@ -201,6 +354,8 @@ do_transpose (j_decompress_ptr srcinfo, + */ + for (ci = 0; ci < dstinfo->num_components; ci++) { + compptr = dstinfo->comp_info + ci; ++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor; ++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor; + for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; + dst_blk_y += compptr->v_samp_factor) { + dst_buffer = (*srcinfo->mem->access_virt_barray) +@@ -210,11 +365,12 @@ do_transpose (j_decompress_ptr srcinfo, + for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; + dst_blk_x += compptr->h_samp_factor) { + src_buffer = (*srcinfo->mem->access_virt_barray) +- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x, ++ ((j_common_ptr) srcinfo, src_coef_arrays[ci], ++ dst_blk_x + x_crop_blocks, + (JDIMENSION) compptr->h_samp_factor, FALSE); + for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { +- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y]; + dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; ++ src_ptr = src_buffer[offset_x][dst_blk_y + offset_y + y_crop_blocks]; + for (i = 0; i < DCTSIZE; i++) + for (j = 0; j < DCTSIZE; j++) + dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; +@@ -228,6 +384,7 @@ do_transpose (j_decompress_ptr srcinfo, + + LOCAL(void) + do_rot_90 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, ++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, + jvirt_barray_ptr *src_coef_arrays, + jvirt_barray_ptr *dst_coef_arrays) + /* 90 degree rotation is equivalent to +@@ -237,6 +394,7 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c + */ + { + JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y; ++ JDIMENSION x_crop_blocks, y_crop_blocks; + int ci, i, j, offset_x, offset_y; + JBLOCKARRAY src_buffer, dst_buffer; + JCOEFPTR src_ptr, dst_ptr; +@@ -246,11 +404,14 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c + * at the (output) right edge properly. They just get transposed and + * not mirrored. + */ +- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); ++ MCU_cols = srcinfo->output_height / ++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size); + + for (ci = 0; ci < dstinfo->num_components; ci++) { + compptr = dstinfo->comp_info + ci; + comp_width = MCU_cols * compptr->h_samp_factor; ++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor; ++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor; + for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; + dst_blk_y += compptr->v_samp_factor) { + dst_buffer = (*srcinfo->mem->access_virt_barray) +@@ -259,15 +420,26 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c + for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { + for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; + dst_blk_x += compptr->h_samp_factor) { +- src_buffer = (*srcinfo->mem->access_virt_barray) +- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x, +- (JDIMENSION) compptr->h_samp_factor, FALSE); ++ if (x_crop_blocks + dst_blk_x < comp_width) { ++ /* Block is within the mirrorable area. */ ++ src_buffer = (*srcinfo->mem->access_virt_barray) ++ ((j_common_ptr) srcinfo, src_coef_arrays[ci], ++ comp_width - x_crop_blocks - dst_blk_x - ++ (JDIMENSION) compptr->h_samp_factor, ++ (JDIMENSION) compptr->h_samp_factor, FALSE); ++ } else { ++ /* Edge blocks are transposed but not mirrored. */ ++ src_buffer = (*srcinfo->mem->access_virt_barray) ++ ((j_common_ptr) srcinfo, src_coef_arrays[ci], ++ dst_blk_x + x_crop_blocks, ++ (JDIMENSION) compptr->h_samp_factor, FALSE); ++ } + for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { +- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y]; +- if (dst_blk_x < comp_width) { ++ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; ++ if (x_crop_blocks + dst_blk_x < comp_width) { + /* Block is within the mirrorable area. */ +- dst_ptr = dst_buffer[offset_y] +- [comp_width - dst_blk_x - offset_x - 1]; ++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1] ++ [dst_blk_y + offset_y + y_crop_blocks]; + for (i = 0; i < DCTSIZE; i++) { + for (j = 0; j < DCTSIZE; j++) + dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; +@@ -277,7 +449,8 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c + } + } else { + /* Edge blocks are transposed but not mirrored. */ +- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; ++ src_ptr = src_buffer[offset_x] ++ [dst_blk_y + offset_y + y_crop_blocks]; + for (i = 0; i < DCTSIZE; i++) + for (j = 0; j < DCTSIZE; j++) + dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; +@@ -292,6 +465,7 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c + + LOCAL(void) + do_rot_270 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, ++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, + jvirt_barray_ptr *src_coef_arrays, + jvirt_barray_ptr *dst_coef_arrays) + /* 270 degree rotation is equivalent to +@@ -301,6 +475,7 @@ do_rot_270 (j_decompress_ptr srcinfo, j_ + */ + { + JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y; ++ JDIMENSION x_crop_blocks, y_crop_blocks; + int ci, i, j, offset_x, offset_y; + JBLOCKARRAY src_buffer, dst_buffer; + JCOEFPTR src_ptr, dst_ptr; +@@ -310,11 +485,14 @@ do_rot_270 (j_decompress_ptr srcinfo, j_ + * at the (output) bottom edge properly. They just get transposed and + * not mirrored. + */ +- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); ++ MCU_rows = srcinfo->output_width / ++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size); + + for (ci = 0; ci < dstinfo->num_components; ci++) { + compptr = dstinfo->comp_info + ci; + comp_height = MCU_rows * compptr->v_samp_factor; ++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor; ++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor; + for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; + dst_blk_y += compptr->v_samp_factor) { + dst_buffer = (*srcinfo->mem->access_virt_barray) +@@ -324,14 +502,15 @@ do_rot_270 (j_decompress_ptr srcinfo, j_ + for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; + dst_blk_x += compptr->h_samp_factor) { + src_buffer = (*srcinfo->mem->access_virt_barray) +- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x, ++ ((j_common_ptr) srcinfo, src_coef_arrays[ci], ++ dst_blk_x + x_crop_blocks, + (JDIMENSION) compptr->h_samp_factor, FALSE); + for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { + dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; +- if (dst_blk_y < comp_height) { ++ if (y_crop_blocks + dst_blk_y < comp_height) { + /* Block is within the mirrorable area. */ + src_ptr = src_buffer[offset_x] +- [comp_height - dst_blk_y - offset_y - 1]; ++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1]; + for (i = 0; i < DCTSIZE; i++) { + for (j = 0; j < DCTSIZE; j++) { + dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; +@@ -341,7 +520,8 @@ do_rot_270 (j_decompress_ptr srcinfo, j_ + } + } else { + /* Edge blocks are transposed but not mirrored. */ +- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y]; ++ src_ptr = src_buffer[offset_x] ++ [dst_blk_y + offset_y + y_crop_blocks]; + for (i = 0; i < DCTSIZE; i++) + for (j = 0; j < DCTSIZE; j++) + dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; +@@ -356,6 +536,7 @@ do_rot_270 (j_decompress_ptr srcinfo, j_ + + LOCAL(void) + do_rot_180 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, ++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, + jvirt_barray_ptr *src_coef_arrays, + jvirt_barray_ptr *dst_coef_arrays) + /* 180 degree rotation is equivalent to +@@ -365,89 +546,95 @@ do_rot_180 (j_decompress_ptr srcinfo, j_ + */ + { + JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y; ++ JDIMENSION x_crop_blocks, y_crop_blocks; + int ci, i, j, offset_y; + JBLOCKARRAY src_buffer, dst_buffer; + JBLOCKROW src_row_ptr, dst_row_ptr; + JCOEFPTR src_ptr, dst_ptr; + jpeg_component_info *compptr; + +- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); +- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); ++ MCU_cols = srcinfo->output_width / ++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size); ++ MCU_rows = srcinfo->output_height / ++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size); + + for (ci = 0; ci < dstinfo->num_components; ci++) { + compptr = dstinfo->comp_info + ci; + comp_width = MCU_cols * compptr->h_samp_factor; + comp_height = MCU_rows * compptr->v_samp_factor; ++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor; ++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor; + for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; + dst_blk_y += compptr->v_samp_factor) { + dst_buffer = (*srcinfo->mem->access_virt_barray) + ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, + (JDIMENSION) compptr->v_samp_factor, TRUE); +- if (dst_blk_y < comp_height) { ++ if (y_crop_blocks + dst_blk_y < comp_height) { + /* Row is within the vertically mirrorable area. */ + src_buffer = (*srcinfo->mem->access_virt_barray) + ((j_common_ptr) srcinfo, src_coef_arrays[ci], +- comp_height - dst_blk_y - (JDIMENSION) compptr->v_samp_factor, ++ comp_height - y_crop_blocks - dst_blk_y - ++ (JDIMENSION) compptr->v_samp_factor, + (JDIMENSION) compptr->v_samp_factor, FALSE); + } else { + /* Bottom-edge rows are only mirrored horizontally. */ + src_buffer = (*srcinfo->mem->access_virt_barray) +- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_y, ++ ((j_common_ptr) srcinfo, src_coef_arrays[ci], ++ dst_blk_y + y_crop_blocks, + (JDIMENSION) compptr->v_samp_factor, FALSE); + } + for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { +- if (dst_blk_y < comp_height) { ++ dst_row_ptr = dst_buffer[offset_y]; ++ if (y_crop_blocks + dst_blk_y < comp_height) { + /* Row is within the mirrorable area. */ +- dst_row_ptr = dst_buffer[offset_y]; + src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1]; +- /* Process the blocks that can be mirrored both ways. */ +- for (dst_blk_x = 0; dst_blk_x < comp_width; dst_blk_x++) { ++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { + dst_ptr = dst_row_ptr[dst_blk_x]; +- src_ptr = src_row_ptr[comp_width - dst_blk_x - 1]; +- for (i = 0; i < DCTSIZE; i += 2) { +- /* For even row, negate every odd column. */ +- for (j = 0; j < DCTSIZE; j += 2) { +- *dst_ptr++ = *src_ptr++; +- *dst_ptr++ = - *src_ptr++; ++ if (x_crop_blocks + dst_blk_x < comp_width) { ++ /* Process the blocks that can be mirrored both ways. */ ++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1]; ++ for (i = 0; i < DCTSIZE; i += 2) { ++ /* For even row, negate every odd column. */ ++ for (j = 0; j < DCTSIZE; j += 2) { ++ *dst_ptr++ = *src_ptr++; ++ *dst_ptr++ = - *src_ptr++; ++ } ++ /* For odd row, negate every even column. */ ++ for (j = 0; j < DCTSIZE; j += 2) { ++ *dst_ptr++ = - *src_ptr++; ++ *dst_ptr++ = *src_ptr++; ++ } + } +- /* For odd row, negate every even column. */ +- for (j = 0; j < DCTSIZE; j += 2) { +- *dst_ptr++ = - *src_ptr++; +- *dst_ptr++ = *src_ptr++; ++ } else { ++ /* Any remaining right-edge blocks are only mirrored vertically. */ ++ src_ptr = src_row_ptr[x_crop_blocks + dst_blk_x]; ++ for (i = 0; i < DCTSIZE; i += 2) { ++ for (j = 0; j < DCTSIZE; j++) ++ *dst_ptr++ = *src_ptr++; ++ for (j = 0; j < DCTSIZE; j++) ++ *dst_ptr++ = - *src_ptr++; + } + } + } +- /* Any remaining right-edge blocks are only mirrored vertically. */ +- for (; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { +- dst_ptr = dst_row_ptr[dst_blk_x]; +- src_ptr = src_row_ptr[dst_blk_x]; +- for (i = 0; i < DCTSIZE; i += 2) { +- for (j = 0; j < DCTSIZE; j++) +- *dst_ptr++ = *src_ptr++; +- for (j = 0; j < DCTSIZE; j++) +- *dst_ptr++ = - *src_ptr++; +- } +- } + } else { + /* Remaining rows are just mirrored horizontally. */ +- dst_row_ptr = dst_buffer[offset_y]; + src_row_ptr = src_buffer[offset_y]; +- /* Process the blocks that can be mirrored. */ +- for (dst_blk_x = 0; dst_blk_x < comp_width; dst_blk_x++) { +- dst_ptr = dst_row_ptr[dst_blk_x]; +- src_ptr = src_row_ptr[comp_width - dst_blk_x - 1]; +- for (i = 0; i < DCTSIZE2; i += 2) { +- *dst_ptr++ = *src_ptr++; +- *dst_ptr++ = - *src_ptr++; ++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { ++ if (x_crop_blocks + dst_blk_x < comp_width) { ++ /* Process the blocks that can be mirrored. */ ++ dst_ptr = dst_row_ptr[dst_blk_x]; ++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1]; ++ for (i = 0; i < DCTSIZE2; i += 2) { ++ *dst_ptr++ = *src_ptr++; ++ *dst_ptr++ = - *src_ptr++; ++ } ++ } else { ++ /* Any remaining right-edge blocks are only copied. */ ++ jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks, ++ dst_row_ptr + dst_blk_x, ++ (JDIMENSION) 1); + } + } +- /* Any remaining right-edge blocks are only copied. */ +- for (; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { +- dst_ptr = dst_row_ptr[dst_blk_x]; +- src_ptr = src_row_ptr[dst_blk_x]; +- for (i = 0; i < DCTSIZE2; i++) +- *dst_ptr++ = *src_ptr++; +- } + } + } + } +@@ -457,6 +644,7 @@ do_rot_180 (j_decompress_ptr srcinfo, j_ + + LOCAL(void) + do_transverse (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, ++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, + jvirt_barray_ptr *src_coef_arrays, + jvirt_barray_ptr *dst_coef_arrays) + /* Transverse transpose is equivalent to +@@ -470,18 +658,23 @@ do_transverse (j_decompress_ptr srcinfo, + */ + { + JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y; ++ JDIMENSION x_crop_blocks, y_crop_blocks; + int ci, i, j, offset_x, offset_y; + JBLOCKARRAY src_buffer, dst_buffer; + JCOEFPTR src_ptr, dst_ptr; + jpeg_component_info *compptr; + +- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); +- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); ++ MCU_cols = srcinfo->output_height / ++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size); ++ MCU_rows = srcinfo->output_width / ++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size); + + for (ci = 0; ci < dstinfo->num_components; ci++) { + compptr = dstinfo->comp_info + ci; + comp_width = MCU_cols * compptr->h_samp_factor; + comp_height = MCU_rows * compptr->v_samp_factor; ++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor; ++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor; + for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; + dst_blk_y += compptr->v_samp_factor) { + dst_buffer = (*srcinfo->mem->access_virt_barray) +@@ -490,17 +683,26 @@ do_transverse (j_decompress_ptr srcinfo, + for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { + for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; + dst_blk_x += compptr->h_samp_factor) { +- src_buffer = (*srcinfo->mem->access_virt_barray) +- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x, +- (JDIMENSION) compptr->h_samp_factor, FALSE); ++ if (x_crop_blocks + dst_blk_x < comp_width) { ++ /* Block is within the mirrorable area. */ ++ src_buffer = (*srcinfo->mem->access_virt_barray) ++ ((j_common_ptr) srcinfo, src_coef_arrays[ci], ++ comp_width - x_crop_blocks - dst_blk_x - ++ (JDIMENSION) compptr->h_samp_factor, ++ (JDIMENSION) compptr->h_samp_factor, FALSE); ++ } else { ++ src_buffer = (*srcinfo->mem->access_virt_barray) ++ ((j_common_ptr) srcinfo, src_coef_arrays[ci], ++ dst_blk_x + x_crop_blocks, ++ (JDIMENSION) compptr->h_samp_factor, FALSE); ++ } + for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { +- if (dst_blk_y < comp_height) { +- src_ptr = src_buffer[offset_x] +- [comp_height - dst_blk_y - offset_y - 1]; +- if (dst_blk_x < comp_width) { ++ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; ++ if (y_crop_blocks + dst_blk_y < comp_height) { ++ if (x_crop_blocks + dst_blk_x < comp_width) { + /* Block is within the mirrorable area. */ +- dst_ptr = dst_buffer[offset_y] +- [comp_width - dst_blk_x - offset_x - 1]; ++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1] ++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1]; + for (i = 0; i < DCTSIZE; i++) { + for (j = 0; j < DCTSIZE; j++) { + dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; +@@ -516,7 +718,8 @@ do_transverse (j_decompress_ptr srcinfo, + } + } else { + /* Right-edge blocks are mirrored in y only */ +- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; ++ src_ptr = src_buffer[offset_x] ++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1]; + for (i = 0; i < DCTSIZE; i++) { + for (j = 0; j < DCTSIZE; j++) { + dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; +@@ -526,11 +729,10 @@ do_transverse (j_decompress_ptr srcinfo, + } + } + } else { +- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y]; +- if (dst_blk_x < comp_width) { ++ if (x_crop_blocks + dst_blk_x < comp_width) { + /* Bottom-edge blocks are mirrored in x only */ +- dst_ptr = dst_buffer[offset_y] +- [comp_width - dst_blk_x - offset_x - 1]; ++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1] ++ [dst_blk_y + offset_y + y_crop_blocks]; + for (i = 0; i < DCTSIZE; i++) { + for (j = 0; j < DCTSIZE; j++) + dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; +@@ -540,7 +742,8 @@ do_transverse (j_decompress_ptr srcinfo, + } + } else { + /* At lower right corner, just transpose, no mirroring */ +- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; ++ src_ptr = src_buffer[offset_x] ++ [dst_blk_y + offset_y + y_crop_blocks]; + for (i = 0; i < DCTSIZE; i++) + for (j = 0; j < DCTSIZE; j++) + dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; +@@ -554,83 +757,372 @@ do_transverse (j_decompress_ptr srcinfo, + } + + ++/* Parse an unsigned integer: subroutine for jtransform_parse_crop_spec. ++ * Returns TRUE if valid integer found, FALSE if not. ++ * *strptr is advanced over the digit string, and *result is set to its value. ++ */ ++ ++LOCAL(boolean) ++jt_read_integer (const char ** strptr, JDIMENSION * result) ++{ ++ const char * ptr = *strptr; ++ JDIMENSION val = 0; ++ ++ for (; isdigit(*ptr); ptr++) { ++ val = val * 10 + (JDIMENSION) (*ptr - '0'); ++ } ++ *result = val; ++ if (ptr == *strptr) ++ return FALSE; /* oops, no digits */ ++ *strptr = ptr; ++ return TRUE; ++} ++ ++ ++/* Parse a crop specification (written in X11 geometry style). ++ * The routine returns TRUE if the spec string is valid, FALSE if not. ++ * ++ * The crop spec string should have the format ++ * <width>[f]x<height>[f]{+-}<xoffset>{+-}<yoffset> ++ * where width, height, xoffset, and yoffset are unsigned integers. ++ * Each of the elements can be omitted to indicate a default value. ++ * (A weakness of this style is that it is not possible to omit xoffset ++ * while specifying yoffset, since they look alike.) ++ * ++ * This code is loosely based on XParseGeometry from the X11 distribution. ++ */ ++ ++GLOBAL(boolean) ++jtransform_parse_crop_spec (jpeg_transform_info *info, const char *spec) ++{ ++ info->crop = FALSE; ++ info->crop_width_set = JCROP_UNSET; ++ info->crop_height_set = JCROP_UNSET; ++ info->crop_xoffset_set = JCROP_UNSET; ++ info->crop_yoffset_set = JCROP_UNSET; ++ ++ if (isdigit(*spec)) { ++ /* fetch width */ ++ if (! jt_read_integer(&spec, &info->crop_width)) ++ return FALSE; ++ if (*spec == 'f' || *spec == 'F') { ++ spec++; ++ info->crop_width_set = JCROP_FORCE; ++ } else ++ info->crop_width_set = JCROP_POS; ++ } ++ if (*spec == 'x' || *spec == 'X') { ++ /* fetch height */ ++ spec++; ++ if (! jt_read_integer(&spec, &info->crop_height)) ++ return FALSE; ++ if (*spec == 'f' || *spec == 'F') { ++ spec++; ++ info->crop_height_set = JCROP_FORCE; ++ } else ++ info->crop_height_set = JCROP_POS; ++ } ++ if (*spec == '+' || *spec == '-') { ++ /* fetch xoffset */ ++ info->crop_xoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS; ++ spec++; ++ if (! jt_read_integer(&spec, &info->crop_xoffset)) ++ return FALSE; ++ } ++ if (*spec == '+' || *spec == '-') { ++ /* fetch yoffset */ ++ info->crop_yoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS; ++ spec++; ++ if (! jt_read_integer(&spec, &info->crop_yoffset)) ++ return FALSE; ++ } ++ /* We had better have gotten to the end of the string. */ ++ if (*spec != '\0') ++ return FALSE; ++ info->crop = TRUE; ++ return TRUE; ++} ++ ++ ++/* Trim off any partial iMCUs on the indicated destination edge */ ++ ++LOCAL(void) ++trim_right_edge (jpeg_transform_info *info, JDIMENSION full_width) ++{ ++ JDIMENSION MCU_cols; ++ ++ MCU_cols = info->output_width / info->iMCU_sample_width; ++ if (MCU_cols > 0 && info->x_crop_offset + MCU_cols == ++ full_width / info->iMCU_sample_width) ++ info->output_width = MCU_cols * info->iMCU_sample_width; ++} ++ ++LOCAL(void) ++trim_bottom_edge (jpeg_transform_info *info, JDIMENSION full_height) ++{ ++ JDIMENSION MCU_rows; ++ ++ MCU_rows = info->output_height / info->iMCU_sample_height; ++ if (MCU_rows > 0 && info->y_crop_offset + MCU_rows == ++ full_height / info->iMCU_sample_height) ++ info->output_height = MCU_rows * info->iMCU_sample_height; ++} ++ ++ + /* Request any required workspace. + * ++ * This routine figures out the size that the output image will be ++ * (which implies that all the transform parameters must be set before ++ * it is called). ++ * + * We allocate the workspace virtual arrays from the source decompression + * object, so that all the arrays (both the original data and the workspace) + * will be taken into account while making memory management decisions. + * Hence, this routine must be called after jpeg_read_header (which reads + * the image dimensions) and before jpeg_read_coefficients (which realizes + * the source's virtual arrays). ++ * ++ * This function returns FALSE right away if -perfect is given ++ * and transformation is not perfect. Otherwise returns TRUE. + */ + +-GLOBAL(void) ++GLOBAL(boolean) + jtransform_request_workspace (j_decompress_ptr srcinfo, + jpeg_transform_info *info) + { +- jvirt_barray_ptr *coef_arrays = NULL; ++ jvirt_barray_ptr *coef_arrays; ++ boolean need_workspace, transpose_it; + jpeg_component_info *compptr; +- int ci; ++ JDIMENSION xoffset, yoffset; ++ JDIMENSION width_in_iMCUs, height_in_iMCUs; ++ JDIMENSION width_in_blocks, height_in_blocks; ++ int ci, h_samp_factor, v_samp_factor; + ++ /* Determine number of components in output image */ + if (info->force_grayscale && + srcinfo->jpeg_color_space == JCS_YCbCr && +- srcinfo->num_components == 3) { ++ srcinfo->num_components == 3) + /* We'll only process the first component */ + info->num_components = 1; +- } else { ++ else + /* Process all the components */ + info->num_components = srcinfo->num_components; ++ ++ /* Compute output image dimensions and related values. */ ++#if JPEG_LIB_VERSION >= 80 ++ jpeg_core_output_dimensions(srcinfo); ++#else ++ srcinfo->output_width = srcinfo->image_width; ++ srcinfo->output_height = srcinfo->image_height; ++#endif ++ ++ /* Return right away if -perfect is given and transformation is not perfect. ++ */ ++ if (info->perfect) { ++ if (info->num_components == 1) { ++ if (!jtransform_perfect_transform(srcinfo->output_width, ++ srcinfo->output_height, ++ srcinfo->_min_DCT_h_scaled_size, ++ srcinfo->_min_DCT_v_scaled_size, ++ info->transform)) ++ return FALSE; ++ } else { ++ if (!jtransform_perfect_transform(srcinfo->output_width, ++ srcinfo->output_height, ++ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size, ++ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size, ++ info->transform)) ++ return FALSE; ++ } ++ } ++ ++ /* If there is only one output component, force the iMCU size to be 1; ++ * else use the source iMCU size. (This allows us to do the right thing ++ * when reducing color to grayscale, and also provides a handy way of ++ * cleaning up "funny" grayscale images whose sampling factors are not 1x1.) ++ */ ++ switch (info->transform) { ++ case JXFORM_TRANSPOSE: ++ case JXFORM_TRANSVERSE: ++ case JXFORM_ROT_90: ++ case JXFORM_ROT_270: ++ info->output_width = srcinfo->output_height; ++ info->output_height = srcinfo->output_width; ++ if (info->num_components == 1) { ++ info->iMCU_sample_width = srcinfo->_min_DCT_v_scaled_size; ++ info->iMCU_sample_height = srcinfo->_min_DCT_h_scaled_size; ++ } else { ++ info->iMCU_sample_width = ++ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size; ++ info->iMCU_sample_height = ++ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size; ++ } ++ break; ++ default: ++ info->output_width = srcinfo->output_width; ++ info->output_height = srcinfo->output_height; ++ if (info->num_components == 1) { ++ info->iMCU_sample_width = srcinfo->_min_DCT_h_scaled_size; ++ info->iMCU_sample_height = srcinfo->_min_DCT_v_scaled_size; ++ } else { ++ info->iMCU_sample_width = ++ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size; ++ info->iMCU_sample_height = ++ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size; ++ } ++ break; + } + ++ /* If cropping has been requested, compute the crop area's position and ++ * dimensions, ensuring that its upper left corner falls at an iMCU boundary. ++ */ ++ if (info->crop) { ++ /* Insert default values for unset crop parameters */ ++ if (info->crop_xoffset_set == JCROP_UNSET) ++ info->crop_xoffset = 0; /* default to +0 */ ++ if (info->crop_yoffset_set == JCROP_UNSET) ++ info->crop_yoffset = 0; /* default to +0 */ ++ if (info->crop_xoffset >= info->output_width || ++ info->crop_yoffset >= info->output_height) ++ ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); ++ if (info->crop_width_set == JCROP_UNSET) ++ info->crop_width = info->output_width - info->crop_xoffset; ++ if (info->crop_height_set == JCROP_UNSET) ++ info->crop_height = info->output_height - info->crop_yoffset; ++ /* Ensure parameters are valid */ ++ if (info->crop_width <= 0 || info->crop_width > info->output_width || ++ info->crop_height <= 0 || info->crop_height > info->output_height || ++ info->crop_xoffset > info->output_width - info->crop_width || ++ info->crop_yoffset > info->output_height - info->crop_height) ++ ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); ++ /* Convert negative crop offsets into regular offsets */ ++ if (info->crop_xoffset_set == JCROP_NEG) ++ xoffset = info->output_width - info->crop_width - info->crop_xoffset; ++ else ++ xoffset = info->crop_xoffset; ++ if (info->crop_yoffset_set == JCROP_NEG) ++ yoffset = info->output_height - info->crop_height - info->crop_yoffset; ++ else ++ yoffset = info->crop_yoffset; ++ /* Now adjust so that upper left corner falls at an iMCU boundary */ ++ if (info->crop_width_set == JCROP_FORCE) ++ info->output_width = info->crop_width; ++ else ++ info->output_width = ++ info->crop_width + (xoffset % info->iMCU_sample_width); ++ if (info->crop_height_set == JCROP_FORCE) ++ info->output_height = info->crop_height; ++ else ++ info->output_height = ++ info->crop_height + (yoffset % info->iMCU_sample_height); ++ /* Save x/y offsets measured in iMCUs */ ++ info->x_crop_offset = xoffset / info->iMCU_sample_width; ++ info->y_crop_offset = yoffset / info->iMCU_sample_height; ++ } else { ++ info->x_crop_offset = 0; ++ info->y_crop_offset = 0; ++ } ++ ++ /* Figure out whether we need workspace arrays, ++ * and if so whether they are transposed relative to the source. ++ */ ++ need_workspace = FALSE; ++ transpose_it = FALSE; + switch (info->transform) { + case JXFORM_NONE: ++ if (info->x_crop_offset != 0 || info->y_crop_offset != 0) ++ need_workspace = TRUE; ++ /* No workspace needed if neither cropping nor transforming */ ++ break; + case JXFORM_FLIP_H: +- /* Don't need a workspace array */ ++ if (info->trim) ++ trim_right_edge(info, srcinfo->output_width); ++ if (info->y_crop_offset != 0 || info->slow_hflip) ++ need_workspace = TRUE; ++ /* do_flip_h_no_crop doesn't need a workspace array */ + break; + case JXFORM_FLIP_V: +- case JXFORM_ROT_180: +- /* Need workspace arrays having same dimensions as source image. +- * Note that we allocate arrays padded out to the next iMCU boundary, +- * so that transform routines need not worry about missing edge blocks. +- */ +- coef_arrays = (jvirt_barray_ptr *) +- (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE, +- SIZEOF(jvirt_barray_ptr) * info->num_components); +- for (ci = 0; ci < info->num_components; ci++) { +- compptr = srcinfo->comp_info + ci; +- coef_arrays[ci] = (*srcinfo->mem->request_virt_barray) +- ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE, +- (JDIMENSION) jround_up((long) compptr->width_in_blocks, +- (long) compptr->h_samp_factor), +- (JDIMENSION) jround_up((long) compptr->height_in_blocks, +- (long) compptr->v_samp_factor), +- (JDIMENSION) compptr->v_samp_factor); +- } ++ if (info->trim) ++ trim_bottom_edge(info, srcinfo->output_height); ++ /* Need workspace arrays having same dimensions as source image. */ ++ need_workspace = TRUE; + break; + case JXFORM_TRANSPOSE: ++ /* transpose does NOT have to trim anything */ ++ /* Need workspace arrays having transposed dimensions. */ ++ need_workspace = TRUE; ++ transpose_it = TRUE; ++ break; + case JXFORM_TRANSVERSE: ++ if (info->trim) { ++ trim_right_edge(info, srcinfo->output_height); ++ trim_bottom_edge(info, srcinfo->output_width); ++ } ++ /* Need workspace arrays having transposed dimensions. */ ++ need_workspace = TRUE; ++ transpose_it = TRUE; ++ break; + case JXFORM_ROT_90: ++ if (info->trim) ++ trim_right_edge(info, srcinfo->output_height); ++ /* Need workspace arrays having transposed dimensions. */ ++ need_workspace = TRUE; ++ transpose_it = TRUE; ++ break; ++ case JXFORM_ROT_180: ++ if (info->trim) { ++ trim_right_edge(info, srcinfo->output_width); ++ trim_bottom_edge(info, srcinfo->output_height); ++ } ++ /* Need workspace arrays having same dimensions as source image. */ ++ need_workspace = TRUE; ++ break; + case JXFORM_ROT_270: +- /* Need workspace arrays having transposed dimensions. +- * Note that we allocate arrays padded out to the next iMCU boundary, +- * so that transform routines need not worry about missing edge blocks. +- */ ++ if (info->trim) ++ trim_bottom_edge(info, srcinfo->output_width); ++ /* Need workspace arrays having transposed dimensions. */ ++ need_workspace = TRUE; ++ transpose_it = TRUE; ++ break; ++ } ++ ++ /* Allocate workspace if needed. ++ * Note that we allocate arrays padded out to the next iMCU boundary, ++ * so that transform routines need not worry about missing edge blocks. ++ */ ++ if (need_workspace) { + coef_arrays = (jvirt_barray_ptr *) + (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE, +- SIZEOF(jvirt_barray_ptr) * info->num_components); ++ SIZEOF(jvirt_barray_ptr) * info->num_components); ++ width_in_iMCUs = (JDIMENSION) ++ jdiv_round_up((long) info->output_width, ++ (long) info->iMCU_sample_width); ++ height_in_iMCUs = (JDIMENSION) ++ jdiv_round_up((long) info->output_height, ++ (long) info->iMCU_sample_height); + for (ci = 0; ci < info->num_components; ci++) { + compptr = srcinfo->comp_info + ci; ++ if (info->num_components == 1) { ++ /* we're going to force samp factors to 1x1 in this case */ ++ h_samp_factor = v_samp_factor = 1; ++ } else if (transpose_it) { ++ h_samp_factor = compptr->v_samp_factor; ++ v_samp_factor = compptr->h_samp_factor; ++ } else { ++ h_samp_factor = compptr->h_samp_factor; ++ v_samp_factor = compptr->v_samp_factor; ++ } ++ width_in_blocks = width_in_iMCUs * h_samp_factor; ++ height_in_blocks = height_in_iMCUs * v_samp_factor; + coef_arrays[ci] = (*srcinfo->mem->request_virt_barray) + ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE, +- (JDIMENSION) jround_up((long) compptr->height_in_blocks, +- (long) compptr->v_samp_factor), +- (JDIMENSION) jround_up((long) compptr->width_in_blocks, +- (long) compptr->h_samp_factor), +- (JDIMENSION) compptr->h_samp_factor); ++ width_in_blocks, height_in_blocks, (JDIMENSION) v_samp_factor); + } +- break; +- } +- info->workspace_coef_arrays = coef_arrays; ++ info->workspace_coef_arrays = coef_arrays; ++ } else ++ info->workspace_coef_arrays = NULL; ++ ++ return TRUE; + } + + +@@ -642,13 +1134,18 @@ transpose_critical_parameters (j_compres + int tblno, i, j, ci, itemp; + jpeg_component_info *compptr; + JQUANT_TBL *qtblptr; +- JDIMENSION dtemp; ++ JDIMENSION jtemp; + UINT16 qtemp; + +- /* Transpose basic image dimensions */ +- dtemp = dstinfo->image_width; ++ /* Transpose image dimensions */ ++ jtemp = dstinfo->image_width; + dstinfo->image_width = dstinfo->image_height; +- dstinfo->image_height = dtemp; ++ dstinfo->image_height = jtemp; ++#if JPEG_LIB_VERSION >= 70 ++ itemp = dstinfo->min_DCT_h_scaled_size; ++ dstinfo->min_DCT_h_scaled_size = dstinfo->min_DCT_v_scaled_size; ++ dstinfo->min_DCT_v_scaled_size = itemp; ++#endif + + /* Transpose sampling factors */ + for (ci = 0; ci < dstinfo->num_components; ci++) { +@@ -674,47 +1171,162 @@ transpose_critical_parameters (j_compres + } + + +-/* Trim off any partial iMCUs on the indicated destination edge */ ++/* Adjust Exif image parameters. ++ * ++ * We try to adjust the Tags ExifImageWidth and ExifImageHeight if possible. ++ */ + ++#if JPEG_LIB_VERSION >= 70 + LOCAL(void) +-trim_right_edge (j_compress_ptr dstinfo) ++adjust_exif_parameters (JOCTET FAR * data, unsigned int length, ++ JDIMENSION new_width, JDIMENSION new_height) + { +- int ci, max_h_samp_factor; +- JDIMENSION MCU_cols; ++ boolean is_motorola; /* Flag for byte order */ ++ unsigned int number_of_tags, tagnum; ++ unsigned int firstoffset, offset; ++ JDIMENSION new_value; ++ ++ if (length < 12) return; /* Length of an IFD entry */ ++ ++ /* Discover byte order */ ++ if (GETJOCTET(data[0]) == 0x49 && GETJOCTET(data[1]) == 0x49) ++ is_motorola = FALSE; ++ else if (GETJOCTET(data[0]) == 0x4D && GETJOCTET(data[1]) == 0x4D) ++ is_motorola = TRUE; ++ else ++ return; ++ ++ /* Check Tag Mark */ ++ if (is_motorola) { ++ if (GETJOCTET(data[2]) != 0) return; ++ if (GETJOCTET(data[3]) != 0x2A) return; ++ } else { ++ if (GETJOCTET(data[3]) != 0) return; ++ if (GETJOCTET(data[2]) != 0x2A) return; ++ } + +- /* We have to compute max_h_samp_factor ourselves, +- * because it hasn't been set yet in the destination +- * (and we don't want to use the source's value). +- */ +- max_h_samp_factor = 1; +- for (ci = 0; ci < dstinfo->num_components; ci++) { +- int h_samp_factor = dstinfo->comp_info[ci].h_samp_factor; +- max_h_samp_factor = MAX(max_h_samp_factor, h_samp_factor); ++ /* Get first IFD offset (offset to IFD0) */ ++ if (is_motorola) { ++ if (GETJOCTET(data[4]) != 0) return; ++ if (GETJOCTET(data[5]) != 0) return; ++ firstoffset = GETJOCTET(data[6]); ++ firstoffset <<= 8; ++ firstoffset += GETJOCTET(data[7]); ++ } else { ++ if (GETJOCTET(data[7]) != 0) return; ++ if (GETJOCTET(data[6]) != 0) return; ++ firstoffset = GETJOCTET(data[5]); ++ firstoffset <<= 8; ++ firstoffset += GETJOCTET(data[4]); + } +- MCU_cols = dstinfo->image_width / (max_h_samp_factor * DCTSIZE); +- if (MCU_cols > 0) /* can't trim to 0 pixels */ +- dstinfo->image_width = MCU_cols * (max_h_samp_factor * DCTSIZE); +-} ++ if (firstoffset > length - 2) return; /* check end of data segment */ + +-LOCAL(void) +-trim_bottom_edge (j_compress_ptr dstinfo) +-{ +- int ci, max_v_samp_factor; +- JDIMENSION MCU_rows; ++ /* Get the number of directory entries contained in this IFD */ ++ if (is_motorola) { ++ number_of_tags = GETJOCTET(data[firstoffset]); ++ number_of_tags <<= 8; ++ number_of_tags += GETJOCTET(data[firstoffset+1]); ++ } else { ++ number_of_tags = GETJOCTET(data[firstoffset+1]); ++ number_of_tags <<= 8; ++ number_of_tags += GETJOCTET(data[firstoffset]); ++ } ++ if (number_of_tags == 0) return; ++ firstoffset += 2; + +- /* We have to compute max_v_samp_factor ourselves, +- * because it hasn't been set yet in the destination +- * (and we don't want to use the source's value). +- */ +- max_v_samp_factor = 1; +- for (ci = 0; ci < dstinfo->num_components; ci++) { +- int v_samp_factor = dstinfo->comp_info[ci].v_samp_factor; +- max_v_samp_factor = MAX(max_v_samp_factor, v_samp_factor); ++ /* Search for ExifSubIFD offset Tag in IFD0 */ ++ for (;;) { ++ if (firstoffset > length - 12) return; /* check end of data segment */ ++ /* Get Tag number */ ++ if (is_motorola) { ++ tagnum = GETJOCTET(data[firstoffset]); ++ tagnum <<= 8; ++ tagnum += GETJOCTET(data[firstoffset+1]); ++ } else { ++ tagnum = GETJOCTET(data[firstoffset+1]); ++ tagnum <<= 8; ++ tagnum += GETJOCTET(data[firstoffset]); ++ } ++ if (tagnum == 0x8769) break; /* found ExifSubIFD offset Tag */ ++ if (--number_of_tags == 0) return; ++ firstoffset += 12; ++ } ++ ++ /* Get the ExifSubIFD offset */ ++ if (is_motorola) { ++ if (GETJOCTET(data[firstoffset+8]) != 0) return; ++ if (GETJOCTET(data[firstoffset+9]) != 0) return; ++ offset = GETJOCTET(data[firstoffset+10]); ++ offset <<= 8; ++ offset += GETJOCTET(data[firstoffset+11]); ++ } else { ++ if (GETJOCTET(data[firstoffset+11]) != 0) return; ++ if (GETJOCTET(data[firstoffset+10]) != 0) return; ++ offset = GETJOCTET(data[firstoffset+9]); ++ offset <<= 8; ++ offset += GETJOCTET(data[firstoffset+8]); ++ } ++ if (offset > length - 2) return; /* check end of data segment */ ++ ++ /* Get the number of directory entries contained in this SubIFD */ ++ if (is_motorola) { ++ number_of_tags = GETJOCTET(data[offset]); ++ number_of_tags <<= 8; ++ number_of_tags += GETJOCTET(data[offset+1]); ++ } else { ++ number_of_tags = GETJOCTET(data[offset+1]); ++ number_of_tags <<= 8; ++ number_of_tags += GETJOCTET(data[offset]); + } +- MCU_rows = dstinfo->image_height / (max_v_samp_factor * DCTSIZE); +- if (MCU_rows > 0) /* can't trim to 0 pixels */ +- dstinfo->image_height = MCU_rows * (max_v_samp_factor * DCTSIZE); ++ if (number_of_tags < 2) return; ++ offset += 2; ++ ++ /* Search for ExifImageWidth and ExifImageHeight Tags in this SubIFD */ ++ do { ++ if (offset > length - 12) return; /* check end of data segment */ ++ /* Get Tag number */ ++ if (is_motorola) { ++ tagnum = GETJOCTET(data[offset]); ++ tagnum <<= 8; ++ tagnum += GETJOCTET(data[offset+1]); ++ } else { ++ tagnum = GETJOCTET(data[offset+1]); ++ tagnum <<= 8; ++ tagnum += GETJOCTET(data[offset]); ++ } ++ if (tagnum == 0xA002 || tagnum == 0xA003) { ++ if (tagnum == 0xA002) ++ new_value = new_width; /* ExifImageWidth Tag */ ++ else ++ new_value = new_height; /* ExifImageHeight Tag */ ++ if (is_motorola) { ++ data[offset+2] = 0; /* Format = unsigned long (4 octets) */ ++ data[offset+3] = 4; ++ data[offset+4] = 0; /* Number Of Components = 1 */ ++ data[offset+5] = 0; ++ data[offset+6] = 0; ++ data[offset+7] = 1; ++ data[offset+8] = 0; ++ data[offset+9] = 0; ++ data[offset+10] = (JOCTET)((new_value >> 8) & 0xFF); ++ data[offset+11] = (JOCTET)(new_value & 0xFF); ++ } else { ++ data[offset+2] = 4; /* Format = unsigned long (4 octets) */ ++ data[offset+3] = 0; ++ data[offset+4] = 1; /* Number Of Components = 1 */ ++ data[offset+5] = 0; ++ data[offset+6] = 0; ++ data[offset+7] = 0; ++ data[offset+8] = (JOCTET)(new_value & 0xFF); ++ data[offset+9] = (JOCTET)((new_value >> 8) & 0xFF); ++ data[offset+10] = 0; ++ data[offset+11] = 0; ++ } ++ } ++ offset += 12; ++ } while (--number_of_tags); + } ++#endif + + + /* Adjust output image parameters as needed. +@@ -736,18 +1348,22 @@ jtransform_adjust_parameters (j_decompre + { + /* If force-to-grayscale is requested, adjust destination parameters */ + if (info->force_grayscale) { +- /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed +- * properly. Among other things, the target h_samp_factor & v_samp_factor +- * will get set to 1, which typically won't match the source. +- * In fact we do this even if the source is already grayscale; that +- * provides an easy way of coercing a grayscale JPEG with funny sampling +- * factors to the customary 1,1. (Some decoders fail on other factors.) ++ /* First, ensure we have YCbCr or grayscale data, and that the source's ++ * Y channel is full resolution. (No reasonable person would make Y ++ * be less than full resolution, so actually coping with that case ++ * isn't worth extra code space. But we check it to avoid crashing.) + */ +- if ((dstinfo->jpeg_color_space == JCS_YCbCr && +- dstinfo->num_components == 3) || +- (dstinfo->jpeg_color_space == JCS_GRAYSCALE && +- dstinfo->num_components == 1)) { +- /* We have to preserve the source's quantization table number. */ ++ if (((dstinfo->jpeg_color_space == JCS_YCbCr && ++ dstinfo->num_components == 3) || ++ (dstinfo->jpeg_color_space == JCS_GRAYSCALE && ++ dstinfo->num_components == 1)) && ++ srcinfo->comp_info[0].h_samp_factor == srcinfo->max_h_samp_factor && ++ srcinfo->comp_info[0].v_samp_factor == srcinfo->max_v_samp_factor) { ++ /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed ++ * properly. Among other things, it sets the target h_samp_factor & ++ * v_samp_factor to 1, which typically won't match the source. ++ * We have to preserve the source's quantization table number, however. ++ */ + int sv_quant_tbl_no = dstinfo->comp_info[0].quant_tbl_no; + jpeg_set_colorspace(dstinfo, JCS_GRAYSCALE); + dstinfo->comp_info[0].quant_tbl_no = sv_quant_tbl_no; +@@ -755,50 +1371,66 @@ jtransform_adjust_parameters (j_decompre + /* Sorry, can't do it */ + ERREXIT(dstinfo, JERR_CONVERSION_NOTIMPL); + } ++ } else if (info->num_components == 1) { ++ /* For a single-component source, we force the destination sampling factors ++ * to 1x1, with or without force_grayscale. This is useful because some ++ * decoders choke on grayscale images with other sampling factors. ++ */ ++ dstinfo->comp_info[0].h_samp_factor = 1; ++ dstinfo->comp_info[0].v_samp_factor = 1; + } + +- /* Correct the destination's image dimensions etc if necessary */ ++ /* Correct the destination's image dimensions as necessary ++ * for rotate/flip, resize, and crop operations. ++ */ ++#if JPEG_LIB_VERSION >= 70 ++ dstinfo->jpeg_width = info->output_width; ++ dstinfo->jpeg_height = info->output_height; ++#endif ++ ++ /* Transpose destination image parameters */ + switch (info->transform) { +- case JXFORM_NONE: +- /* Nothing to do */ +- break; +- case JXFORM_FLIP_H: +- if (info->trim) +- trim_right_edge(dstinfo); +- break; +- case JXFORM_FLIP_V: +- if (info->trim) +- trim_bottom_edge(dstinfo); +- break; + case JXFORM_TRANSPOSE: +- transpose_critical_parameters(dstinfo); +- /* transpose does NOT have to trim anything */ +- break; + case JXFORM_TRANSVERSE: +- transpose_critical_parameters(dstinfo); +- if (info->trim) { +- trim_right_edge(dstinfo); +- trim_bottom_edge(dstinfo); +- } +- break; + case JXFORM_ROT_90: +- transpose_critical_parameters(dstinfo); +- if (info->trim) +- trim_right_edge(dstinfo); +- break; +- case JXFORM_ROT_180: +- if (info->trim) { +- trim_right_edge(dstinfo); +- trim_bottom_edge(dstinfo); +- } +- break; + case JXFORM_ROT_270: ++#if JPEG_LIB_VERSION < 70 ++ dstinfo->image_width = info->output_height; ++ dstinfo->image_height = info->output_width; ++#endif + transpose_critical_parameters(dstinfo); +- if (info->trim) +- trim_bottom_edge(dstinfo); ++ break; ++ default: ++#if JPEG_LIB_VERSION < 70 ++ dstinfo->image_width = info->output_width; ++ dstinfo->image_height = info->output_height; ++#endif + break; + } + ++ /* Adjust Exif properties */ ++ if (srcinfo->marker_list != NULL && ++ srcinfo->marker_list->marker == JPEG_APP0+1 && ++ srcinfo->marker_list->data_length >= 6 && ++ GETJOCTET(srcinfo->marker_list->data[0]) == 0x45 && ++ GETJOCTET(srcinfo->marker_list->data[1]) == 0x78 && ++ GETJOCTET(srcinfo->marker_list->data[2]) == 0x69 && ++ GETJOCTET(srcinfo->marker_list->data[3]) == 0x66 && ++ GETJOCTET(srcinfo->marker_list->data[4]) == 0 && ++ GETJOCTET(srcinfo->marker_list->data[5]) == 0) { ++ /* Suppress output of JFIF marker */ ++ dstinfo->write_JFIF_header = FALSE; ++#if JPEG_LIB_VERSION >= 70 ++ /* Adjust Exif image parameters */ ++ if (dstinfo->jpeg_width != srcinfo->image_width || ++ dstinfo->jpeg_height != srcinfo->image_height) ++ /* Align data segment to start of TIFF structure for parsing */ ++ adjust_exif_parameters(srcinfo->marker_list->data + 6, ++ srcinfo->marker_list->data_length - 6, ++ dstinfo->jpeg_width, dstinfo->jpeg_height); ++#endif ++ } ++ + /* Return the appropriate output data set */ + if (info->workspace_coef_arrays != NULL) + return info->workspace_coef_arrays; +@@ -816,40 +1448,110 @@ jtransform_adjust_parameters (j_decompre + */ + + GLOBAL(void) +-jtransform_execute_transformation (j_decompress_ptr srcinfo, +- j_compress_ptr dstinfo, +- jvirt_barray_ptr *src_coef_arrays, +- jpeg_transform_info *info) ++jtransform_execute_transform (j_decompress_ptr srcinfo, ++ j_compress_ptr dstinfo, ++ jvirt_barray_ptr *src_coef_arrays, ++ jpeg_transform_info *info) + { + jvirt_barray_ptr *dst_coef_arrays = info->workspace_coef_arrays; + ++ /* Note: conditions tested here should match those in switch statement ++ * in jtransform_request_workspace() ++ */ + switch (info->transform) { + case JXFORM_NONE: ++ if (info->x_crop_offset != 0 || info->y_crop_offset != 0) ++ do_crop(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, ++ src_coef_arrays, dst_coef_arrays); + break; + case JXFORM_FLIP_H: +- do_flip_h(srcinfo, dstinfo, src_coef_arrays); ++ if (info->y_crop_offset != 0 || info->slow_hflip) ++ do_flip_h(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, ++ src_coef_arrays, dst_coef_arrays); ++ else ++ do_flip_h_no_crop(srcinfo, dstinfo, info->x_crop_offset, ++ src_coef_arrays); + break; + case JXFORM_FLIP_V: +- do_flip_v(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); ++ do_flip_v(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, ++ src_coef_arrays, dst_coef_arrays); + break; + case JXFORM_TRANSPOSE: +- do_transpose(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); ++ do_transpose(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, ++ src_coef_arrays, dst_coef_arrays); + break; + case JXFORM_TRANSVERSE: +- do_transverse(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); ++ do_transverse(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, ++ src_coef_arrays, dst_coef_arrays); + break; + case JXFORM_ROT_90: +- do_rot_90(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); ++ do_rot_90(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, ++ src_coef_arrays, dst_coef_arrays); + break; + case JXFORM_ROT_180: +- do_rot_180(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); ++ do_rot_180(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, ++ src_coef_arrays, dst_coef_arrays); + break; + case JXFORM_ROT_270: +- do_rot_270(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays); ++ do_rot_270(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, ++ src_coef_arrays, dst_coef_arrays); + break; + } + } + ++/* jtransform_perfect_transform ++ * ++ * Determine whether lossless transformation is perfectly ++ * possible for a specified image and transformation. ++ * ++ * Inputs: ++ * image_width, image_height: source image dimensions. ++ * MCU_width, MCU_height: pixel dimensions of MCU. ++ * transform: transformation identifier. ++ * Parameter sources from initialized jpeg_struct ++ * (after reading source header): ++ * image_width = cinfo.image_width ++ * image_height = cinfo.image_height ++ * MCU_width = cinfo.max_h_samp_factor * cinfo.block_size ++ * MCU_height = cinfo.max_v_samp_factor * cinfo.block_size ++ * Result: ++ * TRUE = perfect transformation possible ++ * FALSE = perfect transformation not possible ++ * (may use custom action then) ++ */ ++ ++GLOBAL(boolean) ++jtransform_perfect_transform(JDIMENSION image_width, JDIMENSION image_height, ++ int MCU_width, int MCU_height, ++ JXFORM_CODE transform) ++{ ++ boolean result = TRUE; /* initialize TRUE */ ++ ++ switch (transform) { ++ case JXFORM_FLIP_H: ++ case JXFORM_ROT_270: ++ if (image_width % (JDIMENSION) MCU_width) ++ result = FALSE; ++ break; ++ case JXFORM_FLIP_V: ++ case JXFORM_ROT_90: ++ if (image_height % (JDIMENSION) MCU_height) ++ result = FALSE; ++ break; ++ case JXFORM_TRANSVERSE: ++ case JXFORM_ROT_180: ++ if (image_width % (JDIMENSION) MCU_width) ++ result = FALSE; ++ if (image_height % (JDIMENSION) MCU_height) ++ result = FALSE; ++ break; ++ default: ++ break; ++ } ++ ++ return result; ++} ++ + #endif /* TRANSFORMS_SUPPORTED */ + + +Index: fbida-2.10/jpeg/62/transupp.h +=================================================================== +--- fbida-2.10.orig/jpeg/62/transupp.h ++++ fbida-2.10/jpeg/62/transupp.h +@@ -1,7 +1,7 @@ + /* + * transupp.h + * +- * Copyright (C) 1997, Thomas G. Lane. ++ * Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. + * This file is part of the Independent JPEG Group's software. + * For conditions of distribution and use, see the accompanying README file. + * +@@ -22,32 +22,6 @@ + #define TRANSFORMS_SUPPORTED 1 /* 0 disables transform code */ + #endif + +-/* Short forms of external names for systems with brain-damaged linkers. */ +- +-#ifdef NEED_SHORT_EXTERNAL_NAMES +-#define jtransform_request_workspace jTrRequest +-#define jtransform_adjust_parameters jTrAdjust +-#define jtransform_execute_transformation jTrExec +-#define jcopy_markers_setup jCMrkSetup +-#define jcopy_markers_execute jCMrkExec +-#endif /* NEED_SHORT_EXTERNAL_NAMES */ +- +- +-/* +- * Codes for supported types of image transformations. +- */ +- +-typedef enum { +- JXFORM_NONE, /* no transformation */ +- JXFORM_FLIP_H, /* horizontal flip */ +- JXFORM_FLIP_V, /* vertical flip */ +- JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */ +- JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */ +- JXFORM_ROT_90, /* 90-degree clockwise rotation */ +- JXFORM_ROT_180, /* 180-degree rotation */ +- JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */ +-} JXFORM_CODE; +- + /* + * Although rotating and flipping data expressed as DCT coefficients is not + * hard, there is an asymmetry in the JPEG format specification for images +@@ -75,6 +49,25 @@ typedef enum { + * (For example, -rot 270 -trim trims only the bottom edge, but -rot 90 -trim + * followed by -rot 180 -trim trims both edges.) + * ++ * We also offer a lossless-crop option, which discards data outside a given ++ * image region but losslessly preserves what is inside. Like the rotate and ++ * flip transforms, lossless crop is restricted by the JPEG format: the upper ++ * left corner of the selected region must fall on an iMCU boundary. If this ++ * does not hold for the given crop parameters, we silently move the upper left ++ * corner up and/or left to make it so, simultaneously increasing the region ++ * dimensions to keep the lower right crop corner unchanged. (Thus, the ++ * output image covers at least the requested region, but may cover more.) ++ * The adjustment of the region dimensions may be optionally disabled. ++ * ++ * We also provide a lossless-resize option, which is kind of a lossless-crop ++ * operation in the DCT coefficient block domain - it discards higher-order ++ * coefficients and losslessly preserves lower-order coefficients of a ++ * sub-block. ++ * ++ * Rotate/flip transform, resize, and crop can be requested together in a ++ * single invocation. The crop is applied last --- that is, the crop region ++ * is specified in terms of the destination image after transform/resize. ++ * + * We also offer a "force to grayscale" option, which simply discards the + * chrominance channels of a YCbCr image. This is lossless in the sense that + * the luminance channel is preserved exactly. It's not the same kind of +@@ -83,22 +76,100 @@ typedef enum { + * be aware of the option to know how many components to work on. + */ + ++ ++/* Short forms of external names for systems with brain-damaged linkers. */ ++ ++#ifdef NEED_SHORT_EXTERNAL_NAMES ++#define jtransform_parse_crop_spec jTrParCrop ++#define jtransform_request_workspace jTrRequest ++#define jtransform_adjust_parameters jTrAdjust ++#define jtransform_execute_transform jTrExec ++#define jtransform_perfect_transform jTrPerfect ++#define jcopy_markers_setup jCMrkSetup ++#define jcopy_markers_execute jCMrkExec ++#endif /* NEED_SHORT_EXTERNAL_NAMES */ ++ ++ ++/* ++ * Codes for supported types of image transformations. ++ */ ++ ++typedef enum { ++ JXFORM_NONE, /* no transformation */ ++ JXFORM_FLIP_H, /* horizontal flip */ ++ JXFORM_FLIP_V, /* vertical flip */ ++ JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */ ++ JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */ ++ JXFORM_ROT_90, /* 90-degree clockwise rotation */ ++ JXFORM_ROT_180, /* 180-degree rotation */ ++ JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */ ++} JXFORM_CODE; ++ ++/* ++ * Codes for crop parameters, which can individually be unspecified, ++ * positive or negative for xoffset or yoffset, ++ * positive or forced for width or height. ++ */ ++ ++typedef enum { ++ JCROP_UNSET, ++ JCROP_POS, ++ JCROP_NEG, ++ JCROP_FORCE ++} JCROP_CODE; ++ ++/* ++ * Transform parameters struct. ++ * NB: application must not change any elements of this struct after ++ * calling jtransform_request_workspace. ++ */ ++ + typedef struct { + /* Options: set by caller */ + JXFORM_CODE transform; /* image transform operator */ ++ boolean perfect; /* if TRUE, fail if partial MCUs are requested */ + boolean trim; /* if TRUE, trim partial MCUs as needed */ + boolean force_grayscale; /* if TRUE, convert color image to grayscale */ ++ boolean crop; /* if TRUE, crop source image */ ++ boolean slow_hflip; /* For best performance, the JXFORM_FLIP_H transform ++ normally modifies the source coefficients in place. ++ Setting this to TRUE will instead use a slower, ++ double-buffered algorithm, which leaves the source ++ coefficients in tact (necessary if other transformed ++ images must be generated from the same set of ++ coefficients. */ ++ ++ /* Crop parameters: application need not set these unless crop is TRUE. ++ * These can be filled in by jtransform_parse_crop_spec(). ++ */ ++ JDIMENSION crop_width; /* Width of selected region */ ++ JCROP_CODE crop_width_set; /* (forced disables adjustment) */ ++ JDIMENSION crop_height; /* Height of selected region */ ++ JCROP_CODE crop_height_set; /* (forced disables adjustment) */ ++ JDIMENSION crop_xoffset; /* X offset of selected region */ ++ JCROP_CODE crop_xoffset_set; /* (negative measures from right edge) */ ++ JDIMENSION crop_yoffset; /* Y offset of selected region */ ++ JCROP_CODE crop_yoffset_set; /* (negative measures from bottom edge) */ + + /* Internal workspace: caller should not touch these */ + int num_components; /* # of components in workspace */ + jvirt_barray_ptr * workspace_coef_arrays; /* workspace for transformations */ ++ JDIMENSION output_width; /* cropped destination dimensions */ ++ JDIMENSION output_height; ++ JDIMENSION x_crop_offset; /* destination crop offsets measured in iMCUs */ ++ JDIMENSION y_crop_offset; ++ int iMCU_sample_width; /* destination iMCU size */ ++ int iMCU_sample_height; + } jpeg_transform_info; + + + #if TRANSFORMS_SUPPORTED + ++/* Parse a crop specification (written in X11 geometry style) */ ++EXTERN(boolean) jtransform_parse_crop_spec ++ JPP((jpeg_transform_info *info, const char *spec)); + /* Request any required workspace */ +-EXTERN(void) jtransform_request_workspace ++EXTERN(boolean) jtransform_request_workspace + JPP((j_decompress_ptr srcinfo, jpeg_transform_info *info)); + /* Adjust output image parameters */ + EXTERN(jvirt_barray_ptr *) jtransform_adjust_parameters +@@ -106,10 +177,24 @@ EXTERN(jvirt_barray_ptr *) jtransform_ad + jvirt_barray_ptr *src_coef_arrays, + jpeg_transform_info *info)); + /* Execute the actual transformation, if any */ +-EXTERN(void) jtransform_execute_transformation ++EXTERN(void) jtransform_execute_transform + JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo, + jvirt_barray_ptr *src_coef_arrays, + jpeg_transform_info *info)); ++/* Determine whether lossless transformation is perfectly ++ * possible for a specified image and transformation. ++ */ ++EXTERN(boolean) jtransform_perfect_transform ++ JPP((JDIMENSION image_width, JDIMENSION image_height, ++ int MCU_width, int MCU_height, ++ JXFORM_CODE transform)); ++ ++/* jtransform_execute_transform used to be called ++ * jtransform_execute_transformation, but some compilers complain about ++ * routine names that long. This macro is here to avoid breaking any ++ * old source code that uses the original name... ++ */ ++#define jtransform_execute_transformation jtransform_execute_transform + + #endif /* TRANSFORMS_SUPPORTED */ + diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch new file mode 100644 index 000000000..99639554c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch @@ -0,0 +1,13 @@ +Index: fbida-2.10/GNUmakefile +=================================================================== +--- fbida-2.10.orig/GNUmakefile ++++ fbida-2.10/GNUmakefile +@@ -51,7 +51,7 @@ HAVE_LIBSANE := $(call ac_lib,sane_init, + HAVE_LIBCURL := $(call ac_lib,curl_easy_init,curl) + HAVE_LIBLIRC := $(call ac_lib,lirc_init,lirc_client) + HAVE_MOTIF := $(call ac_lib,XmStringGenerate,Xm,-L/usr/X11R6/$(LIB) -lXpm -lXt -lXext -lX11) +-JPEG_VER := $(call ac_jpeg_ver) ++JPEG_VER := 62 + endef + + # transposing diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb new file mode 100644 index 000000000..481fedf98 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb @@ -0,0 +1,60 @@ +SUMMARY = "A font editor" +HOMEPAGE = "http://fontforge.github.io/en-US/" +LICENSE = "BSD-3-Clause & GPLv3" +LIC_FILES_CHKSUM = " \ + file://COPYING.gplv3;md5=d32239bcb673463ab874e80d47fae504 \ + file://LICENSE;md5=3f922b42ed0033fa0fd4cd3268f6429c \ +" + +DEPENDS = "glib-2.0 pango giflib tiff libxml2 jpeg python libtool uthash gnulib gettext-native" +DEPENDS_append_class-target = " libxi" + +inherit autotools pkgconfig pythonnative distro_features_check gettext + +REQUIRED_DISTRO_FEATURES_append_class-target = " x11" + +SRC_URI = "git://github.com/${BPN}/${BPN}.git" +# tag 20170731 +SRCREV = "b9149c13e8f9464fc21473f1f676b36a2130775d" +S = "${WORKDIR}/git" + +EXTRA_OECONF_append_class-native = " with_x=no" + +do_configure_prepend() { + # uthash sources are expected in uthash/src + currdir=`pwd` + cd ${S} + + mkdir -p uthash/src + cp ${STAGING_INCDIR}/ut*.h uthash/src + + # avoid bootstrap cloning gnulib on every configure + cat >.gitmodules <<EOF +[submodule "gnulib"] + path = gnulib + url = git://git.sv.gnu.org/gnulib +EOF + cp -rf ${STAGING_DATADIR}/gnulib ${S} + + # --force to avoid errors on reconfigure e.g if recipes changed we depend on + # | bootstrap: running: libtoolize --quiet + # | libtoolize: error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite + # | ... + ./bootstrap --force + + cd $currdir +} + +PACKAGES =+ "${PN}-python-dbg ${PN}-python" + +FILES_${PN} += " \ + ${datadir}/mime \ + ${datadir}/icons \ +" + +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${PN}/python" +FILES_${PN}-python-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug" +RDEPENDS_${PN}-python = "python" + +# for e.g kde's oxygen-fonts +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb b/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb new file mode 100644 index 000000000..d54fafc8d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \ + Utility Toolkit (GLUT) library" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb" + +SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz" +SRC_URI[md5sum] = "90c3ca4dd9d51cf32276bc5344ec9754" +SRC_URI[sha256sum] = "2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2" + +inherit cmake distro_features_check + +# depends on virtual/libx11, virtual/libgl +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +PROVIDES += "mesa-glut" + +DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu libxrandr" diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch new file mode 100644 index 000000000..5a7647455 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch @@ -0,0 +1,69 @@ +From 60c17eb49121bf2aa485acd30750b2fc6c8eb61f Mon Sep 17 00:00:00 2001 +From: Jarmo Jaakkola <jarmo.jaakkola@vincit.fi> +Date: Mon, 19 Jun 2017 16:41:36 +0300 +Subject: [PATCH] Fix compilation for Helix. + +Gnome support, including GNOME_INIT_HOOK, has been removed, but it was +still being called. + +COMPAT_OLD_KEYSYMDEF is a check for a legacy system, which our system +most definitely is not. It is accomplished by trying to execute +a program, which does not work when cross compiling. + +The fvwm(1) man page is created from Docbook XML which is set for +a Windows code page that is not available when compiling. Easiest is +to just not create the man page as those are not needed on the monitor. + +Upstream-Status: inappropriate [OE specific] +Signed-off-by: Jarmo Jaakkola <jarmo.jaakkola@vincit.fi> +Signed-off-by: Riku Hämäläinen <riku.hamalainen@ge.com> +Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> +--- + configure.ac | 20 ++++---------------- + doc/fvwm/Makefile.am | 2 +- + 3 files changed, 7 insertions(+), 17 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 48ce264..fab7b44 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1413,23 +1413,7 @@ else + problem_gdkimlib=": Failed on gdk-imlib, see config.log" + fi + +-GNOME_INIT_HOOK +- +-# Unfortunately we have 2 gnome supports: WM hints and gnome libs. +-# The $with_gnomehints below refers to the first, not GNOME_INIT_HOOK. +-if test ! x"$enable_gnome_hints" = xno; then +- with_gnomehints=yes +- problem_gnomehints="" +-else +- with_gnomehints=no +- problem_gnomehints=": Explicitly disabled" +-fi +- + # Define some compatibility macros needed for config.h. +-mg_DEFINE_IF_NOT([#include <X11/keysym.h>], +- [defined XK_Page_Up && defined XK_Page_Down], +- [COMPAT_OLD_KEYSYMDEF], [$X_CFLAGS], +- [Old AIX systems (3.2.5) don't define some common keysyms.]) + AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF], + [#ifdef COMPAT_OLD_KEYSYMDEF + # define XK_Page_Up XK_Prior +diff --git a/doc/fvwm/Makefile.am b/doc/fvwm/Makefile.am +index cddb102..ff00149 100755 +--- a/doc/fvwm/Makefile.am ++++ b/doc/fvwm/Makefile.am +@@ -10,7 +10,7 @@ XSL_PROFILE = $(srcdir)/../docbook-xsl/profiling/profile.xsl + HTML_FILES = fvwm.man.html + XML_FILES = @DOC_SECTIONS_XML_PATH@ + EXTRA_DIST = @DOC_SECTIONS_XML@ $(man_MANS) sections +-man_MANS = fvwm.1 ++man_MANS = + + if FVWM_BUILD_HTMLDOC + doc_DATA = $(HTML_FILES) +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch new file mode 100644 index 000000000..756cc86e8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch @@ -0,0 +1,27 @@ +From: Sebastian Reichel <sebastian.reichel@collabora.co.uk> +Date: Tue, 29 Auf 2017 16:08:42 +0200 +Subject: [PATCH] Avoid absolute symlinks + +Avoid usage of absolute symlinks, which breaks yocto builds +since pyro. + +Upstream-Status: Pending +Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> + +diff --git a/default-config/Makefile.am b/default-config/Makefile.am +index 5e16d095a137..5404145a742c 100644 +--- a/default-config/Makefile.am ++++ b/default-config/Makefile.am +@@ -17,9 +17,9 @@ EXTRA_DIST = images \ + + install-data-hook: + cp -r $(srcdir)/images $(inst_location) +- ln -sf $(inst_location)/FvwmScript-DateTime $(inst_location)/.. +- ln -sf $(inst_location)/FvwmScript-ConfirmQuit $(inst_location)/.. +- ln -sf $(inst_location)/FvwmScript-ConfirmCopyConfig $(inst_location)/.. ++ ln -sf default-config/FvwmScript-DateTime $(inst_location)/.. ++ ln -sf default-config/FvwmScript-ConfirmQuit $(inst_location)/.. ++ ln -sf default-config/FvwmScript-ConfirmCopyConfig $(inst_location)/.. + + uninstall-hook: + rm -fr $(DESTDIR)/$(configdir) diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb new file mode 100644 index 000000000..cb851bfd9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb @@ -0,0 +1,114 @@ +SUMMARY = "F Virtual Window Manager " +HOMEPAGE = "http://www.fvwm.org/" +SECTION = "x11/wm" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=363fbcfb59124689af72c914560eaf6e" + +DEPENDS = " \ + bison-native \ + flex-native \ + freetype-native \ + gettext-native \ + libxslt-native \ + fontconfig \ + libice \ + libpng \ + librsvg \ + libsm \ + libxau \ + libxcb \ + libxcursor \ + libxdmcp \ + libxext \ + libxfixes \ + libxft \ + libxinerama \ + libxml2 \ + libxrender \ + libxt \ + virtual/libx11 \ + xrandr \ + zlib \ +" + +PV = "2.6.7+git${SRCPV}" + +SRC_URI = " \ + git://github.com/fvwmorg/fvwm.git;protocol=https \ + file://0001-Fix-compilation-for-disabled-gnome.patch \ + file://0002-Avoid-absolute-symlinks.patch \ +" + +SRCREV = "597a4e296da4f21e71a17facab297e016a3a80a8" + +S = "${WORKDIR}/git" + +inherit autotools gettext update-alternatives pkgconfig pythonnative perlnative distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +ALTERNATIVE_${PN} = "x-window-manager" +ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm" +ALTERNATIVE_PRIORITY[x-window-manager] = "20" + +EXTRA_OECONF = " \ + --disable-bidi \ + --disable-fontconfigtest \ + --disable-freetypetest \ + --disable-htmldoc \ + --disable-imlibtest \ + --disable-mandoc \ + --disable-nls \ + --disable-perllib \ + --disable-rsvg \ + --disable-shape \ + --disable-sm \ + --disable-xfttest \ + --with-imlib-exec-prefix=/nonexistent \ + --with-imlib-prefix=/nonexistent \ + --without-ncurses-library \ + --without-readline-library \ + --without-rplay-library \ + --without-stroke-library \ + --without-termcap-library \ + --without-xpm-library \ + ac_cv_func_mkstemp=no \ + has_safety_mkstemp=yes \ +" + +# show the exact commands in the log file +EXTRA_OEMAKE = " \ + V=1 \ +" + +do_install_append() { + install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm + # You can install the config file here + + install -d -m 0755 ${D}/${datadir}/fvwm + touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults +} + +# the only needed packages (note: locale packages are automatically generated +# as well) +PACKAGES = " \ + ${PN} \ + ${PN}-dbg \ +" + +# minimal set of binaries +FILES_${PN} = " \ + ${bindir}/fvwm \ + ${bindir}/fvwm-root \ + ${datadir}/fvwm/ConfigFvwmDefaults \ +" + +RDEPENDS_${PN} = " \ + xuser-account \ +" + +# by default a lot of stuff is installed and it's not easy to control what to +# install, so install everything, but skip the check +INSANE_SKIP_${PN} = " \ + installed-vs-shipped \ +" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch b/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch new file mode 100644 index 000000000..d145b625f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch @@ -0,0 +1,21 @@ +Index: gegl-0.2.0/configure.ac +=================================================================== +--- gegl-0.2.0.orig/configure.ac 2012-04-02 21:56:49.000000000 +0000 ++++ gegl-0.2.0/configure.ac 2014-07-17 21:34:15.312546602 +0000 +@@ -765,15 +765,7 @@ + + have_sdl="no" + if test "x$with_sdl" != "xno"; then +- AC_PATH_PROG(SDL_CONFIG, sdl-config, no) +- if test "$SDL_CONFIG" = "no"; then +- have_sdl="no (SDL library not found)" +- AC_MSG_RESULT([*** Check for SDL library failed.]) +- else +- have_sdl="yes" +- SDL_CFLAGS=`$SDL_CONFIG --cflags` +- SDL_LIBS=`$SDL_CONFIG --libs` +- fi ++ PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no (SDL library not found)"]) + fi + + AM_CONDITIONAL(HAVE_SDL, test "$have_sdl" = "yes") diff --git a/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb b/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb new file mode 100644 index 000000000..0053c0c68 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb @@ -0,0 +1,34 @@ +SUMMARY = "GEGL (Generic Graphics Library) is a graph based image processing framework" +LICENSE = "LGPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS = "babl librsvg glib-2.0 gtk+ pango cairo expat zlib libpng jpeg virtual/libsdl json-glib intltool-native" + +EXTRA_OECONF = "--disable-docs" + +inherit distro_features_check gnomebase vala gobject-introspection + +REQUIRED_DISTRO_FEATURES = "x11" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper" +PACKAGECONFIG[avformat] = "--with-libavformat,--without-libavformat,libav" +PACKAGECONFIG[lcms] = "--with-lcms,--without-lcms,lcms" +PACKAGECONFIG[tiff] = "--with-libtiff,--without-libtiff,tiff" +PACKAGECONFIG[webp] = "--with-webp,--without-webp,webp" + +SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.3/${BP}.tar.bz2 \ + file://pkgconfig.patch " +SRC_URI[md5sum] = "6e5c6f229261478dc436a38c84405b2a" +SRC_URI[sha256sum] = "d7858ef26ede136d14e3de188a9e9c0de7707061a9fb96d7d615fab4958491fb" + +LDFLAGS += "-lm" + +# There are a couple of non-symlink .so files installed into libdir, which need to go into main package +FILES_${PN}_append = " ${libdir}/gegl-0.3/*.so ${libdir}/gegl-0.3/*.json ${libdir}/libgegl-npd-0.3.so ${libdir}/libgegl-sc-0.3.so" +FILES_${PN}-dev_append = " ${libdir}/gegl-0.3/*.la ${libdir}/libgegl-0.3.so" +FILES_${PN}-dev_remove = "${libdir}/lib*.so" + +# Fails to build with thumb-1 (qemuarm) +# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process': +# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275 +ARM_INSTRUCTION_SET = "arm" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch new file mode 100644 index 000000000..fecd0121c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch @@ -0,0 +1,38 @@ +From 72ad76841d87e857428693d812a961935284ac62 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Thu, 12 Feb 2015 15:57:47 +0100 +Subject: [PATCH] configure-ac: do not check for freetype-config +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +freetype-config is not allowed in our environment - see also binconfig-disabled + +Upstream-Status: inappropriate [OE specific] + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + configure.ac | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 26812b6..abec714 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -647,13 +647,6 @@ if test "x$fontconfig_ok" = xno; then + fi + + +-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) +-if test "x$FREETYPE_CONFIG" != "xno" ; then +- AC_MSG_CHECKING([for freetype libraries]) +- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs` +- AC_MSG_RESULT($FREETYPE_LIBS) +-fi +-AC_SUBST(FREETYPE_LIBS) + + + ########################################## +-- +1.9.3 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch new file mode 100644 index 000000000..7da78e205 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch @@ -0,0 +1,34 @@ +From e1c8f4b8323e3965271a93529eab5774c1a7083c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 29 Jun 2017 10:32:14 -0700 +Subject: [PATCH 3/3] Fix use of gegl API + +newer version of gegl does not define GEGL_IS_PARAM_SPEC_MULTILINE + +| core/libappcore.a(gimpparamspecs-duplicate.o): In function `gimp_param_spec_duplicate': +| /usr/src/debug/gimp/2.8.22-r0/gimp-2.8.22/app/core/../../../../../../../../../workspace/sources/gimp/app/core/gimpparamspecs-duplicate.c:70: undefined reference to `GEGL_IS_PARAM_SPEC_MULTILINE' +| collect2: error: ld returned 1 exit status + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + app/core/gimpparamspecs-duplicate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/app/core/gimpparamspecs-duplicate.c b/app/core/gimpparamspecs-duplicate.c +index c0b7426..2efaf23 100644 +--- a/app/core/gimpparamspecs-duplicate.c ++++ b/app/core/gimpparamspecs-duplicate.c +@@ -67,7 +67,7 @@ gimp_param_spec_duplicate (GParamSpec *pspec) + spec->default_value, + pspec->flags); + +- if (GEGL_IS_PARAM_SPEC_MULTILINE (pspec)) ++ if (gegl_param_spec_get_property_key(pspec, "multiline")) + { + g_param_spec_set_qdata (new, multiline_quark, + GINT_TO_POINTER (TRUE)); +-- +2.13.2 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch new file mode 100644 index 000000000..b71bf329e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch @@ -0,0 +1,53 @@ +Bump acceptable versions of babl and gegl. + +Patch is taken from debian: +https://packages.debian.org/stretch/gimp + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +diff --git a/app/sanity.c b/app/sanity.c +index febddfb..85fea55 100644 +--- a/app/sanity.c ++++ b/app/sanity.c +@@ -351,7 +351,7 @@ sanity_check_babl (void) + + #define BABL_REQUIRED_MAJOR 0 + #define BABL_REQUIRED_MINOR 1 +-#define BABL_REQUIRED_MICRO 10 ++#define BABL_REQUIRED_MICRO 12 + + babl_get_version (&babl_major_version, + &babl_minor_version, +@@ -388,7 +388,7 @@ sanity_check_gegl (void) + gint gegl_micro_version; + + #define GEGL_REQUIRED_MAJOR 0 +-#define GEGL_REQUIRED_MINOR 2 ++#define GEGL_REQUIRED_MINOR 3 + #define GEGL_REQUIRED_MICRO 0 + + gegl_get_version (&gegl_major_version, +diff --git a/configure.ac b/configure.ac +index 26812b6..4252fe9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -40,8 +40,8 @@ m4_define([gimp_stable], + m4_define([gimp_full_name], [GNU Image Manipulation Program]) + + # required versions of other packages +-m4_define([babl_required_version], [0.1.10]) +-m4_define([gegl_required_version], [0.2.0]) ++m4_define([babl_required_version], [0.1.12]) ++m4_define([gegl_required_version], [0.3.0]) + m4_define([glib_required_version], [2.30.2]) + m4_define([atk_required_version], [2.2.0]) + m4_define([gtk_required_version], [2.24.10]) +@@ -519,7 +519,7 @@ AC_SUBST(ISO_CODES_LOCALEDIR) + ############################### + + PKG_CHECK_MODULES(BABL, babl >= babl_required_version) +-PKG_CHECK_MODULES(GEGL, gegl-0.2 >= gegl_required_version) ++PKG_CHECK_MODULES(GEGL, gegl-0.3 >= gegl_required_version) + PKG_CHECK_MODULES(ATK, atk >= atk_required_version) + + AM_PATH_GLIB_2_0(glib_required_version, :, diff --git a/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb new file mode 100644 index 000000000..943986e77 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb @@ -0,0 +1,51 @@ +SUMMARY = "The GIMP is the GNU Image Manipulation Program" +HOMEPAGE = "http://www.gimp.org" +SECTION = "x11/graphics" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = " \ + gdk-pixbuf-native \ + intltool-native \ + libxslt-native \ + gtk+ \ + babl \ + gegl \ + jpeg \ + libpng \ + libexif \ + tiff \ + lcms \ + poppler \ + jasper \ + bzip2 \ + libgudev \ + libmng \ +" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}" + +inherit distro_features_check gnome gtk-doc + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \ + file://0001-configure-ac-do-not-check-for-freetype-config.patch \ + file://bump_Babl-GEGL_versions.patch \ + file://0003-Fix-use-of-gegl-API.patch \ + " +SRC_URI[md5sum] = "7e4fd7a53b1d3c32dff642ab1a94b44d" +SRC_URI[sha256sum] = "9187a35cc52b110d78124d7b27b68a68ade14a794c2721314bac6134d2a5638a" + +EXTRA_OECONF = "--disable-python \ + --without-webkit \ + --without-wmf" + +do_configure_append() { + find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g + find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g +} + +CFLAGS += "-fPIC" + +FILES_${PN}-dbg += "${libdir}/gimp/2.0/*/.debug" +FILES_${PN} += "${datadir}/appdata" diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch new file mode 100644 index 000000000..d69c5af3a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch @@ -0,0 +1,860 @@ +From 99a9676a0193f6291d7202d7af72e24580abe565 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Fri, 16 Mar 2018 13:55:29 +0100 +Subject: [PATCH 1/2] Make GLM_ENABLE_EXPERIMENTAL a configurable option +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It seems that erroring out if GLM_ENABLE_EXPERIMENTAL is not set turns into +packagers nightmare: There are packages around expecting glx headers. E.g +libgltf [1] fails during configure checking for usable headers AND during +compile. Paticularly fixing configure for those packages is time-consuming: +The only way (correct me if I am wrong) is creating a patch adding + +AC_DEFINE([GLM_ENABLE_EXPERIMENTAL], [1], [glm needs this for gtx headers]) + +By adding a configure option 'GLM_ENABLE_EXPERIMENTAL', the decision to use +glm/glx is done at one (and the right) place. + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> + +[1] https://gerrit.libreoffice.org/gitweb?p=libgltf.git + +Uptream-Status: Submitted [2] + +[2] https://github.com/g-truc/glm/pull/741 +--- + CMakeLists.txt | 6 ++++++ + glm/CMakeLists.txt | 2 ++ + glm/experimental.hpp.in | 1 + + glm/ext.hpp | 1 + + glm/gtx/associated_min_max.hpp | 1 + + glm/gtx/bit.hpp | 1 + + glm/gtx/closest_point.hpp | 1 + + glm/gtx/color_space.hpp | 1 + + glm/gtx/color_space_YCoCg.hpp | 1 + + glm/gtx/common.hpp | 1 + + glm/gtx/compatibility.hpp | 1 + + glm/gtx/component_wise.hpp | 1 + + glm/gtx/dual_quaternion.hpp | 1 + + glm/gtx/euler_angles.hpp | 1 + + glm/gtx/extend.hpp | 1 + + glm/gtx/extended_min_max.hpp | 1 + + glm/gtx/fast_exponential.hpp | 1 + + glm/gtx/fast_square_root.hpp | 1 + + glm/gtx/fast_trigonometry.hpp | 1 + + glm/gtx/gradient_paint.hpp | 1 + + glm/gtx/handed_coordinate_space.hpp | 1 + + glm/gtx/hash.hpp | 1 + + glm/gtx/integer.hpp | 1 + + glm/gtx/intersect.hpp | 1 + + glm/gtx/io.hpp | 1 + + glm/gtx/log_base.hpp | 1 + + glm/gtx/matrix_cross_product.hpp | 1 + + glm/gtx/matrix_decompose.hpp | 1 + + glm/gtx/matrix_factorisation.hpp | 1 + + glm/gtx/matrix_interpolation.hpp | 1 + + glm/gtx/matrix_major_storage.hpp | 1 + + glm/gtx/matrix_operation.hpp | 1 + + glm/gtx/matrix_query.hpp | 1 + + glm/gtx/matrix_transform_2d.hpp | 1 + + glm/gtx/mixed_product.hpp | 1 + + glm/gtx/norm.hpp | 1 + + glm/gtx/normal.hpp | 1 + + glm/gtx/normalize_dot.hpp | 1 + + glm/gtx/number_precision.hpp | 1 + + glm/gtx/optimum_pow.hpp | 1 + + glm/gtx/orthonormalize.hpp | 1 + + glm/gtx/perpendicular.hpp | 1 + + glm/gtx/polar_coordinates.hpp | 1 + + glm/gtx/projection.hpp | 1 + + glm/gtx/quaternion.hpp | 1 + + glm/gtx/range.hpp | 1 + + glm/gtx/raw_data.hpp | 1 + + glm/gtx/rotate_normalized_axis.hpp | 1 + + glm/gtx/rotate_vector.hpp | 1 + + glm/gtx/scalar_multiplication.hpp | 1 + + glm/gtx/scalar_relational.hpp | 1 + + glm/gtx/spline.hpp | 1 + + glm/gtx/std_based_type.hpp | 1 + + glm/gtx/string_cast.hpp | 1 + + glm/gtx/texture.hpp | 1 + + glm/gtx/transform.hpp | 1 + + glm/gtx/transform2.hpp | 1 + + glm/gtx/type_aligned.hpp | 1 + + glm/gtx/type_trait.hpp | 1 + + glm/gtx/vec_swizzle.hpp | 1 + + glm/gtx/vector_angle.hpp | 1 + + glm/gtx/vector_query.hpp | 1 + + glm/gtx/wrap.hpp | 1 + + 63 files changed, 69 insertions(+) + create mode 100644 glm/experimental.hpp.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e5159b0f..bd4dd654 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -82,6 +82,11 @@ option(GLM_TEST_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF) + option(GLM_TEST_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF) + option(GLM_TEST_FORCE_PURE "Force 'pure' instructions" OFF) + ++option(GLM_ENABLE_EXPERIMENTAL "Enable experimental GLM_GTX" OFF) ++configure_file(glm/experimental.hpp.in experimental.hpp @ONLY) ++include_directories(${CMAKE_BINARY_DIR}/glm) ++include_directories(${CMAKE_BINARY_DIR}) ++ + if(GLM_TEST_FORCE_PURE) + add_definitions(-DGLM_FORCE_PURE) + +@@ -167,6 +172,7 @@ option(GLM_INSTALL_ENABLE "GLM install" ON) + set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm") + if (GLM_INSTALL_ENABLE) + install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm) + endif() + + write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake" VERSION ${GLM_VERSION} COMPATIBILITY AnyNewerVersion) +diff --git a/glm/CMakeLists.txt b/glm/CMakeLists.txt +index df9c9ee5..dc5db4bc 100644 +--- a/glm/CMakeLists.txt ++++ b/glm/CMakeLists.txt +@@ -43,6 +43,8 @@ source_group("SIMD Files" FILES ${SIMD_INLINE}) + source_group("SIMD Files" FILES ${SIMD_HEADER}) + + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..) ++# make out-of tree builds find experimental.hpp ++include_directories(${CMAKE_BINARY_DIR}/glm) + + if(GLM_STATIC_LIBRARY_ENABLE OR GLM_DYNAMIC_LIBRARY_ENABLE) + if(GLM_STATIC_LIBRARY_ENABLE) +diff --git a/glm/experimental.hpp.in b/glm/experimental.hpp.in +new file mode 100644 +index 00000000..bfab5138 +--- /dev/null ++++ b/glm/experimental.hpp.in +@@ -0,0 +1 @@ ++#cmakedefine GLM_ENABLE_EXPERIMENTAL +diff --git a/glm/ext.hpp b/glm/ext.hpp +index d085bfd5..a2948447 100644 +--- a/glm/ext.hpp ++++ b/glm/ext.hpp +@@ -39,6 +39,7 @@ + # include "./gtc/type_aligned.hpp" + #endif + ++#include "experimental.hpp" + #ifdef GLM_ENABLE_EXPERIMENTAL + #include "./gtx/associated_min_max.hpp" + #include "./gtx/bit.hpp" +diff --git a/glm/gtx/associated_min_max.hpp b/glm/gtx/associated_min_max.hpp +index 0c9935f3..d00c2bc4 100644 +--- a/glm/gtx/associated_min_max.hpp ++++ b/glm/gtx/associated_min_max.hpp +@@ -16,6 +16,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/bit.hpp b/glm/gtx/bit.hpp +index 1447fa00..31957083 100644 +--- a/glm/gtx/bit.hpp ++++ b/glm/gtx/bit.hpp +@@ -15,6 +15,7 @@ + // Dependencies + #include "../gtc/bitfield.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_bit is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/closest_point.hpp b/glm/gtx/closest_point.hpp +index 6859bb96..ebd9fe5a 100644 +--- a/glm/gtx/closest_point.hpp ++++ b/glm/gtx/closest_point.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/color_space.hpp b/glm/gtx/color_space.hpp +index d1e655c3..51416819 100644 +--- a/glm/gtx/color_space.hpp ++++ b/glm/gtx/color_space.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_color_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/color_space_YCoCg.hpp b/glm/gtx/color_space_YCoCg.hpp +index e82cbd8b..7ae71041 100644 +--- a/glm/gtx/color_space_YCoCg.hpp ++++ b/glm/gtx/color_space_YCoCg.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_color_space_YCoCg is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/common.hpp b/glm/gtx/common.hpp +index 8081bff7..57a68a8d 100644 +--- a/glm/gtx/common.hpp ++++ b/glm/gtx/common.hpp +@@ -18,6 +18,7 @@ + #include "../vec4.hpp" + #include "../gtc/vec1.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_common is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/compatibility.hpp b/glm/gtx/compatibility.hpp +index e5b60399..9876669c 100644 +--- a/glm/gtx/compatibility.hpp ++++ b/glm/gtx/compatibility.hpp +@@ -16,6 +16,7 @@ + #include "../glm.hpp" + #include "../gtc/quaternion.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_compatibility is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/component_wise.hpp b/glm/gtx/component_wise.hpp +index 39bab5d5..4fe0e4e2 100644 +--- a/glm/gtx/component_wise.hpp ++++ b/glm/gtx/component_wise.hpp +@@ -18,6 +18,7 @@ + #include "../detail/setup.hpp" + #include "../detail/qualifier.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/dual_quaternion.hpp b/glm/gtx/dual_quaternion.hpp +index c4343e9d..d59fb459 100644 +--- a/glm/gtx/dual_quaternion.hpp ++++ b/glm/gtx/dual_quaternion.hpp +@@ -20,6 +20,7 @@ + #include "../gtc/constants.hpp" + #include "../gtc/quaternion.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/euler_angles.hpp b/glm/gtx/euler_angles.hpp +index e66e9281..ad5988c1 100644 +--- a/glm/gtx/euler_angles.hpp ++++ b/glm/gtx/euler_angles.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/extend.hpp b/glm/gtx/extend.hpp +index eda4e470..cde6db63 100644 +--- a/glm/gtx/extend.hpp ++++ b/glm/gtx/extend.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/extended_min_max.hpp b/glm/gtx/extended_min_max.hpp +index 3e767b0c..0bcffcc6 100644 +--- a/glm/gtx/extended_min_max.hpp ++++ b/glm/gtx/extended_min_max.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_extented_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/fast_exponential.hpp b/glm/gtx/fast_exponential.hpp +index 2d4918e7..e6d11f0a 100644 +--- a/glm/gtx/fast_exponential.hpp ++++ b/glm/gtx/fast_exponential.hpp +@@ -16,6 +16,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_fast_exponential is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/fast_square_root.hpp b/glm/gtx/fast_square_root.hpp +index 1e1ec3cf..f758aeef 100644 +--- a/glm/gtx/fast_square_root.hpp ++++ b/glm/gtx/fast_square_root.hpp +@@ -19,6 +19,7 @@ + #include "../exponential.hpp" + #include "../geometric.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_fast_square_root is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/fast_trigonometry.hpp b/glm/gtx/fast_trigonometry.hpp +index 739065fb..f1332958 100644 +--- a/glm/gtx/fast_trigonometry.hpp ++++ b/glm/gtx/fast_trigonometry.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../gtc/constants.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_fast_trigonometry is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/gradient_paint.hpp b/glm/gtx/gradient_paint.hpp +index 2713cec0..d4703991 100644 +--- a/glm/gtx/gradient_paint.hpp ++++ b/glm/gtx/gradient_paint.hpp +@@ -17,6 +17,7 @@ + #include "../glm.hpp" + #include "../gtx/optimum_pow.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_gradient_paint is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/handed_coordinate_space.hpp b/glm/gtx/handed_coordinate_space.hpp +index 1d0d4104..3a52ddcf 100644 +--- a/glm/gtx/handed_coordinate_space.hpp ++++ b/glm/gtx/handed_coordinate_space.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_handed_coordinate_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/hash.hpp b/glm/gtx/hash.hpp +index fe8a3efd..92bfc9b2 100644 +--- a/glm/gtx/hash.hpp ++++ b/glm/gtx/hash.hpp +@@ -12,6 +12,7 @@ + + #pragma once + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_hash is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/integer.hpp b/glm/gtx/integer.hpp +index 96637a13..5d1a16c6 100644 +--- a/glm/gtx/integer.hpp ++++ b/glm/gtx/integer.hpp +@@ -16,6 +16,7 @@ + #include "../glm.hpp" + #include "../gtc/integer.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_integer is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/intersect.hpp b/glm/gtx/intersect.hpp +index 61e2226a..4895ba93 100644 +--- a/glm/gtx/intersect.hpp ++++ b/glm/gtx/intersect.hpp +@@ -21,6 +21,7 @@ + #include "../gtx/closest_point.hpp" + #include "../gtx/vector_query.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/io.hpp b/glm/gtx/io.hpp +index 49a1ec11..ae39cd60 100644 +--- a/glm/gtx/io.hpp ++++ b/glm/gtx/io.hpp +@@ -23,6 +23,7 @@ + #include "../glm.hpp" + #include "../gtx/quaternion.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/log_base.hpp b/glm/gtx/log_base.hpp +index e873e356..45b8d53c 100644 +--- a/glm/gtx/log_base.hpp ++++ b/glm/gtx/log_base.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_log_base is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/matrix_cross_product.hpp b/glm/gtx/matrix_cross_product.hpp +index 967743b8..52d6c173 100644 +--- a/glm/gtx/matrix_cross_product.hpp ++++ b/glm/gtx/matrix_cross_product.hpp +@@ -16,6 +16,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_matrix_cross_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/matrix_decompose.hpp b/glm/gtx/matrix_decompose.hpp +index b7ec0e83..6793fee2 100644 +--- a/glm/gtx/matrix_decompose.hpp ++++ b/glm/gtx/matrix_decompose.hpp +@@ -20,6 +20,7 @@ + #include "../gtc/quaternion.hpp" + #include "../gtc/matrix_transform.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_matrix_decompose is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/matrix_factorisation.hpp b/glm/gtx/matrix_factorisation.hpp +index e30a7746..79c293be 100644 +--- a/glm/gtx/matrix_factorisation.hpp ++++ b/glm/gtx/matrix_factorisation.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_matrix_factorisation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/matrix_interpolation.hpp b/glm/gtx/matrix_interpolation.hpp +index 89c4596c..799983bb 100644 +--- a/glm/gtx/matrix_interpolation.hpp ++++ b/glm/gtx/matrix_interpolation.hpp +@@ -16,6 +16,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_matrix_interpolation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/matrix_major_storage.hpp b/glm/gtx/matrix_major_storage.hpp +index 7f264a59..e68467cd 100644 +--- a/glm/gtx/matrix_major_storage.hpp ++++ b/glm/gtx/matrix_major_storage.hpp +@@ -16,6 +16,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_matrix_major_storage is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/matrix_operation.hpp b/glm/gtx/matrix_operation.hpp +index bce938bb..1e85bb5e 100644 +--- a/glm/gtx/matrix_operation.hpp ++++ b/glm/gtx/matrix_operation.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_matrix_operation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/matrix_query.hpp b/glm/gtx/matrix_query.hpp +index 5df5f52f..eec1eec0 100644 +--- a/glm/gtx/matrix_query.hpp ++++ b/glm/gtx/matrix_query.hpp +@@ -18,6 +18,7 @@ + #include "../gtx/vector_query.hpp" + #include <limits> + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_matrix_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/matrix_transform_2d.hpp b/glm/gtx/matrix_transform_2d.hpp +index 239ab9f4..3ca8d2f2 100644 +--- a/glm/gtx/matrix_transform_2d.hpp ++++ b/glm/gtx/matrix_transform_2d.hpp +@@ -17,6 +17,7 @@ + #include "../mat3x3.hpp" + #include "../vec2.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_matrix_transform_2d is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/mixed_product.hpp b/glm/gtx/mixed_product.hpp +index 58562aab..5c7460d5 100644 +--- a/glm/gtx/mixed_product.hpp ++++ b/glm/gtx/mixed_product.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_mixed_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/norm.hpp b/glm/gtx/norm.hpp +index 46474e07..3cf2c3ea 100644 +--- a/glm/gtx/norm.hpp ++++ b/glm/gtx/norm.hpp +@@ -17,6 +17,7 @@ + #include "../geometric.hpp" + #include "../gtx/quaternion.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/normal.hpp b/glm/gtx/normal.hpp +index 15cec9c2..7bb4c096 100644 +--- a/glm/gtx/normal.hpp ++++ b/glm/gtx/normal.hpp +@@ -16,6 +16,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_normal is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/normalize_dot.hpp b/glm/gtx/normalize_dot.hpp +index 86048e70..c6604da4 100644 +--- a/glm/gtx/normalize_dot.hpp ++++ b/glm/gtx/normalize_dot.hpp +@@ -16,6 +16,7 @@ + // Dependency: + #include "../gtx/fast_square_root.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_normalize_dot is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/number_precision.hpp b/glm/gtx/number_precision.hpp +index 3732a56c..b48845f7 100644 +--- a/glm/gtx/number_precision.hpp ++++ b/glm/gtx/number_precision.hpp +@@ -18,6 +18,7 @@ + #include "../glm.hpp" + #include "../gtc/type_precision.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_number_precision is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/optimum_pow.hpp b/glm/gtx/optimum_pow.hpp +index eb09f1c3..94a6bbb2 100644 +--- a/glm/gtx/optimum_pow.hpp ++++ b/glm/gtx/optimum_pow.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_optimum_pow is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/orthonormalize.hpp b/glm/gtx/orthonormalize.hpp +index 2a684ee4..4ff47e53 100644 +--- a/glm/gtx/orthonormalize.hpp ++++ b/glm/gtx/orthonormalize.hpp +@@ -18,6 +18,7 @@ + #include "../mat3x3.hpp" + #include "../geometric.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_orthonormalize is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/perpendicular.hpp b/glm/gtx/perpendicular.hpp +index 35601ac7..17251ebe 100644 +--- a/glm/gtx/perpendicular.hpp ++++ b/glm/gtx/perpendicular.hpp +@@ -17,6 +17,7 @@ + #include "../glm.hpp" + #include "../gtx/projection.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_perpendicular is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/polar_coordinates.hpp b/glm/gtx/polar_coordinates.hpp +index b8421db4..5125215d 100644 +--- a/glm/gtx/polar_coordinates.hpp ++++ b/glm/gtx/polar_coordinates.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_polar_coordinates is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/projection.hpp b/glm/gtx/projection.hpp +index 9a24abf9..4d5bf76f 100644 +--- a/glm/gtx/projection.hpp ++++ b/glm/gtx/projection.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../geometric.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_projection is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/quaternion.hpp b/glm/gtx/quaternion.hpp +index c3d99a5c..808ba0fd 100644 +--- a/glm/gtx/quaternion.hpp ++++ b/glm/gtx/quaternion.hpp +@@ -19,6 +19,7 @@ + #include "../gtc/quaternion.hpp" + #include "../gtx/norm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/range.hpp b/glm/gtx/range.hpp +index e0ef46af..03c797c3 100644 +--- a/glm/gtx/range.hpp ++++ b/glm/gtx/range.hpp +@@ -15,6 +15,7 @@ + // Dependencies + #include "../detail/setup.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_range is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/raw_data.hpp b/glm/gtx/raw_data.hpp +index fb34c8cb..0084fec6 100644 +--- a/glm/gtx/raw_data.hpp ++++ b/glm/gtx/raw_data.hpp +@@ -16,6 +16,7 @@ + #include "../detail/setup.hpp" + #include "../detail/type_int.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_raw_data is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/rotate_normalized_axis.hpp b/glm/gtx/rotate_normalized_axis.hpp +index eee90d6e..82612928 100644 +--- a/glm/gtx/rotate_normalized_axis.hpp ++++ b/glm/gtx/rotate_normalized_axis.hpp +@@ -19,6 +19,7 @@ + #include "../gtc/epsilon.hpp" + #include "../gtc/quaternion.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_rotate_normalized_axis is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/rotate_vector.hpp b/glm/gtx/rotate_vector.hpp +index c8ace89e..e954b041 100644 +--- a/glm/gtx/rotate_vector.hpp ++++ b/glm/gtx/rotate_vector.hpp +@@ -17,6 +17,7 @@ + #include "../glm.hpp" + #include "../gtx/transform.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_rotate_vector is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp +index b73edf67..22baa52a 100644 +--- a/glm/gtx/scalar_multiplication.hpp ++++ b/glm/gtx/scalar_multiplication.hpp +@@ -16,6 +16,7 @@ + + #include "../detail/setup.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_scalar_multiplication is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/scalar_relational.hpp b/glm/gtx/scalar_relational.hpp +index 7fc8c1cc..f21f3b2b 100644 +--- a/glm/gtx/scalar_relational.hpp ++++ b/glm/gtx/scalar_relational.hpp +@@ -15,6 +15,7 @@ + // Dependency: + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/spline.hpp b/glm/gtx/spline.hpp +index f96d7e07..76359cfd 100644 +--- a/glm/gtx/spline.hpp ++++ b/glm/gtx/spline.hpp +@@ -16,6 +16,7 @@ + #include "../glm.hpp" + #include "../gtx/optimum_pow.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_spline is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/std_based_type.hpp b/glm/gtx/std_based_type.hpp +index 55a2f074..92532b9e 100644 +--- a/glm/gtx/std_based_type.hpp ++++ b/glm/gtx/std_based_type.hpp +@@ -17,6 +17,7 @@ + #include "../glm.hpp" + #include <cstdlib> + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_std_based_type is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/string_cast.hpp b/glm/gtx/string_cast.hpp +index 4b4e280f..dfcd5085 100644 +--- a/glm/gtx/string_cast.hpp ++++ b/glm/gtx/string_cast.hpp +@@ -24,6 +24,7 @@ + #include <string> + #include <cmath> + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_string_cast is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/texture.hpp b/glm/gtx/texture.hpp +index 312bf398..7af185f6 100644 +--- a/glm/gtx/texture.hpp ++++ b/glm/gtx/texture.hpp +@@ -17,6 +17,7 @@ + #include "../gtc/integer.hpp" + #include "../gtx/component_wise.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_texture is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/transform.hpp b/glm/gtx/transform.hpp +index d23b99ce..5a5d9619 100644 +--- a/glm/gtx/transform.hpp ++++ b/glm/gtx/transform.hpp +@@ -19,6 +19,7 @@ + #include "../glm.hpp" + #include "../gtc/matrix_transform.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/transform2.hpp b/glm/gtx/transform2.hpp +index 85f5bea4..5d7c83fc 100644 +--- a/glm/gtx/transform2.hpp ++++ b/glm/gtx/transform2.hpp +@@ -17,6 +17,7 @@ + #include "../glm.hpp" + #include "../gtx/transform.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_transform2 is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/type_aligned.hpp b/glm/gtx/type_aligned.hpp +index 6ff9f276..6ad92fad 100644 +--- a/glm/gtx/type_aligned.hpp ++++ b/glm/gtx/type_aligned.hpp +@@ -18,6 +18,7 @@ + // Dependency: + #include "../gtc/type_precision.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/type_trait.hpp b/glm/gtx/type_trait.hpp +index 637bbd19..65519cab 100644 +--- a/glm/gtx/type_trait.hpp ++++ b/glm/gtx/type_trait.hpp +@@ -12,6 +12,7 @@ + + #pragma once + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/vec_swizzle.hpp b/glm/gtx/vec_swizzle.hpp +index daebac38..13d523dc 100644 +--- a/glm/gtx/vec_swizzle.hpp ++++ b/glm/gtx/vec_swizzle.hpp +@@ -14,6 +14,7 @@ + + #include "../glm.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_vec_swizzle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/vector_angle.hpp b/glm/gtx/vector_angle.hpp +index 401a47eb..98c9d110 100644 +--- a/glm/gtx/vector_angle.hpp ++++ b/glm/gtx/vector_angle.hpp +@@ -20,6 +20,7 @@ + #include "../gtx/quaternion.hpp" + #include "../gtx/rotate_vector.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_vector_angle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/vector_query.hpp b/glm/gtx/vector_query.hpp +index 6560eaa5..5ab1ffda 100644 +--- a/glm/gtx/vector_query.hpp ++++ b/glm/gtx/vector_query.hpp +@@ -17,6 +17,7 @@ + #include <cfloat> + #include <limits> + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_vector_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +diff --git a/glm/gtx/wrap.hpp b/glm/gtx/wrap.hpp +index 2c4b55df..5bf26a33 100644 +--- a/glm/gtx/wrap.hpp ++++ b/glm/gtx/wrap.hpp +@@ -16,6 +16,7 @@ + #include "../glm.hpp" + #include "../gtc/vec1.hpp" + ++#include "../experimental.hpp" + #ifndef GLM_ENABLE_EXPERIMENTAL + # error "GLM: GLM_GTX_wrap is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." + #endif +-- +2.14.3 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch new file mode 100644 index 000000000..1be3318cc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch @@ -0,0 +1,46 @@ +From 7fdd36d7496238e03e43fcc32839f75588116c5d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Fri, 16 Mar 2018 15:44:48 +0100 +Subject: [PATCH 2/2] glm: install headers only +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Plausibility check in root source path + +$ find glm -type f ! -name '*.hpp' ! -name '*.h' ! -name '*.inl' +glm/detail/glm.cpp +glm/detail/dummy.cpp +glm/experimental.hpp.in +glm/CMakeLists.txt + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> + +Uptream-Status: Submitted [1] + +[1] https://github.com/g-truc/glm/pull/741 +--- + CMakeLists.txt | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bd4dd654..113dd735 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -171,7 +171,12 @@ option(GLM_INSTALL_ENABLE "GLM install" ON) + + set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm") + if (GLM_INSTALL_ENABLE) +- install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++ install(DIRECTORY glm ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++ FILES_MATCHING ++ PATTERN "*.h" ++ PATTERN "*.hpp" ++ PATTERN "*.inl") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm) + endif() + +-- +2.14.3 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb new file mode 100644 index 000000000..4e2ee2378 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb @@ -0,0 +1,28 @@ +SUMMARY = "OpenGL Mathematics Library" +DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \ +mathematics library for graphics software based on the OpenGL \ +Shading Language (GLSL) specifications." +HOMEPAGE = "https://glm.g-truc.net" +BUGTRACKER = "https://github.com/g-truc/glm/issues" + +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://readme.md;beginline=21;endline=22;md5=3075b5727d36f29edccf97b93e72b790" + +SRC_URI = " \ + git://github.com/g-truc/glm;branch=master \ + file://0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch \ + file://0002-glm-install-headers-only.patch \ +" +SRCREV = "fcbedf5058ef8613dd02aac62ef00d55dcfeadd7" +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "-DGLM_ENABLE_EXPERIMENTAL=ON" + +FILES_${PN}-dev += "${libdir}/cmake" +RDEPENDS_${PN}-dev = "" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch new file mode 100644 index 000000000..7800fdd57 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch @@ -0,0 +1,26 @@ +From 60b6d5c95ca3632e02031ac04fb5486dd209011c Mon Sep 17 00:00:00 2001 +From: Andreas Baak <andreas.baak@gmail.com> +Date: Sun, 12 Jul 2015 01:02:15 -0700 +Subject: [PATCH] configure.ac remove AM_PO_SUBDIRS + +This is done twice together with oe autotools.bbclass. + +--- + configure.ac | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index bb5b795..93fbaf2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -64,7 +64,6 @@ GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}]) + ALL_LINGUAS="az cs da de en_GB es eu fi fr hu id is it ja nl pa pl pt_BR ro ru rw sk sr sv uk vi zh_CN zh_TW" + AM_GNU_GETTEXT_VERSION([0.14.1]) + AM_GNU_GETTEXT([external]) +-AM_PO_SUBDIRS() + AM_ICONV() + GP_GETTEXT_FLAGS() + +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch new file mode 100644 index 000000000..e6c7dd667 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch @@ -0,0 +1,32 @@ +From 884d4c9bbd2dc147d614a5fabc25dbea7a71cd48 Mon Sep 17 00:00:00 2001 +From: Andreas Baak <andreas.baak@gmail.com> +Date: Sun, 12 Jul 2015 02:13:58 -0700 +Subject: [PATCH] Look for popt with GP_CHECK_LIBRARY function + +The previously used proprietary function GP_CHECK_POPT +defined in /.m4m/gp-check-opt.m4 is not ready for cross +compilation since it looks for the library and headers +in the host system. Yocto reports the following error: +"QA Issue: gphoto2: The compile log indicates that host +include and/or library paths were used." +Using the GP_CHECK_LIBRARY function fixes this problem +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 93fbaf2..6d661f0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -285,7 +285,7 @@ GP_CONFIG_MSG([Text preview support],[$aa_msg]) + dnl --------------------------------------------------------------------------- + dnl popt.h: Simplifies handling of command-line options enormously. + dnl --------------------------------------------------------------------------- +-GP_CHECK_POPT([mandatory]) ++GP_CHECK_LIBRARY([POPT], [popt], [], [popt.h], [], [], [mandatory]) + + + dnl --------------------------------------------------------------------------- +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb new file mode 100644 index 000000000..75ad7f4f0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb @@ -0,0 +1,22 @@ +SUMMARY = "gphoto2 - a command-line frontend to libgphoto2" +HOMEPAGE = "http://www.gphoto.com/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +DEPENDS = "libgphoto2 popt readline" +RDEPENDS_gphoto2 = "libgphoto2" + +SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \ + file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ + file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \ +" + +SRC_URI[gphoto2.md5sum] = "6c6a21b5e879330cdd71ef92dce36399" +SRC_URI[gphoto2.sha256sum] = "9302d02fb472d4936988382b7277ccdc4edaf7ede56c490278912ffd0627699c" + +inherit autotools pkgconfig gettext + +EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \ + --without-cdk \ +" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch new file mode 100644 index 000000000..8093676ad --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch @@ -0,0 +1,48 @@ +From 31a5d2f7db18737aef08c34e8707b4f69f7e5156 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Sun, 21 Oct 2012 17:59:20 +0200 +Subject: [PATCH] configure.ac: remove AM_PO_SUBDIRS +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +together with oe autotools.bbclass this is done twice and causes: + +| autoreconf: running: aclocal --system-acdir=/home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/aclocal-copy/ --automake-acdir=/home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/share/aclocal-1.12 -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/auto-m4/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/m4m/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/auto-m4/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/m4m/ --force -I auto-m4 -I m4m +| configure.ac:230: error: `po-directories' is already registered with AC_CONFIG_COMMANDS. + +Upstream-Status: Inapropriate [configuration] + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + configure.ac | 1 - + libgphoto2_port/configure.ac | 1 - + 2 files changed, 0 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2f8e1b8..2e90acf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -209,7 +209,6 @@ ALL_LINGUAS="cs da de es eu fr hu it ja nl pl ru sv uk vi zh_CN" + GP_GETTEXT_HACK([${PACKAGE}-${LIBGPHOTO2_CURRENT_MIN}],[The gPhoto Team],[${MAIL_GPHOTO_TRANSLATION}]) + AM_GNU_GETTEXT_VERSION([0.14.1]) + AM_GNU_GETTEXT([external]) +-AM_PO_SUBDIRS() + AM_ICONV() + GP_GETTEXT_FLAGS() + +diff --git a/libgphoto2_port/configure.ac b/libgphoto2_port/configure.ac +index 0b66d58..df47357 100644 +--- a/libgphoto2_port/configure.ac ++++ b/libgphoto2_port/configure.ac +@@ -124,7 +124,6 @@ GP_GETTEXT_HACK([${PACKAGE}-${LIBGPHOTO2_PORT_CURRENT_MIN}],[Lutz Mueller and ot + ALL_LINGUAS="cs da de es eu fi fr it ja nl pl pt_BR ru sk sr sv uk vi zh_CN zh_TW" + AM_GNU_GETTEXT_VERSION([0.14.1]) + AM_GNU_GETTEXT([external]) +-AM_PO_SUBDIRS() + AM_ICONV() + GP_GETTEXT_FLAGS() + +-- +1.7.4.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi new file mode 100644 index 000000000..3977064fe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi @@ -0,0 +1,9533 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- --> +<!-- This file was generated by libgphoto2 print-camera-list - - fdi-device --> +<!--+ + | Created from this library: + | libgphoto2 2.5.8 all camlibs, gcc, ltdl, no EXIF + | libgphoto2_port 0.12.0 gcc, ltdl, no USB, serial without locking + +--> +<deviceinfo version="0.2"> + <device> + <match key="info.subsystem" string="usb"> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13251"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13252"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13891"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13628"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13869"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13702"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13128"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13129"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13130"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13272"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13180"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13181"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13259"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13093"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13121"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13124"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13125"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13193"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13194"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13176"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13588"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13736"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13892"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="14117"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13833"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13427"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13663"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13911"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13226"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13796"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1282"> + <match key="usb_device.product_id" int="13853"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="5845"> + <match key="usb_device.product_id" int="32774"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="5845"> + <match key="usb_device.product_id" int="32773"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1725"> + <match key="usb_device.product_id" int="1027"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1725"> + <match key="usb_device.product_id" int="1028"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1276"> + <match key="usb_device.product_id" int="20555"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1276"> + <match key="usb_device.product_id" int="20554"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2250"> + <match key="usb_device.product_id" int="273"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1276"> + <match key="usb_device.product_id" int="20554"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1276"> + <match key="usb_device.product_id" int="20555"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7099"> + <match key="usb_device.product_id" int="360"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7099"> + <match key="usb_device.product_id" int="8200"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7099"> + <match key="usb_device.product_id" int="3074"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7099"> + <match key="usb_device.product_id" int="40974"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7099"> + <match key="usb_device.product_id" int="61443"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7099"> + <match key="usb_device.product_id" int="36941"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7099"> + <match key="usb_device.product_id" int="359"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6473"> + <match key="usb_device.product_id" int="2048"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6473"> + <match key="usb_device.product_id" int="7"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6473"> + <match key="usb_device.product_id" int="8"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6473"> + <match key="usb_device.product_id" int="10"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6473"> + <match key="usb_device.product_id" int="12"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6473"> + <match key="usb_device.product_id" int="18"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6473"> + <match key="usb_device.product_id" int="11"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6473"> + <match key="usb_device.product_id" int="13"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6473"> + <match key="usb_device.product_id" int="5"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6473"> + <match key="usb_device.product_id" int="242"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="548"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4762"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4779"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4752"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4754"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4756"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4759"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4768"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4776"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4753"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4755"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1452"> + <match key="usb_device.product_id" int="4761"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="20488"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="20489"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="16386"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5416"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5417"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5433"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5432"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5305"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5448"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4618"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4893"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4620"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4865"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4867"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4881"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4897"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="12787"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4913"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4915"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="12841"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4871"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="8200"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4951"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4945"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4873"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4875"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4883"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4885"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4917"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4877"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4879"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4889"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5359"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5480"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5481"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5311"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5400"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5384"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5385"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5293"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5274"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5227"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5214"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="5208"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="12715"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4615"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4929"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4891"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3705"> + <match key="usb_device.product_id" int="4616"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="271"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="271"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37180"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="271"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="23055"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19680"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19681"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="20815"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="30579"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21519"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21535"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21775"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21760"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19664"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19665"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21023"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21007"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19648"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19649"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21600"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21608"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21504"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21520"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21521"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21606"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="30578"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21766"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21857"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="20992"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="20993"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21008"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21009"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21012"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21024"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21025"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21040"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21041"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19968"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19969"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19983"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19999"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19712"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19713"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19584"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19585"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19600"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19601"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19616"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="19617"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="22047"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="24322"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="22543"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="22559"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21632"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21633"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="30593"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21648"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2821"> + <match key="usb_device.product_id" int="21649"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36945"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8320"> + <match key="usb_device.product_id" int="6"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8320"> + <match key="usb_device.product_id" int="5"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1189"> + <match key="usb_device.product_id" int="12291"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7493"> + <match key="usb_device.product_id" int="17821"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10823"> + <match key="usb_device.product_id" int="32528"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10823"> + <match key="usb_device.product_id" int="8200"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10823"> + <match key="usb_device.product_id" int="3074"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12359"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12738"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12733"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12774"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12787"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12904"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12480"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12365"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12791"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12390"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12479"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12405"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12474"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12558"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12468"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12543"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12572"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12542"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12623"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12530"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12622"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12566"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12676"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12569"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12660"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12598"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12640"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12660"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12565"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12740"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12619"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12639"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12659"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12691"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12737"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12443"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12443"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12484"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12402"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12470"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12532"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12370"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12389"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12400"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12401"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12529"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12526"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12394"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12424"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12423"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12453"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12667"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12912"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12419"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12476"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12823"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12927"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12522"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12615"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12752"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12825"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12523"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12524"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12420"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12441"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12563"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12527"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12526"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12526"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12560"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12614"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12613"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12751"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12699"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12778"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12545"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12546"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12697"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12858"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12824"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12821"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12859"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12880"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12914"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12883"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12698"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12911"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12356"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12384"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12420"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12441"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12560"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12420"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12441"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12526"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12560"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12613"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12751"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12861"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12953"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12751"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12613"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12430"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12865"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12969"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12837"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12774"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12691"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12358"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12363"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12484"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12395"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12438"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12412"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12410"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12448"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12438"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12430"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12417"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12416"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12457"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12395"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12429"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12418"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12415"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12416"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12395"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12438"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12457"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12549"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12430"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12367"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12385"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12686"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12739"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12862"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12900"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12366"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12386"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12689"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12734"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12842"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12874"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12873"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12913"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12898"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12377"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12406"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12786"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12472"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12785"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12897"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12376"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12471"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12867"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12537"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12559"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12536"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12629"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12617"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12666"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12735"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12783"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12482"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12481"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12582"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12571"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12624"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12621"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12620"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12663"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12662"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12404"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12541"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12540"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12602"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12601"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12635"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12403"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12567"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12600"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12637"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12469"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12442"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12838"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12863"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12473"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12475"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12732"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12936"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12937"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12360"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12851"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12687"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12767"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12888"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12373"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12398"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12399"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12421"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12467"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12581"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12634"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12443"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12361"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12444"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12353"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12854"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12357"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12369"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12891"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12917"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12528"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12355"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12389"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12400"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12401"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12570"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12375"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12364"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12390"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12374"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12405"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12474"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12396"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12397"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12616"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12407"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12468"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12466"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12465"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12538"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12818"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12443"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12402"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12623"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12470"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12676"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12740"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12788"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12484"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12480"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12599"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12529"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12543"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12530"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12572"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12542"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12569"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12622"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12661"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12738"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12660"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12619"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12694"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12565"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12774"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12737"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12691"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12685"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12638"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12690"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12768"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12817"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12852"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12890"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12918"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12772"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12736"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12790"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12844"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12840"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12869"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12868"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12895"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12856"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12892"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12919"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12955"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12368"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12380"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12778"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12823"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12859"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1193"> + <match key="usb_device.product_id" int="12408"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1999"> + <match key="usb_device.product_id" int="4169"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1999"> + <match key="usb_device.product_id" int="4162"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1999"> + <match key="usb_device.product_id" int="4173"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1999"> + <match key="usb_device.product_id" int="4172"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1999"> + <match key="usb_device.product_id" int="4474"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1375"> + <match key="usb_device.product_id" int="49664"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1207"> + <match key="usb_device.product_id" int="34985"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="4098"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1943"> + <match key="usb_device.product_id" int="32769"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="548"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7796"> + <match key="usb_device.product_id" int="25874"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7763"> + <match key="usb_device.product_id" int="5"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="16640"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1000"> + <match key="usb_device.product_id" int="8578"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1000"> + <match key="usb_device.product_id" int="8576"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2386"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="1809"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="1873"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2321"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2369"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2049"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2161"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2193"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2145"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2177"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2337"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2305"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="1793"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="1889"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3617"> + <match key="usb_device.product_id" int="2353"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16406"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16391"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16394"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16402"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16395"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16403"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16675"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16727"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16688"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16700"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16691"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16737"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16695"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16701"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16689"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16720"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16728"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16722"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16671"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16723"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16702"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16721"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16738"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16745"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16680"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4204"> + <match key="usb_device.product_id" int="12821"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2125"> + <match key="usb_device.product_id" int="3"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3428"> + <match key="usb_device.product_id" int="4129"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1000"> + <match key="usb_device.product_id" int="8496"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3141"> + <match key="usb_device.product_id" int="32768"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16690"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="16687"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16700"> + <match key="usb_device.product_id" int="45323"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16700"> + <match key="usb_device.product_id" int="45338"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16700"> + <match key="usb_device.product_id" int="45339"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16700"> + <match key="usb_device.product_id" int="17664"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7994"> + <match key="usb_device.product_id" int="3074"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="270"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1498"> + <match key="usb_device.product_id" int="4120"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4483"> + <match key="usb_device.product_id" int="1"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1498"> + <match key="usb_device.product_id" int="4128"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2726"> + <match key="usb_device.product_id" int="24609"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36944"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36946"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4310"> + <match key="usb_device.product_id" int="8704"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="270"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="271"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1208"> + <match key="usb_device.product_id" int="1027"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1208"> + <match key="usb_device.product_id" int="1026"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10608"> + <match key="usb_device.product_id" int="8200"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10608"> + <match key="usb_device.product_id" int="3074"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6018"> + <match key="usb_device.product_id" int="16385"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1747"> + <match key="usb_device.product_id" int="8634"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3530"> + <match key="usb_device.product_id" int="2"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3530"> + <match key="usb_device.product_id" int="2"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="330"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="466"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="454"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="467"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="539"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="403"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="480"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="448"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="484"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="411"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="449"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="453"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="468"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="486"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="506"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="526"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="557"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="625"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="592"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="477"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="475"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="495"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="512"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="488"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="521"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="576"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="637"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="613"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="664"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="452"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="471"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="447"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="322"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="399"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="668"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="563"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="622"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="611"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="678"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="648"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="472"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="513"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="525"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="510"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="693"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1227"> + <match key="usb_device.product_id" int="451"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1221"> + <match key="usb_device.product_id" int="4416"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1221"> + <match key="usb_device.product_id" int="4923"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2334"> + <match key="usb_device.product_id" int="9605"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1112"> + <match key="usb_device.product_id" int="28677"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1037"> + <match key="usb_device.product_id" int="34908"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1044"> + <match key="usb_device.product_id" int="8200"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1044"> + <match key="usb_device.product_id" int="3074"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="7"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="6"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="20033"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="20034"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="19983"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="19712"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="11522"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="29706"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="53514"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="53513"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="20193"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="20194"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="45066"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="28840"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="20005"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="20006"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="1459"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="28930"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6353"> + <match key="usb_device.product_id" int="20197"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="9842"> + <match key="usb_device.product_id" int="17"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1943"> + <match key="usb_device.product_id" int="32796"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4866"> + <match key="usb_device.product_id" int="4118"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4866"> + <match key="usb_device.product_id" int="4119"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="270"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="32285"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="23837"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="23581"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4251"> + <match key="usb_device.product_id" int="37126"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4251"> + <match key="usb_device.product_id" int="37129"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4251"> + <match key="usb_device.product_id" int="37125"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="25858"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="25090"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="31746"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="32002"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="25346"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="26114"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="29698"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="30722"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="29186"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="28162"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="30978"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="27906"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="25346"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="16642"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="26626"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="28930"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="27394"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="25602"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="30210"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="26370"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="27650"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="27138"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="16898"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="30466"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="32258"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="17154"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="16642"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="17410"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="17666"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="16642"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="24578"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="61443"> + <match key="usb_device.product_id" int="24578"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="35586"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="35842"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="29954"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="31490"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="29442"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="31234"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="32770"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="33026"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="33282"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="39682"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="33794"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="34050"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="38402"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="38658"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="34562"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1008"> + <match key="usb_device.product_id" int="34818"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="26716"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="26720"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3074"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="8200"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3782"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3773"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3583"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3219"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3240"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3582"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3556"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="1533"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3541"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3633"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3634"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3573"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="1966"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3546"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3985"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3940"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3939"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3975"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3935"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3936"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3562"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3538"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="1994"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3877"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="1562"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="4020"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="4021"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="1995"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="2009"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3308"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3576"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3577"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3578"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3579"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3580"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3581"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="2008"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="8210"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="1547"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="3533"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="61642"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="2977"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2996"> + <match key="usb_device.product_id" int="2978"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4817"> + <match key="usb_device.product_id" int="4226"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4817"> + <match key="usb_device.product_id" int="13839"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4817"> + <match key="usb_device.product_id" int="13855"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4817"> + <match key="usb_device.product_id" int="4177"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4817"> + <match key="usb_device.product_id" int="4178"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37203"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1161"> + <match key="usb_device.product_id" int="49189"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="270"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6655"> + <match key="usb_device.product_id" int="771"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6655"> + <match key="usb_device.product_id" int="777"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6655"> + <match key="usb_device.product_id" int="775"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="32903"> + <match key="usb_device.product_id" int="2655"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="32903"> + <match key="usb_device.product_id" int="2581"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="32903"> + <match key="usb_device.product_id" int="2582"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="32902"> + <match key="usb_device.product_id" int="1584"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="32903"> + <match key="usb_device.product_id" int="2654"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="32903"> + <match key="usb_device.product_id" int="2555"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="271"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4394"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4390"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4417"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4418"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4434"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4455"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4433"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="8449"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="8453"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="8450"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4102"> + <match key="usb_device.product_id" int="12292"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4104"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4386"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4102"> + <match key="usb_device.product_id" int="16386"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4102"> + <match key="usb_device.product_id" int="16387"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4423"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4371"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4384"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4375"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4373"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4372"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4376"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4377"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4435"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4404"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4162"> + <match key="usb_device.product_id" int="4419"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7784"> + <match key="usb_device.product_id" int="4098"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4374"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="16642"> + <match key="usb_device.product_id" int="4402"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2848"> + <match key="usb_device.product_id" int="56814"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1924"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="13056"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="16640"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1498"> + <match key="usb_device.product_id" int="4102"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="0"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10545"> + <match key="usb_device.product_id" int="2561"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10545"> + <match key="usb_device.product_id" int="2565"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1265"> + <match key="usb_device.product_id" int="24837"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2126"> + <match key="usb_device.product_id" int="1"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2856"> + <match key="usb_device.product_id" int="4108"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8759"> + <match key="usb_device.product_id" int="53512"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8759"> + <match key="usb_device.product_id" int="53513"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8759"> + <match key="usb_device.product_id" int="45320"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1559"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1547"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1406"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1418"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1420"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1421"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1417"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1450"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1434"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1442"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1463"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1466"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1447"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1455"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1454"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1475"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1449"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1478"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1436"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1376"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1376"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1333"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1382"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1382"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1396"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1395"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1393"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1412"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1401"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1400"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1400"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1402"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1403"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1414"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1404"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="288"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="289"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="272"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="273"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="304"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="274"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="306"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="352"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="305"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1317"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1280"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1296"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1328"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="368"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1365"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1398"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1360"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1392"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1394"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1397"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1405"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1407"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1399"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="768"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1344"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1384"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1385"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1381"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1383"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1486"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1536"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1439"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1473"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1453"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1413"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1024"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1426"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1427"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1422"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1423"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1425"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1440"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1452"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1451"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1464"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1437"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1438"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1415"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1459"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1460"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1408"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1416"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1027"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1461"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1429"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1487"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1485"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1034"> + <match key="usb_device.product_id" int="1472"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1224"> + <match key="usb_device.product_id" int="1826"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4907"> + <match key="usb_device.product_id" int="1"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4907"> + <match key="usb_device.product_id" int="25"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4907"> + <match key="usb_device.product_id" int="9"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4907"> + <match key="usb_device.product_id" int="7"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4907"> + <match key="usb_device.product_id" int="24"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4907"> + <match key="usb_device.product_id" int="34"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7994"> + <match key="usb_device.product_id" int="4102"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1154"> + <match key="usb_device.product_id" int="2425"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1154"> + <match key="usb_device.product_id" int="2064"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1154"> + <match key="usb_device.product_id" int="1393"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1154"> + <match key="usb_device.product_id" int="1434"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36945"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9077"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6808"> + <match key="usb_device.product_id" int="2"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30519"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30507"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="29848"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30140"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30142"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30018"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30077"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30440"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="29706"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30851"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30133"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30554"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="29900"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="3074"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="29847"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="29862"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="29944"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30488"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="29724"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30450"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30698"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30463"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="30641"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25073"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25081"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25215"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25198"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="24859"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="24719"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="24882"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25406"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25145"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25149"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25116"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25125"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="24986"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1086"> + <match key="usb_device.product_id" int="28736"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1086"> + <match key="usb_device.product_id" int="28849"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25372"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="25189"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="24592"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4100"> + <match key="usb_device.product_id" int="24581"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="16640"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="5073"> + <match key="usb_device.product_id" int="28674"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1133"> + <match key="usb_device.product_id" int="2304"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1133"> + <match key="usb_device.product_id" int="2384"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="16640"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="13056"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1276"> + <match key="usb_device.product_id" int="20555"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1647"> + <match key="usb_device.product_id" int="33900"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3725"> + <match key="usb_device.product_id" int="80"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1032"> + <match key="usb_device.product_id" int="45066"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6127"> + <match key="usb_device.product_id" int="29827"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1276"> + <match key="usb_device.product_id" int="20554"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="16640"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8709"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="16642"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1647"> + <match key="usb_device.product_id" int="34128"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1647"> + <match key="usb_device.product_id" int="34184"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1032"> + <match key="usb_device.product_id" int="45065"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4721"> + <match key="usb_device.product_id" int="8210"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8222"> + <match key="usb_device.product_id" int="17067"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10821"> + <match key="usb_device.product_id" int="8200"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10821"> + <match key="usb_device.product_id" int="3074"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4310"> + <match key="usb_device.product_id" int="8960"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3504"> + <match key="usb_device.product_id" int="21874"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1118"> + <match key="usb_device.product_id" int="1600"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1118"> + <match key="usb_device.product_id" int="1570"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1118"> + <match key="usb_device.product_id" int="1260"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1118"> + <match key="usb_device.product_id" int="1808"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1118"> + <match key="usb_device.product_id" int="1598"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1118"> + <match key="usb_device.product_id" int="61642"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1118"> + <match key="usb_device.product_id" int="201"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1118"> + <match key="usb_device.product_id" int="1601"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3141"> + <match key="usb_device.product_id" int="32776"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2125"> + <match key="usb_device.product_id" int="3"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="24778"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="28808"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="25807"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11826"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11827"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11879"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11941"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11944"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11880"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="16854"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="16858"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="17063"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="17279"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="17267"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="18449"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="16860"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="28874"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11894"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11906"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11908"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11874"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11875"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11878"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="25619"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="25781"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="25782"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11856"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="11857"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="25621"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="10853"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="28835"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="28840"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="28841"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="17169"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="17158"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="16847"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="28941"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="28942"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8888"> + <match key="usb_device.product_id" int="17250"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1375"> + <match key="usb_device.product_id" int="49664"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1375"> + <match key="usb_device.product_id" int="41808"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1375"> + <match key="usb_device.product_id" int="49696"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1375"> + <match key="usb_device.product_id" int="50208"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1375"> + <match key="usb_device.product_id" int="50464"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2726"> + <match key="usb_device.product_id" int="38401"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1033"> + <match key="usb_device.product_id" int="806"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1033"> + <match key="usb_device.product_id" int="1074"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1033"> + <match key="usb_device.product_id" int="578"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1026"> + <match key="usb_device.product_id" int="22120"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="770"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="279"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="290"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="291"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="265"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="277"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="289"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="273"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="285"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="301"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="516"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="271"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="267"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="304"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="305"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="297"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="275"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="518"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="281"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="302"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="269"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="309"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="313"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="311"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="287"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="259"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="295"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="274"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="401"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="258"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="550"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="392"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="520"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="779"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="777"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="382"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="351"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="389"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="789"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="792"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="791"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="804"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="835"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="773"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="402"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="320"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="381"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="322"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="545"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="524"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="361"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="388"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="347"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="547"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="355"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="552"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="785"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="367"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="383"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="395"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="549"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="553"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="363"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="364"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="371"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="823"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="838"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="334"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="353"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="375"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="376"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="801"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="813"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="831"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="795"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="800"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="820"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="810"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="324"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="809"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="349"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="544"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="334"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="369"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="542"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="540"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="343"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="543"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="546"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="390"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="403"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="843"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1028"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1036"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1032"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1052"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1034"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1026"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1040"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1046"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1050"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1060"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1061"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1063"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1068"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1075"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1062"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1056"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1067"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1044"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1048"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1077"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1059"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1065"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1071"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1073"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1054"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1069"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1030"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1058"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1064"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1038"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1072"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1079"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1042"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1066"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1070"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1078"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1057"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1538"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1539"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1541"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1545"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1542"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1537"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1200"> + <match key="usb_device.product_id" int="1540"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1276"> + <match key="usb_device.product_id" int="20554"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="548"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="705"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="101"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="95"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1122"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="494"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="521"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1214"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="738"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1210"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="108"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="234"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1150"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="553"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1204"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="340"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="341"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="345"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="46"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="152"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="141"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="60"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="663"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1491"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1426"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="961"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="973"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="463"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="815"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="377"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="229"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="820"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="821"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="228"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="417"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="545"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1788"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1638"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1633"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1316"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1160"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1233"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1249"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="121"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="390"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="766"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="770"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1265"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="10"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="116"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="146"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1306"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1157"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1144"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1253"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1263"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="110"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="978"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="57"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="501"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="619"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="500"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="628"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1057"> + <match key="usb_device.product_id" int="1768"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="5891"> + <match key="usb_device.product_id" int="1"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="5891"> + <match key="usb_device.product_id" int="2"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2389"> + <match key="usb_device.product_id" int="28841"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2389"> + <match key="usb_device.product_id" int="46080"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2389"> + <match key="usb_device.product_id" int="52999"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2389"> + <match key="usb_device.product_id" int="52994"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2389"> + <match key="usb_device.product_id" int="28928"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2389"> + <match key="usb_device.product_id" int="28930"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7763"> + <match key="usb_device.product_id" int="6"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="276"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="276"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="276"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="276"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="276"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="276"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="272"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="303"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="303"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="278"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="276"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="275"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="303"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="276"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="276"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="278"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1972"> + <match key="usb_device.product_id" int="278"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8921"> + <match key="usb_device.product_id" int="10085"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8921"> + <match key="usb_device.product_id" int="10100"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8921"> + <match key="usb_device.product_id" int="10099"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="9076"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="8517"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1242"> + <match key="usb_device.product_id" int="8536"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4204"> + <match key="usb_device.product_id" int="61443"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7501"> + <match key="usb_device.product_id" int="20534"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7501"> + <match key="usb_device.product_id" int="20533"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7501"> + <match key="usb_device.product_id" int="20554"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="9723"> + <match key="usb_device.product_id" int="357"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2583"> + <match key="usb_device.product_id" int="13"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2583"> + <match key="usb_device.product_id" int="247"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2726"> + <match key="usb_device.product_id" int="38658"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8316"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8377"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8504"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="357"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8311"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8334"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8196"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="2135"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="2126"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8194"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="335"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8309"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8315"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8375"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8421"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="333"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="332"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="491"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="331"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="6411"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="270"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8592"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="32257"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="385"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="356"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="8226"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1137"> + <match key="usb_device.product_id" int="370"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2276"> + <match key="usb_device.product_id" int="322"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2276"> + <match key="usb_device.product_id" int="328"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="270"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1924"> + <match key="usb_device.product_id" int="10376"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1350"> + <match key="usb_device.product_id" int="8245"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1350"> + <match key="usb_device.product_id" int="3503"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="271"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10724"> + <match key="usb_device.product_id" int="4611"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10724"> + <match key="usb_device.product_id" int="4355"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1924"> + <match key="usb_device.product_id" int="21248"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1276"> + <match key="usb_device.product_id" int="65535"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1478"> + <match key="usb_device.product_id" int="34816"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1478"> + <match key="usb_device.product_id" int="61443"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1478"> + <match key="usb_device.product_id" int="553"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1478"> + <match key="usb_device.product_id" int="12694"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1478"> + <match key="usb_device.product_id" int="26468"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1478"> + <match key="usb_device.product_id" int="26469"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1478"> + <match key="usb_device.product_id" int="36921"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1478"> + <match key="usb_device.product_id" int="36901"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3530"> + <match key="usb_device.product_id" int="4"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1924"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="4704"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="4712"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8715"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8707"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8708"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8712"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8716"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="805"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8724"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="813"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8717"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8722"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="811"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8723"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8726"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="815"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8727"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8730"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="272"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8706"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="829"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8717"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4042"> + <match key="usb_device.product_id" int="32775"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8719"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8719"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37181"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37181"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37181"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3141"> + <match key="usb_device.product_id" int="32771"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3141"> + <match key="usb_device.product_id" int="32771"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3141"> + <match key="usb_device.product_id" int="32771"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="270"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="271"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="271"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26726"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26407"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26720"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26716"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26743"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26450"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26799"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="57868"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26649"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="1188"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20255"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26420"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26178"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="5132"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="4996"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26698"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26467"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26377"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26793"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="26370"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20526"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20509"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20514"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20527"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20516"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="23055"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20531"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="1033"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20567"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20609"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20570"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20760"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20611"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20762"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20757"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20765"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20784"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20773"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20751"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20782"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20625"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20619"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20618"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20551"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20607"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20564"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20605"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20627"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20769"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20791"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1256"> + <match key="usb_device.product_id" int="20540"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29712"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29776"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29778"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29746"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29748"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29924"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29904"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29824"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29728"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29730"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29792"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29888"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29890"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29920"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29697"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29696"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29744"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1921"> + <match key="usb_device.product_id" int="29872"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1140"> + <match key="usb_device.product_id" int="560"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1943"> + <match key="usb_device.product_id" int="35073"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1943"> + <match key="usb_device.product_id" int="35081"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1943"> + <match key="usb_device.product_id" int="35089"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2125"> + <match key="usb_device.product_id" int="4097"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="851"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="8718"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1482"> + <match key="usb_device.product_id" int="807"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1245"> + <match key="usb_device.product_id" int="38497"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1245"> + <match key="usb_device.product_id" int="38602"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1161"> + <match key="usb_device.product_id" int="49189"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="270"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1647"> + <match key="usb_device.product_id" int="40976"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3191"> + <match key="usb_device.product_id" int="4113"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3191"> + <match key="usb_device.product_id" int="4117"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3191"> + <match key="usb_device.product_id" int="4098"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3191"> + <match key="usb_device.product_id" int="4112"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3428"> + <match key="usb_device.product_id" int="4097"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3191"> + <match key="usb_device.product_id" int="4097"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6390"> + <match key="usb_device.product_id" int="258"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6390"> + <match key="usb_device.product_id" int="272"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="13056"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7132"> + <match key="usb_device.product_id" int="64191"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3530"> + <match key="usb_device.product_id" int="2"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3783"> + <match key="usb_device.product_id" int="4104"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1870"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1990"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="2391"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="2279"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="2382"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="2231"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="2387"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="2381"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="2388"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="2274"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="4756"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="704"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="743"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1347"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1567"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1774"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1169"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="2221"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1323"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1322"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1867"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="662"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="662"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="835"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="760"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1340"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20853"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="41333"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="45429"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="370"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20850"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16754"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="390"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20870"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16774"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="361"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20841"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16745"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="373"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16757"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="374"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16758"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="375"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20855"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16759"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="41335"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="45431"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="376"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20856"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16760"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="386"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20866"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16770"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="371"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20851"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16755"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="41331"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="45427"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1839"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1656"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="860"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="805"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="859"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1028"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="878"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="984"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1214"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1434"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1673"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1020"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1227"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="901"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1021"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1446"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="806"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1022"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="807"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="910"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="858"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="908"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1228"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1448"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="904"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1211"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="919"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="920"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="78"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1191"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="801"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1187"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1641"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1846"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1847"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1396"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1653"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20854"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="41334"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="45430"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="385"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20865"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16769"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1233"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1459"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1356"> + <match key="usb_device.product_id" int="1460"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="369"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="368"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20848"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16752"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="384"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20864"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16768"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20849"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16753"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="382"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20862"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16766"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="41342"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="45438"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="365"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="408"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20888"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="419"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20899"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16803"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="396"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20876"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16780"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="444"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20924"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="444"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="459"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20939"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16843"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="392"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20872"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16776"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="402"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20882"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16786"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="411"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20891"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16795"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="427"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20907"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16811"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="426"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20906"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16810"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="405"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20885"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16789"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="397"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="404"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20877"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20884"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16781"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16788"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="403"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20883"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16787"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="438"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="406"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="412"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20918"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20886"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20892"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16796"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="423"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16807"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20903"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="414"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20894"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16798"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="431"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20911"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16815"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="443"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20923"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16827"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="442"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20922"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16826"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="393"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20873"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16777"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="407"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20887"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="326"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20806"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="217"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="212"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="239"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="343"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20823"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16727"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="334"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="53572"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="324"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="57344"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="117"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20815"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="335"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="346"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20826"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="342"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20822"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="349"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20829"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="358"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20838"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="359"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20839"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="360"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20840"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="16744"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="353"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20833"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="251"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="307"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="314"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="4296"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="243"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="261"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="198"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="179"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="245"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="118"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="218"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="274"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4046"> + <match key="usb_device.product_id" int="20845"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37181"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1105"> + <match key="usb_device.product_id" int="53512"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="5073"> + <match key="usb_device.product_id" int="28695"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2726"> + <match key="usb_device.product_id" int="12305"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1691"> + <match key="usb_device.product_id" int="12341"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1691"> + <match key="usb_device.product_id" int="1911"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1691"> + <match key="usb_device.product_id" int="1908"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1691"> + <match key="usb_device.product_id" int="1916"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1691"> + <match key="usb_device.product_id" int="12314"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1691"> + <match key="usb_device.product_id" int="12328"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2329"> + <match key="usb_device.product_id" int="256"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="5008"> + <match key="usb_device.product_id" int="21589"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4571"> + <match key="usb_device.product_id" int="4096"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="2403"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="12"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="9"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="29"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="26"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="24"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="17"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="15"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="16"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="25"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="22"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="20"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4402"> + <match key="usb_device.product_id" int="17207"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4402"> + <match key="usb_device.product_id" int="17202"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4402"> + <match key="usb_device.product_id" int="17205"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="4402"> + <match key="usb_device.product_id" int="17204"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2352"> + <match key="usb_device.product_id" int="28928"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="13056"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3478"> + <match key="usb_device.product_id" int="16640"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7784"> + <match key="usb_device.product_id" int="2"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1026"> + <match key="usb_device.product_id" int="1553"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1647"> + <match key="usb_device.product_id" int="33834"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2125"> + <match key="usb_device.product_id" int="3"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1750"> + <match key="usb_device.product_id" int="46"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1750"> + <match key="usb_device.product_id" int="45"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2250"> + <match key="usb_device.product_id" int="272"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1276"> + <match key="usb_device.product_id" int="20554"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1943"> + <match key="usb_device.product_id" int="32794"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1363"> + <match key="usb_device.product_id" int="514"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3428"> + <match key="usb_device.product_id" int="4097"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8711"> + <match key="usb_device.product_id" int="1"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8711"> + <match key="usb_device.product_id" int="17"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1032"> + <match key="usb_device.product_id" int="14489"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="37152"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2425"> + <match key="usb_device.product_id" int="551"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="270"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="2362"> + <match key="usb_device.product_id" int="271"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3141"> + <match key="usb_device.product_id" int="32778"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1161"> + <match key="usb_device.product_id" int="57617"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1161"> + <match key="usb_device.product_id" int="49190"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1161"> + <match key="usb_device.product_id" int="57408"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1329"> + <match key="usb_device.product_id" int="8193"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="3141"> + <match key="usb_device.product_id" int="32769"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7763"> + <match key="usb_device.product_id" int="7"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="4968"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="4680"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="4672"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="61443"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="36921"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="65352"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="872"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="864"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10007"> + <match key="usb_device.product_id" int="1632"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="8711"> + <match key="usb_device.product_id" int="6"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10518"> + <match key="usb_device.product_id" int="37197"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10518"> + <match key="usb_device.product_id" int="61443"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="7871"> + <match key="usb_device.product_id" int="32553"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="1054"> + <match key="usb_device.product_id" int="24576"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="10096"> + <match key="usb_device.product_id" int="36956"> + <append key="info.capabilities" type="strlist">camera</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6610"> + <match key="usb_device.product_id" int="835"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6610"> + <match key="usb_device.product_id" int="65486"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6610"> + <match key="usb_device.product_id" int="580"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6610"> + <match key="usb_device.product_id" int="581"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6610"> + <match key="usb_device.product_id" int="774"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6610"> + <match key="usb_device.product_id" int="775"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + <match key="usb_device.vendor_id" int="6610"> + <match key="usb_device.product_id" int="899"> + <append key="info.capabilities" type="strlist">portable_audio_player</append> + </match> + </match> + </match> + </device> +</deviceinfo> diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi new file mode 100644 index 000000000..00427e7d9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi @@ -0,0 +1,19018 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- --> +<!-- This file was generated by libgphoto2 print-camera-list - - fdi --> +<!--+ + | Created from this library: + | libgphoto2 2.5.8 all camlibs, gcc, ltdl, no EXIF + | libgphoto2_port 0.12.0 gcc, ltdl, no USB, serial without locking + +--> +<deviceinfo version="0.2"> + <device> + <match key="info.subsystem" string="usb"> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string"> JL2005B/C/D camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13251"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer E350 Liquid Gallant Duo (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13252"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer E350 Liquid Gallant Duo (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13891"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer E39</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13628"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia A1-810</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13869"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia A1-840FHD</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13702"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia A3-A11</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13128"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A100 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13129"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A100 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13130"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A101 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13272"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A110</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13180"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A200 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13181"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A200 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13259"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A210</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13093"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A500 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13121"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A500 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13124"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A501 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13125"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A501 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13193"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A510 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13194"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A510 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13176"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13588"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Liquid E2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13736"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Liquid E3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13892"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer liquid e700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="14117"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Liquid S56</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13833"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Liquid X1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13427"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Liquid Z120 MT65xx Android Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13663"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Liquid Z130 MT65xx Android Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13911"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer One 7</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13226"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer S500 CloudMobile</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13796"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Z150</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1282"> + <match key="usb.product_id" int="13853"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acer Z160</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="5845"> + <match key="usb.product_id" int="32774"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acromag Inc. XO Learning Tablet (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="5845"> + <match key="usb.product_id" int="32773"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Acromag Inc. XO Learning Tablet (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">AEG Snap 300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1725"> + <match key="usb.product_id" int="1027"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Agfa ePhoto CL18</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1725"> + <match key="usb.product_id" int="1028"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Agfa ePhoto CL20</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1276"> + <match key="usb.product_id" int="20555"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Aiptek 1.3 mega PocketCam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Aiptek PalmCam Trio</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1276"> + <match key="usb.product_id" int="20554"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Aiptek Pencam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Aiptek PenCam Trio</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2250"> + <match key="usb.product_id" int="273"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Aiptek PenCam VGA+</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1276"> + <match key="usb.product_id" int="20554"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Aiptek Pencam without flash</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1276"> + <match key="usb.product_id" int="20555"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Aiptek Smart Megacam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7099"> + <match key="usb.product_id" int="360"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Alcatel 6030a</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7099"> + <match key="usb.product_id" int="8200"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Alcatel One Touch 997D (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7099"> + <match key="usb.product_id" int="3074"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Alcatel One Touch 997D (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7099"> + <match key="usb.product_id" int="40974"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Alcatel OneTouch 5042D (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7099"> + <match key="usb.product_id" int="61443"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Alcatel OneTouch 6034R</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7099"> + <match key="usb.product_id" int="36941"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Alcatel/Bouygues BS472</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7099"> + <match key="usb.product_id" int="359"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Alcatel/TCT 6010D/TCL S950</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Amazing Spiderman</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6473"> + <match key="usb.product_id" int="2048"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Amazon Fire Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6473"> + <match key="usb.product_id" int="7"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6473"> + <match key="usb.product_id" int="8"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6473"> + <match key="usb.product_id" int="10"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID3)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6473"> + <match key="usb.product_id" int="12"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID4)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6473"> + <match key="usb.product_id" int="18"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID5)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6473"> + <match key="usb.product_id" int="11"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID6)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6473"> + <match key="usb.product_id" int="13"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID7)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6473"> + <match key="usb.product_id" int="5"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire 2G (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6473"> + <match key="usb.product_id" int="242"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire HD6</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="548"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">American Idol Keychain Camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4762"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPad (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4779"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPad Air</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4752"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPhone (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4754"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPhone 3G (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4756"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPhone 3GS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4759"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPhone 4 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4768"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPhone 4S (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4776"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPhone 5 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4753"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4755"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch 2G (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="1452"> + <match key="usb.product_id" int="4761"> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch 3rd Gen (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="20488"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos (for Tesco) Hudl (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="20489"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos (for Tesco) Hudl (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="16386"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 101 G4</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5416"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5417"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5433"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 Turbo</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5432"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 Turbo 250 HD</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5305"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 101 Titanium</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5448"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 101 XS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4618"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 104 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4893"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 105 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4620"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 204 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4865"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 404 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4867"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 404CAM (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4881"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 405 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4897"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 405HDD (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="12787"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 45 Neon</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4913"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 5 (MTP mode 1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4915"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 5 (MTP mode 2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="12841"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 50 Diamond</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4871"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 504 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="8200"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 50c</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4951"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 5H IT (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4945"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 5S IT (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4873"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 604 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4875"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 604WIFI (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4883"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 605 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4885"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 605F (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4917"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 7 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4877"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 704 mobile dvr</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4879"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 704TV (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4889"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 705 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5359"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 70b Titanium</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5480"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 70it2 (ID 1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5481"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 70it2 (ID 2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5311"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 80 Titanium</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5400"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 80G9</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5384"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 8o G9 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5385"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 8o G9 Turbo (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5293"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 97 Titanium</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5274"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos 97 Xenon</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5227"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos Arnova 10bG3 Tablet</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5214"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos Arnova 8c G3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="5208"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos Arnova Childpad</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="12715"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos C40</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4615"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos Gmini XS100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4929"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos SPOD (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4891"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos TV+ (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3705"> + <match key="usb.product_id" int="4616"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Archos XS202 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Argus Bean Sprout</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Argus DC-1500</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Argus DC-1510</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="271"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Argus DC-1610</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="271"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Argus DC-1620</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37180"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Argus DC-1730</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Argus DC-2200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Argus DC1512e</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="271"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Argus QuickClix</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Aries ATC-0017</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Aries Digital Keychain Camera, I</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="23055"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus A450CG (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19680"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Asus Fonepad Note 6 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19681"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Asus Fonepad Note 6 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="20815"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Fonepad</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="30579"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 (FE375CXG)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21519"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 LTE ME372CL (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21535"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 LTE ME372CL (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21775"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus K00E (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21760"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus K010 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19664"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ME301T MeMo Pad Smart 10 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19665"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ME301T MeMo Pad Smart 10 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21023"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ME302C MemoPad (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21007"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ME302C MemoPad (MTP+?)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19648"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ME302KL MeMo Pad FHD10 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19649"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ME302KL MeMo Pad FHD10 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21600"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Memo K00F (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21608"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Memo K00F (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21504"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Memo ME172V (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21520"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Memo ME173X (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21521"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Memo ME173X (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21606"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Memo Pad 8 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="30578"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 7 (ME572CL)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21766"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 7 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21857"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 8 ME181 CX (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="20992"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus PadFone (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="20993"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus PadFone (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21008"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21009"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21012"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (PTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21024"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (2nd ID) (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21025"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (2nd ID) (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21040"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21041"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19968"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus SL101 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19969"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus SL101 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19983"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TF101 Eeepad Transformer (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19999"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TF101 Eeepad Transformer (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19712"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TF201 Transformer Prime (keyboard dock)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19713"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TF201 Transformer Prime (tablet only)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19584"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TF300 Transformer (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19585"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TF300 Transformer (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19600"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TF700 Transformer (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19601"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TF700 Transformer (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19616"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TF701T Transformer Pad (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="19617"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TF701T Transformer Pad (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="22047"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus TX201LA (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="24322"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus Zenfone 2 ZE550ML (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="22543"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 4 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="22559"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 4 A400CG (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21632"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21633"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="30593"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 A500KL (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21648"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 6 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2821"> + <match key="usb.product_id" int="21649"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 6 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36945"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Barbie Camera (Digital Blue)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8320"> + <match key="usb.product_id" int="6"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Barnes&Noble Nook HD</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8320"> + <match key="usb.product_id" int="5"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Barnes&Noble Nook HD+</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1189"> + <match key="usb.product_id" int="12291"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Benq DC1300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7493"> + <match key="usb.product_id" int="17821"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">BenQ F5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10823"> + <match key="usb.product_id" int="32528"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">bq Aquarius E5-4G</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10823"> + <match key="usb.product_id" int="8200"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">bq Krillin (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10823"> + <match key="usb.product_id" int="3074"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">bq Krillin (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12359"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12738"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 100 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12733"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 110 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12774"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 120 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12787"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 130</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12904"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 255HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12480"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 30 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12365"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12791"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 300 HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12390"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 330</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12479"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 40 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12405"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 400 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12474"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 430 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12558"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 50 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12468"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12543"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 55 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12572"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 60 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12542"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 65 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12623"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 70 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12530"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 700 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12622"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 75 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12566"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 750 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12676"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 80 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12569"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 800 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12660"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 85 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12598"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 850 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12640"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 860 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12660"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 90 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12565"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 900Ti (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12740"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 95 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12619"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 950 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12639"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 960 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12659"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 970 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12691"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 980 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12737"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 990 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12443"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12443"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12484"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i5 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12402"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS II (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12470"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS IIs (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12532"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS iZ (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12370"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12389"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12400"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v3 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12401"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v3 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12529"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS Wireless (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12526"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital Rebel XT (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12394"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Digital unknown 3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12424"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Elura 50 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12423"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Elura 50 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12453"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Elura 65 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12667"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 1000D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12912"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 100D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12419"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 10D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12476"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 10D (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12823"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 1100D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12927"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 1200D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12522"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark II (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12615"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark III (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12752"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark IV</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12825"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D X</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12523"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 20D (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12524"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 20D (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12420"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 300D (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12441"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 300D (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12563"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 30D (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12527"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12526"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12526"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12560"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 400D (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12614"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 40D (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12613"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 450D (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12751"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 500D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12699"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 50D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12778"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 550D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12545"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12546"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12697"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D Mark II</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12858"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D Mark III</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12824"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 600D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12821"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 60D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12859"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 650D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12880"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 6D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12914"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 700D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12883"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 70D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12698"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 7D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12911"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS 7D MarkII</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12356"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS D30</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12384"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS D60</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12420"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12441"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12560"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel XTi (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12420"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12441"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12526"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital N (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12560"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital X (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12613"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss X2 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12751"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss X3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12861"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS M</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12953"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS M3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12751"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Rebel T1i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12613"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon EOS Rebel XSi (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12430"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon FV M1 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12865"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon IXUS 125HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12969"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon IXUS 165</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12837"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon IXUS 310IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12774"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon IXY 220 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12691"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon IXY 3000 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12358"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon IXY DIGITAL</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12363"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon IXY DIGITAL 300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12484"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon IXY Digital L2 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12395"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon IXY DV M</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12438"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon IXY DV M2 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12412"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon MV630i (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12410"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon MV650i (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12448"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon MV750i (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12438"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon MVX 10i (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12430"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon MVX 3i (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12417"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon MVX100i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12416"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon MVX150i (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12457"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon MVX25i (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12395"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon MVX2i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12429"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon MVX3i (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12418"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Optura 10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12415"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Optura 20</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12416"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Optura 20 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12395"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Optura 200 MC</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12438"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Optura 300 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12457"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Optura 40 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12549"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Optura 600 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12430"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Optura Xi (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12367"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12385"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12686"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1000 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12739"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1100 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12862"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1300IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12900"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1400</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12366"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A20</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12386"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12689"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2000 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12734"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2100 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12842"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12874"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2300IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12873"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2400IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12913"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2500</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12898"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2600</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12377"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A30</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12406"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A300 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12786"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3000 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12472"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A310 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12785"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3100 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12897"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3500IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12376"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A40</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12471"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A400 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12867"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A4000IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12537"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A410 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12559"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A420 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12536"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A430 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12629"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A450 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12617"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A460 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12666"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A470</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12735"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A480</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12783"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Powershot A495</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12482"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A510 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12481"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A520 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12582"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A530 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12571"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A540 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12624"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A550 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12621"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A560 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12620"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A570 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12663"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A580</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12662"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A590 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12404"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A60 (PTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12541"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A610 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12540"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A620 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12602"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A630 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12601"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A640 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12635"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A650IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12403"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A70 (PTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12567"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A700 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12600"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A710 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12637"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A720 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12469"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A75 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12442"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A80 (PTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12838"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A800</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12863"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A810</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12473"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A85 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12475"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A95 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12732"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot D10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12936"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Elph135</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12937"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Elph340HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12360"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12851"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G1 X</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12687"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12767"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G11</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12888"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G15</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12373"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12398"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G3 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12399"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G3 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12421"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G5 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12467"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Powershot G6 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12581"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G7 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12634"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G9 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12443"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot IXY Digital L (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12361"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Pro90 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12444"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S1 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12353"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12854"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12357"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S100 (2000)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12369"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S110 (2001)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12891"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S110 (PTP Mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12917"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S120</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12528"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S2 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12355"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S20</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12389"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12400"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S230 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12401"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S230 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12570"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S3 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12375"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S30</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12364"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12390"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S330</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12374"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S40</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12405"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S400 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12474"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S410 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12396"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S45 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12397"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S45 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12616"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S5 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12407"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S50 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12468"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12466"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Powershot S60 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12465"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Powershot S70 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12538"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S80 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12818"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S95</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12443"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD10 Digital ELPH (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12402"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12623"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD1000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12470"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD110 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12676"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD1100 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12740"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD1200 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12788"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD1300 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12484"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD20 (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12480"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD200 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12599"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD40 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12529"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD430 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12543"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD450 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12530"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12572"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD600 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12542"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD630 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12569"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD700 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12622"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD750 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12661"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD770 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12738"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD780 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12660"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD790 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12619"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD850 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12694"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD880 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12565"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD900 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12774"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD940 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12737"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD970 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12691"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD990</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12685"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX10 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12638"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Powershot SX100 IS (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12690"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX110 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12768"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX120 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12817"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX130 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12852"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX150 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12890"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX160IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12918"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX170 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12772"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX20 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12736"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX200 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12790"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX210 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12844"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX220HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12840"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX230HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12869"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX240HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12868"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX260HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12895"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX280HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12856"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX40HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12892"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX500IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12919"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX510 HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12955"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX520 HS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12368"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot unknown 1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12380"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon PowerShot unknown 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12778"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Rebel T2i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12823"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Rebel T3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12859"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Canon Rebel T4i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1193"> + <match key="usb.product_id" int="12408"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Canon ZR70MC (normal mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1999"> + <match key="usb.product_id" int="4169"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Casio EX-S770</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1999"> + <match key="usb.product_id" int="4162"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Casio EX-Z120</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1999"> + <match key="usb.product_id" int="4173"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Casio EX-Z65</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1999"> + <match key="usb.product_id" int="4172"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Casio EX-Z700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1999"> + <match key="usb.product_id" int="4474"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Casio EX-ZR700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1375"> + <match key="usb.product_id" int="49664"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Casio LV 10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1207"> + <match key="usb.product_id" int="34985"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Caterpillar Cat S50</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Che-ez Snap</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Che-Ez Snap SNAP-U</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Che-ez! Babe</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="4098"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Che-ez! Splash</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Che-ez! SPYZ</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1943"> + <match key="usb.product_id" int="32769"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Clever CAM 360</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="548"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Cobra DC125</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Cobra Digital Camera DC150</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7796"> + <match key="usb.product_id" int="25874"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Coby COBY MP705</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7763"> + <match key="usb.product_id" int="5"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Conceptronic CMTD2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Concord Eye-Q Duo</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Concord Eye-Q Easy</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="16640"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Concord EyeQ 4330</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1000"> + <match key="usb.product_id" int="8578"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Concord EyeQMini_1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1000"> + <match key="usb.product_id" int="8576"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Concord EyeQMini_2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">CoolCam CP086</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2386"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 10 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="1809"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 6 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="1873"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 7 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2321"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 9 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2369"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio C2 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2049"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2161"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ DAB FW 4.x (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2193"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ DMB FW 1.x (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2145"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ FW 2.x (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2177"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ FW 3.x (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2337"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio J3 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2305"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio S9 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="1793"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio U3 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="1889"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio U5 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3617"> + <match key="usb.product_id" int="2353"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Cowon iAudio X7 (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16406"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Creative CardCam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16391"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Creative Go Mini</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16394"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM 300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16402"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM350</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16395"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM600</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16403"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM750</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16675"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative Portable Media Center</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16727"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16688"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN Micro (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16700"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN MicroPhoto</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16691"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN MicroPhoto (alternate version)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16737"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN Mozaic</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16695"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN Sleek (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16701"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN Sleek Photo</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16689"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN Touch (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16720"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN V</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16728"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN V 2GB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16722"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN V Plus</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16671"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16723"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision W</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16702"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision:M</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16721"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision:M (DVP-HD0004)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16738"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN X-Fi</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16745"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN X-Fi 3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16680"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Creative ZEN Xtra (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4204"> + <match key="usb.product_id" int="12821"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Curitel Communications, Inc. Verizon Wireless Device</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2125"> + <match key="usb.product_id" int="3"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">D-Link DSC 350+</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3428"> + <match key="usb.product_id" int="4129"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">D-Link DSC 350F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1000"> + <match key="usb.product_id" int="8496"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">D-MAX DM3588</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DC-N130t</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DC-N130ta</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3141"> + <match key="usb.product_id" int="32768"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DC31VC</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16690"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Dell Dell Pocket DJ (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="16687"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Dell DJ (2nd generation)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16700"> + <match key="usb.product_id" int="45323"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Streak 7</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16700"> + <match key="usb.product_id" int="45338"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Venue 7 inch</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16700"> + <match key="usb.product_id" int="45339"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Venue 7 inch (2nd ID)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16700"> + <match key="usb.product_id" int="17664"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Dell Inc DJ Itty</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Digigr8</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7994"> + <match key="usb.product_id" int="3074"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">DigiLand DL701Q</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="270"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Digital camera, CD302N</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DIGITAL MID#0020509 (no-name camera)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1498"> + <match key="usb.product_id" int="4120"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DigitalDream Enigma1.3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DigitalDream l'elegante</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DigitalDream l'elite</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4483"> + <match key="usb.product_id" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion XS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1498"> + <match key="usb.product_id" int="4128"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion xtra</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DigitalDream l'esprit</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">DigitalDream la ronde</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2726"> + <match key="usb.product_id" int="24609"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Disney MixMax</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36944"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Disney pix micro</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36946"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Disney pix micro 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4310"> + <match key="usb.product_id" int="8704"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Dunlop MP3 player 1GB / EGOMAN MD223AFD</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="270"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Elta Medi@ digi-cam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="271"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Emprex PCD3600</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1208"> + <match key="usb.product_id" int="1027"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Epson PhotoPC 3000z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1208"> + <match key="usb.product_id" int="1026"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Epson PhotoPC 850z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10608"> + <match key="usb.product_id" int="8200"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Fly Evo Tech 4</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10608"> + <match key="usb.product_id" int="3074"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Fly iq4415 era style 3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6018"> + <match key="usb.product_id" int="16385"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Fly iq449</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1747"> + <match key="usb.product_id" int="8634"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">FOMA D905i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3530"> + <match key="usb.product_id" int="2"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji Axia Eyeplate</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3530"> + <match key="usb.product_id" int="2"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji Axia Slimshot</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="330"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A330</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="466"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A800</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="454"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A820</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="467"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A920</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="539"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix AV-150</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="403"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix E900</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="480"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F100fd</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="448"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F20</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="484"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F200 EXR</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="411"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F30</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="449"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F31fd</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="453"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F40fd</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="468"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F50fd</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="486"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F60fd</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="506"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F70 EXR</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="526"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F80EXR</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="557"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix H20EXR</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="625"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix HS30EXR</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="592"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix JX370</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="477"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1000fd</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="475"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S100fs</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="495"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1500</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="512"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1800</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="488"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2000HD</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="521"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2500HD</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="576"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2950</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="637"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2980</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="613"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S4300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="664"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S4850</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="452"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S5700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="471"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S5800</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="447"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S6500fd</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="322"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S7000</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="399"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S9500</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="668"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix SL1000</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="563"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix T200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="622"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X-S1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="611"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="678"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X20</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="648"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix XF1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="472"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z100fd</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="513"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z35</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="525"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z700EXR</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="510"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji Fujifilm A220</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="693"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji Fujifilm X-E2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji IX-1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1227"> + <match key="usb.product_id" int="451"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Fuji S5 Pro</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">FujiFilm @xia ix-100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1221"> + <match key="usb.product_id" int="4416"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Fujitsu, Ltd F903iX HIGH-SPEED</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1221"> + <match key="usb.product_id" int="4923"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Fujitsu, Ltd STYLISTIC M532</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2334"> + <match key="usb.product_id" int="9605"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Garmin Monterra</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Gear to go</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Generic SoundVision Clarity2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1112"> + <match key="usb.product_id" int="28677"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Genius Smart 300, version 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1037"> + <match key="usb.product_id" int="34908"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Gensis GT-7305 </merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1044"> + <match key="usb.product_id" int="8200"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Gigabyte RCT6773W22 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1044"> + <match key="usb.product_id" int="3074"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Gigabyte RCT6773W22 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Global Point 3 in 1 Digital Fun Graffiti 00044</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Global Point Clipster</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Global Point Splash Mini (underwater camera)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="7"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Ainol Novo) Fire/Flame</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="6"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Allwinner) A31 SoC</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="20033"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) Nexus 7 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="20034"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) Nexus 7 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="19983"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) TF101 Transformer</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="19712"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) TF201 Transformer</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="11522"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Barnes & Noble) Nook Color</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="29706"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Lenovo) Ideapad K1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="53514"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics) P990/Optimus</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="53513"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics) P990/Optimus (Cyanogen)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="20193"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="20194"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="45066"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Medion) MD99000 (P9514)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="28840"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Motorola) Xoom (MZ604)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="20005"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Samsung) Nexus S (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="20006"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Samsung) Nexus S (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="1459"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Sony) S1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="28930"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Inc (for Toshiba) Thrive 7/AT105</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6353"> + <match key="usb.product_id" int="20197"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Google Nexus 5 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="9842"> + <match key="usb.product_id" int="17"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">GoPro HERO3+</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1943"> + <match key="usb.product_id" int="32796"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">GrandTek ScopeCam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">GTW Electronics</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4866"> + <match key="usb.product_id" int="4118"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Haier Ibiza Rhapsody 1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4866"> + <match key="usb.product_id" int="4119"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Haier Ibiza Rhapsody 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="270"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Haimei Electronics HE-501A</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Hawking DC120 Pocketcam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="32285"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 10 HD</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="23837"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 7 2800</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="23581"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 7 4600</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4251"> + <match key="usb.product_id" int="37126"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Hisense E860 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4251"> + <match key="usb.product_id" int="37129"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Hisense E860 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4251"> + <match key="usb.product_id" int="37125"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HiSense Sero 7 Pro</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="25858"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 120 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="25090"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 215</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="31746"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 217 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="32002"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 317 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="25346"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 318 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="26114"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 320 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="29698"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 407 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="30722"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 417 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="29186"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 43x (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="28162"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 507 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="30978"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 517 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="27906"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 607 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="25346"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 612 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="16642"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 618</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="26626"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 620 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="28930"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 635 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="27394"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 707 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="25602"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 715 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="30210"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 717 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="26370"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 720 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="27650"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 733 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="27138"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 735 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="16898"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 812 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="30466"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 817 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="32258"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 818 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="17154"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 850 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="16642"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 912</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="17410"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 935 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="17666"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 945 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="16642"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="24578"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="61443"> + <match key="usb.product_id" int="24578"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="35586"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart E327 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="35842"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart E427 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="29954"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M22 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="31490"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M23 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="29442"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M307 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="31234"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M415 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="32770"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M425 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="33026"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M525 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="33282"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M527 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="39682"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M547 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="33794"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M725 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="34050"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M727 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="38402"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M737 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="38658"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R742 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="34562"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R927 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1008"> + <match key="usb.product_id" int="34818"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R967 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="26716"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC (for Hewlett-Packard) HP Touchpad (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="26720"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC (for Hewlett-Packard) HP Touchpad (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3074"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC Android Device ID1 (Zopo, HD2, Bird...)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="8200"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC Android Device ID2 (Zopo, HD2...)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3782"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC Desire 310 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3773"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC Droid DNA (MTP+UMS)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3583"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC Droid DNA (MTP+UMS+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3219"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC EVO 4G LTE/One V (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3240"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC EVO 4G LTE/One V (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3582"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC Butterfly (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3556"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC Butterfly X290d</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="1533"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC Desire 510 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3541"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC Desire X</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3633"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC Droid Incredible 4G LTE (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3634"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC Droid Incredible 4G LTE (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3573"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC Evo 4G LTE (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="1966"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One (HTC6500LVW)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3546"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3985"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One (ID3)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3940"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3939"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3975"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB+?)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3935"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB+CDC)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3936"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+CDC)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3562"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+UMS+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3538"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One 802w (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="1994"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (HTC6525LVW)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3877"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="1562"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="4020"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+ADB+UMS)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="4021"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+UMS)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="1995"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (Verizon) (HTC6525LVW)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="2009"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One Remix (HTC6515LVW)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3308"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3576"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3577"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID3)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3578"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3579"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3580"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID3)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3581"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID4)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="2008"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC HTC6515LVW/One Remix</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="8210"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC Motorola Razr D1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="1547"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC One M8 Google Play Edition (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="3533"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC One Mini (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="61642"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8s ID1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="2977"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8X ID1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2996"> + <match key="usb.product_id" int="2978"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8X ID2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4817"> + <match key="usb.product_id" int="4226"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Huawei Ascend P8 </merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4817"> + <match key="usb.product_id" int="13839"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Huawei Mediapad (mode 0)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4817"> + <match key="usb.product_id" int="13855"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Huawei Mediapad (mode 1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4817"> + <match key="usb.product_id" int="4177"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Huawei MTP device (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4817"> + <match key="usb.product_id" int="4178"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Huawei MTP device (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37203"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">iClick 5X</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">iConcepts digital camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1161"> + <match key="usb.product_id" int="49189"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">InFocus M810</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="270"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">INNOVAGE Mini Digital, CD302N</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6655"> + <match key="usb.product_id" int="771"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Insignia NS-DV45</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6655"> + <match key="usb.product_id" int="777"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Insignia Pilot 4GB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6655"> + <match key="usb.product_id" int="775"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Insignia Sport Player</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="32903"> + <match key="usb.product_id" int="2655"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Intel Chuwi vi8</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="32903"> + <match key="usb.product_id" int="2581"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Intel Foxconn iView i700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="32903"> + <match key="usb.product_id" int="2582"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Intel Noblex T7A21</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="32902"> + <match key="usb.product_id" int="1584"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Intel Pocket PC Camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="32903"> + <match key="usb.product_id" int="2654"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Intel Telcast Air 3G</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="32903"> + <match key="usb.product_id" int="2555"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Intel Xolo 900/AZ210A</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">IOMagic MagicImage 400</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="271"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">ION digital camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4394"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver Clix</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4390"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver Clix2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4417"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver E100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4418"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver E100 v2/Lplayer</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4434"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver E150</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4455"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver E30</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4433"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver E50</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="8449"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver H10 20GB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="8453"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver H10 5.6GB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="8450"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver H10 5GB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4102"> + <match key="usb.product_id" int="12292"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver H300 Series MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4104"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver iFP-880</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4386"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver N12</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4102"> + <match key="usb.product_id" int="16386"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver Portable Media Center 1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4102"> + <match key="usb.product_id" int="16387"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver Portable Media Center 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4423"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver Spinn</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4371"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver T10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4384"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver T10 2GB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4375"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver T10b</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4373"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver T20</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4372"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver T20 FM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4376"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver T20b</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4377"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver T30</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4435"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver T5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4404"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver T60</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4162"> + <match key="usb.product_id" int="4419"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver T7 Volcano</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7784"> + <match key="usb.product_id" int="4098"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver Tolino Tab 7</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4374"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver U10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="16642"> + <match key="usb.product_id" int="4402"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">iRiver X20</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2848"> + <match key="usb.product_id" int="56814"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Isabella Her Prototype</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1924"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ixla DualCam 640</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Jazwares Star Wars no. 15256</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Jazz JDC9</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Jazz JDK235</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="13056"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Jenoptik JD-3300z3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="16640"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Jenoptik JD-4100z3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1498"> + <match key="usb.product_id" int="4102"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Jenoptik JD350 entrance</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="0"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Jenoptik JD350 video</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Jenoptik JDC 350</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10545"> + <match key="usb.product_id" int="2561"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Jolla Sailfish (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10545"> + <match key="usb.product_id" int="2565"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Jolla Sailfish (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1265"> + <match key="usb.product_id" int="24837"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">JVC Alneo XA-HD500</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2126"> + <match key="usb.product_id" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">KBGear JamCam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2856"> + <match key="usb.product_id" int="4108"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Kenwood Media Keg HD10GB7 Sport Player</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8759"> + <match key="usb.product_id" int="53512"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Kobo Arc (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8759"> + <match key="usb.product_id" int="53513"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Kobo Arc (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8759"> + <match key="usb.product_id" int="45320"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Kobo Arc 7 HD</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1559"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C1530</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1547"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C183</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1406"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1418"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C310</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1420"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C330</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1421"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C340</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1417"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C360</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1450"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C433</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1434"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C530</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1442"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C533</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1463"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C613</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1466"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C633</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1447"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C643</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1455"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C653</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1454"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C743</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1475"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C813</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1449"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C875</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1478"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak C913</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1436"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CD33</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1376"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX4200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1376"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX4210</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1333"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX4230</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1382"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX4300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1382"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX4310</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1396"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX6200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1395"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX6230</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1393"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX6330</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1412"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX6445</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1401"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX7220</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1400"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX7300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1400"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX7310</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1402"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX7330</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1403"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX7430</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1414"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX7525</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1404"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak CX7530</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DC220</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="288"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DC240</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="289"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DC240 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="272"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DC260</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="273"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DC265</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="304"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DC280</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="274"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DC290</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="306"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DC3400</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="352"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DC4800</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="305"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DC5000</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1317"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX3215</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1280"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX3500</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1296"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX3600</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1328"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX3700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="368"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX3900</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1365"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX4330</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1398"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX4530</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1360"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX4900</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1392"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX6340</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1394"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX6440</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1397"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX6490</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1405"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX7440</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1407"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX7590</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1399"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak DX7630</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="768"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak EZ200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1344"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak LS420</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1384"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak LS443</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1385"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak LS663</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1381"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak LS743</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1383"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak LS753</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1486"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak M1063</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1536"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak M531</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1439"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak M753</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1473"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak M863</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1453"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak M883</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1413"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak M893 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1024"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak MC3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1426"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak P850</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1427"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak P880</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1422"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak V530</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1423"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak V550</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1425"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak V570</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1440"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak V603</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1452"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak V610</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1451"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak V705</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1464"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak V803</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1437"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z612</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1438"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z650</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1415"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1459"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z710</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1460"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z712 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1408"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z730</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1416"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z740</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1027"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z7590</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1461"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z812 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1429"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z8612 IS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1487"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z915</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1485"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak Z950</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1034"> + <match key="usb.product_id" int="1472"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Kodak ZD710</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1224"> + <match key="usb.product_id" int="1826"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Konica e-mini</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4907"> + <match key="usb.product_id" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE A2 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4907"> + <match key="usb.product_id" int="25"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE A200 (PictBridge mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4907"> + <match key="usb.product_id" int="9"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE X21 (PictBridge mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4907"> + <match key="usb.product_id" int="7"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z2 (PictBridge mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4907"> + <match key="usb.product_id" int="24"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z3 (PictBridge mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4907"> + <match key="usb.product_id" int="34"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z5 (PictBridge mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7994"> + <match key="usb.product_id" int="4102"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Kurio 7S</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1154"> + <match key="usb.product_id" int="2425"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Kyocera DuraForce</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1154"> + <match key="usb.product_id" int="2064"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Kyocera KYL22</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1154"> + <match key="usb.product_id" int="1393"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Kyocera Rise</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1154"> + <match key="usb.product_id" int="1434"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Kyocera Torque Model E6715</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36945"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Lego Bionicle</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9077"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Leica D-LUX 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6808"> + <match key="usb.product_id" int="2"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Leica M9</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30519"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo A3500-F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30507"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo A5500-F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="29848"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo A820</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30140"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaPad A3000 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30142"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaPad A3000 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30018"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab A2109A</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30077"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab S2210a</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30440"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab S5000</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="29706"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo K1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30851"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo K3 Note</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30133"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo K900 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30554"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo LifeTab E733X</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="29900"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo Lifetab S9512</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="3074"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo P70-A</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="29847"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo P700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="29862"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo P780</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="29944"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo S660</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30488"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo S930</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="29724"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo ThinkPad Tablet</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30450"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo Toga Tablet B6000-F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30698"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo Vibe Z2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30463"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo Yoga Tablet 10 B8000-H</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="30641"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Lenovo Yoga Tablet 2 Pro</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25073"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Android phone (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25081"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Android phone (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25215"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. G3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25198"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. G3 (VS985)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="24859"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. GR-500 Music Player</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="24719"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. KC910 Renoir Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="24882"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. KM900</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25406"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG G Flex 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25145"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS870</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25149"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS890</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25116"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS980</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25125"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG2 Optimus</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="24986"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG8575</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1086"> + <match key="usb.product_id" int="28736"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. T54</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1086"> + <match key="usb.product_id" int="28849"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. UP3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25372"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Various E and P models</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="25189"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. VK810</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="24592"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. VX8550 V CAST Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4100"> + <match key="usb.product_id" int="24581"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">LG T5100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="16640"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Lifetec LT 5995</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="5073"> + <match key="usb.product_id" int="28674"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Logik LOG DAX MP3 and DAB Player</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1133"> + <match key="usb.product_id" int="2304"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Logitech Clicksmart 310</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1133"> + <match key="usb.product_id" int="2384"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Logitech Pocket Digital</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="16640"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Maginon SX-410z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="13056"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Maginon SX330z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Magpix B350</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1276"> + <match key="usb.product_id" int="20555"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Maxell Max Pocket</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1647"> + <match key="usb.product_id" int="33900"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Maxfield G-Flash NG 1GB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Media-Tech mt-406</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3725"> + <match key="usb.product_id" int="80"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">MediaTek Inc MT5xx and MT6xx SoCs</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1032"> + <match key="usb.product_id" int="45066"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Medion Lifetab P9514</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6127"> + <match key="usb.product_id" int="29827"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Medion Lifetab P9516</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1276"> + <match key="usb.product_id" int="20554"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Medion MD 5319</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="16640"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Medion MD 6000</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8709"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Medion MD 6126</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="16642"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Medion MD 9700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1647"> + <match key="usb.product_id" int="34128"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Medion MD8333 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1647"> + <match key="usb.product_id" int="34184"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Medion MD8333 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1032"> + <match key="usb.product_id" int="45065"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Medion MD99000 (P9514)/Olivetti Olipad 110</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4721"> + <match key="usb.product_id" int="8210"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Megafon Login+</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8222"> + <match key="usb.product_id" int="17067"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Megafon MFLogin3T</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10821"> + <match key="usb.product_id" int="8200"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Meizu MX Phone (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10821"> + <match key="usb.product_id" int="3074"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Meizu MX Phone (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4310"> + <match key="usb.product_id" int="8960"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Memorex or iRiver MMP 8585/8586 or iRiver E200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3504"> + <match key="usb.product_id" int="21874"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Micro-Star International P610/Model MS-5557</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Micromaxx Digital Camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1118"> + <match key="usb.product_id" int="1600"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Microsoft Kin 1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1118"> + <match key="usb.product_id" int="1570"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Microsoft Windows MTP Simulator</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1118"> + <match key="usb.product_id" int="1260"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Microsoft Windows Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1118"> + <match key="usb.product_id" int="1808"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Microsoft Zune</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1118"> + <match key="usb.product_id" int="1598"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Microsoft Zune HD</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1118"> + <match key="usb.product_id" int="61642"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Microsoft/HTC HTC 8S</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1118"> + <match key="usb.product_id" int="201"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Microsoft/Intel Bandon Portable Media Center</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1118"> + <match key="usb.product_id" int="1601"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Microsoft/Sharp/nVidia Kin TwoM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3141"> + <match key="usb.product_id" int="32776"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Mini Shotz ms-350</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2125"> + <match key="usb.product_id" int="3"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Minton S-Cam F5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Mitek CD10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Mitek CD30P</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="24778"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola A1200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="28808"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Atrix MB860 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="25807"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Atrix XT687 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11826"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Atrix/Razr HD (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11827"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Atrix/Razr HD (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11879"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Droid Maxx (XT1080)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11941"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Droid Turbo (XT1254)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11944"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Droid Turbo Verizon</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11880"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Droid Ultra</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="16854"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Droid X/MB525 (Defy)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="16858"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola DROID2 (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="17063"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola DROID2 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="17279"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola DROID4</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="17267"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola DROID4 (PTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="18449"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola IdeaPad K1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="16860"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Milestone / Verizon Droid</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="28874"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Milestone X2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11894"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11906"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11908"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (XT1032)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11874"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1053)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11875"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1058)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11878"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1080)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="25619"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola MTP Test Command Interface</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="25781"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Razr D1/D3/i (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="25782"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Razr D1/D3/i (MTP+?)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11856"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola RAZR M XT907 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="11857"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola RAZR M XT907 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="25621"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola RAZR2 V8/U9/Z6</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="10853"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola V3m/V750 verizon</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="28835"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (Factory test)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="28840"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="28841"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="17169"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="17158"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="16847"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition (ID3)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="28941"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola XT890/907/Razr (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="28942"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola XT890/907/Razr (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8888"> + <match key="usb.product_id" int="17250"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Motorola XT912/XT928</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1375"> + <match key="usb.product_id" int="49664"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Mustek gSmart 300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1375"> + <match key="usb.product_id" int="41808"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Mustek gSmart 350</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1375"> + <match key="usb.product_id" int="49696"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1375"> + <match key="usb.product_id" int="50208"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1375"> + <match key="usb.product_id" int="50464"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini 3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2726"> + <match key="usb.product_id" int="38401"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">MyMusix PD-6070</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1033"> + <match key="usb.product_id" int="806"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">NEC Casio C811</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1033"> + <match key="usb.product_id" int="1074"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">NEC Casio CA-201L</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1033"> + <match key="usb.product_id" int="578"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">NEC FOMA N01A</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1026"> + <match key="usb.product_id" int="22120"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nextar MA715A-8R</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Nexxtech Mini Digital Camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="770"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="279"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="290"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2200 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="291"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2200v1.1 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="265"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="277"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="289"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3200 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="273"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="285"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3700 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="301"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="516"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4200 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="271"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4300 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="267"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="304"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4600 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="305"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4600a (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="297"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4800 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="275"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="518"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5200 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="281"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5400 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="302"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5600 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="269"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5700 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="309"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5900 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="313"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 7600 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="311"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 7900 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="287"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 8700 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="259"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon CoolPix 880</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="295"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 8800 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="274"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 885 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="401"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 9400 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="258"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon CoolPix 990</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="550"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix A (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="392"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix AW100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="520"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L1 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="779"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L10 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="777"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L11 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="382"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L110 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="351"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L12 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="389"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L120 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="789"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L16 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="792"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L19 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="791"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L20 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="804"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L23 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="835"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L27</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="773"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L4 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="402"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L820 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="320"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P1 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="381"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="322"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P2 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="545"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P300 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P330 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="524"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P4 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="361"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P50 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="388"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="347"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P5000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="547"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P510 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="355"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P5100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="552"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P520 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="785"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P60 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="367"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P6000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="383"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="395"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="549"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7700 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="553"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7800 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="363"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P80 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="364"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P80 v1.1 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="371"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P90 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="823"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S01</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="838"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S02</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="334"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="353"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S200 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="375"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S220 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="376"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S225 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="801"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="813"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2600 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="831"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="795"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="800"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="820"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="810"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3300 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="324"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S4 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="809"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S4300 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="349"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="544"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S5100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="334"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S6 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="369"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S60 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="542"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S6000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="540"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S620 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="343"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S7c (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="543"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S8000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="546"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S8200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="390"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="403"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="843"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix SQ (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1028"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon D2H SLR (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1036"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon D2Hs (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1032"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon D2X SLR (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1052"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon D3 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1034"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon D50 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1026"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1040"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D200 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1046"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D2Xs (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1050"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D300 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1060"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1061"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D300s (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1063"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1068"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1075"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1062"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3s (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1056"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3x (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1067"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D4</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1044"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D40 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1048"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D40x (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1077"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D4s</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1059"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1065"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1071"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1073"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1054"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D60 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1069"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D600</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D610</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1030"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D70 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1058"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D700 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1064"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D7000 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1038"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D70s (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1072"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D7100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1079"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D750</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1042"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D80 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1066"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D800</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1070"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D800E</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1078"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D810</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1057"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon DSC D90 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1538"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon J1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1539"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon J2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1541"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon J3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1545"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon J4</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1542"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon S1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1537"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon V1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1200"> + <match key="usb.product_id" int="1540"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nikon V2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1276"> + <match key="usb.product_id" int="20554"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">nisis Quickpix Qp3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="548"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">NogaNet TDC-15</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="705"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 2710</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="101"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 3109c Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="95"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 3110c Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1122"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 3250 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="494"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 3710</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="521"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5130 XpressMusic</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1214"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5200 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="738"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5230</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1210"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5300 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="108"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5310 XpressMusic</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="234"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5320 XpressMusic</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1150"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5500 Sport Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="553"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5530</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1204"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5700 XpressMusic Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="340"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="341"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic v2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="345"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic v3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="46"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 6120c Classic Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="152"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 6210 Navigator</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="141"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 6220 Classic</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="60"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 6500c Classic Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="663"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 6600i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1491"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia 808 PureView</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1426"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia C5-00</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="961"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia C7</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="973"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia C7 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="463"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia E52</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="815"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia E6</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="377"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia E63</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="229"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia E66</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="820"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia E7</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="821"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia E7 (Ovi mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="228"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia E71</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="417"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia E71x</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="545"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia E72</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1788"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia Lumia (RM-975)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1638"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia Lumia 301</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1633"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia Lumia WP8</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1316"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1160"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Nokia N73</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1233"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N73 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1249"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N75 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="121"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N78 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="390"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N79</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="766"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N8</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="770"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N8 (Ovi mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1265"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N80 Internet Edition (Media Player)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="10"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N81 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="116"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N82 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="146"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N85 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1306"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N9</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1157"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N91 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1144"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N93 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1253"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N93i Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1263"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N95 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="110"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N95 Mobile Phone 8GB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="978"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N950</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="57"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N96 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="501"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N97</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="619"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N97 mini</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="500"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia N97-1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="628"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia X6</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1057"> + <match key="usb.product_id" int="1768"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Nokia XL</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="5891"> + <match key="usb.product_id" int="1"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">NormSoft, Inc. Pocket Tunes</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="5891"> + <match key="usb.product_id" int="2"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">NormSoft, Inc. Pocket Tunes 4</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2389"> + <match key="usb.product_id" int="28841"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">nVidia CM9-Adam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2389"> + <match key="usb.product_id" int="46080"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">nVidia Shield (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2389"> + <match key="usb.product_id" int="52999"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">nVidia Shield (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2389"> + <match key="usb.product_id" int="52994"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">nVidia Tegra Note</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2389"> + <match key="usb.product_id" int="28928"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">nVidia Various tablets (ID1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2389"> + <match key="usb.product_id" int="28930"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">nVidia Various tablets (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7763"> + <match key="usb.product_id" int="6"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">O2 Sistemas ZoltarTV</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus C-2100UZ</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus C-3000Z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus C-3030Z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="276"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus C-310Z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="276"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus C-350Z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="276"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus C-5500Z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="276"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus C-55Z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="276"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus D-540Z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="276"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus D-560Z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="272"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus E series (Control)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="303"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus E-M5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="303"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus E-PL5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="278"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus FE4000</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="276"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus IR-300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="275"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus mju 500</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="303"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus SP-720UZ</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="276"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus X-100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="276"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus X-250</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="278"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus X920</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1972"> + <match key="usb.product_id" int="278"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Olympus X925</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8921"> + <match key="usb.product_id" int="10085"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Oppo Find 7 (ID 1)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8921"> + <match key="usb.product_id" int="10100"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Oppo Find 7 (ID 2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8921"> + <match key="usb.product_id" int="10099"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Oppo X9006</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Oregon Scientific DShot II</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Oregon Scientific DShot III</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FS62</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ20</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ38</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ45</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ50</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-GF1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LS2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LS3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LX7</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ15</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ18</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="9076"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ8</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="8517"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Panasonic P905i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1242"> + <match key="usb.product_id" int="8536"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Panasonic P906i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4204"> + <match key="usb.product_id" int="61443"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Pantech Crux</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7501"> + <match key="usb.product_id" int="20534"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Pegatron Chagall</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7501"> + <match key="usb.product_id" int="20533"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Pegatron Chagall (ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7501"> + <match key="usb.product_id" int="20554"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Pegatron Hudl 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Pencam TEVION MD 9456</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="9723"> + <match key="usb.product_id" int="357"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Pentax K3 (PTP Mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2583"> + <match key="usb.product_id" int="13"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Pentax Optio 43WR</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2583"> + <match key="usb.product_id" int="247"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Pentax Optio W90</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2726"> + <match key="usb.product_id" int="38658"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Perception Digital, Ltd Gigaware GX400</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8316"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear Aria</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8377"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear Ariaz</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8504"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear Ariaz/97</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="357"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear Audio</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8311"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear Muse</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8334"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA1VBE08KX/78</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8196"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA3345</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="2135"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA5145</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="2126"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA6014/SA6015/SA6024/SA6025/SA6044/SA6045</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8194"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA6125/SA6145/SA6185</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="335"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA9200</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8309"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear ViBE SA1VBE04</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8315"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear ViBE SA1VBE04/08</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8375"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear VIBE SA2VBE[08|16]K/02</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8421"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips GoGear Vibe/02</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="333"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips HDD085/00 or HDD082/17</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="332"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips HDD14XX,HDD1620 or HDD1630/17</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="491"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips HDD6320</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="331"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips HDD6320/00 or HDD6330/17</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="6411"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips i908</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="270"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Philips P44417B keychain camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8592"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips PI3900B2/58 </merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="32257"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips PSA235</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="385"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips PSA610</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="356"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips SA1115/55</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="8226"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips SA5285</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1137"> + <match key="usb.product_id" int="370"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Philips Shoqbox</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Phoebe Smartcam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2276"> + <match key="usb.product_id" int="322"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Pioneer DVR-LX60D</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2276"> + <match key="usb.product_id" int="328"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Pioneer XMP3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="270"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Pixart Gemini Keychain Camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Pixie Princess Jelly-Soft</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">PockCam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1924"> + <match key="usb.product_id" int="10376"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Polaroid DC700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1350"> + <match key="usb.product_id" int="8245"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Polaroid Freescape/MPU-433158</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1350"> + <match key="usb.product_id" int="3503"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Polaroid PDC 2300Z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Praktica Slimpix</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Precision Mini Digital Camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="271"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Precision Mini, Model HA513A</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10724"> + <match key="usb.product_id" int="4611"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Prestigio 5504 DUO </merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10724"> + <match key="usb.product_id" int="4355"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Prestigio 5505 DUO </merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1924"> + <match key="usb.product_id" int="21248"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Pretec dc530</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1276"> + <match key="usb.product_id" int="65535"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">PureDigital Ritz Disposable</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1478"> + <match key="usb.product_id" int="34816"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Gigabyte) GSmart G1342</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1478"> + <match key="usb.product_id" int="61443"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Highscreen) Omega Prime S</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1478"> + <match key="usb.product_id" int="553"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Nokia) 5530 Xpressmusic</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1478"> + <match key="usb.product_id" int="12694"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Nokia/Verizon) 6205 Balboa/Verizon Music Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1478"> + <match key="usb.product_id" int="26468"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Qualcomm (for OnePlus) One (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1478"> + <match key="usb.product_id" int="26469"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Qualcomm (for OnePlus) One (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1478"> + <match key="usb.product_id" int="36921"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Qualcomm (for PhiComm) C230w (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1478"> + <match key="usb.product_id" int="36901"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Smartfren) Andromax U</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">QuickPix QP1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3530"> + <match key="usb.product_id" int="4"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Radioshack Flatfoto</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1924"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">RCA CDS1005</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="4704"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Redmi 1S (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="4712"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Redmi HM 1S (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Request Ultra Slim</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8715"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Capilo RX</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8707"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio 300G</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8708"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio G3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8712"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio G4</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8716"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="805"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8724"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX 8</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="813"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX 8 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8717"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8722"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1v</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="811"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1v (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8723"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8726"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="815"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R3 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8727"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R4</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8730"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="272"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R5 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8706"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RR30</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="829"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RR750 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8717"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RZ1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4042"> + <match key="usb.product_id" int="32775"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">RIM BlackBerry Storm/9650</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8719"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Rollei dr5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8719"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Rollei dr5 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37181"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar 23070 Crayola Digital Cam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37181"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar 28290 and 28292 Digital C</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37181"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar 92045 Spiderman</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar clipshot no. 1169x</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3141"> + <match key="usb.product_id" int="32771"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Digital Keychain 11199</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3141"> + <match key="usb.product_id" int="32771"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Digital no, 6637x</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3141"> + <match key="usb.product_id" int="32771"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Digital no, 67480</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="270"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Digital no. 56379 Spyshot</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="271"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Digital no. 77379</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Dora the Explorer no. 88067</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Hello Kitty no. 94009</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Kidz Cam 86379</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Kidz-Cam no. 88379</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Micro Digital 2428x</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Nickelodeon iCarly no. 88061</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="271"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar no. 1638x CyberPix</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar no. 75379</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar no. 81890</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar no. 91379</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar no. 98379</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Star Wars kit no. 92022</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sakar Sticker Wizard no. 59379</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26726"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Samsung EK-GC100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26407"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung F250 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26720"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26716"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26743"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models Kies mode</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26450"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung GT-B2700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26799"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung GT-B2710/Xcover 271</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="57868"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung GT-S5230</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26649"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung GT-S8500</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="1188"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung I550W Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20255"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung Jet S8000</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26420"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung Juke (SCH-U470)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26178"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung M7600 Beat/GT-S8300T/SGH-F490/S8300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="5132"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Samsung NX1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="4996"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Samsung NX1000</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26698"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Samsung S5620</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26467"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung SAMSUNG Trance</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26377"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung U600 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26793"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung Vibrant SGH-T959/Captivate/Media player mode</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="26370"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung X830 Mobile Phone</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20526"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YH-820</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20509"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YH-920 (501d)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20514"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YH-920 (5022)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20527"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YH-925(-GS)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20516"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YH-925GS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="23055"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900/Verizon Intensity/Fascinate</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20531"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YH-J70J</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="1033"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-900</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20567"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-F2J</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20609"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-K3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20570"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-K5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20760"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-M1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20611"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-P2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20762"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-P3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20757"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20765"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20784"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20773"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-R0</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20751"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-R1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20782"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-R2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20625"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-S3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20619"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-S5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20618"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-T10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20551"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-T7J</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20607"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-T9</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20564"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-U2J (YP-U2JXB/XAA)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20605"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-U3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20627"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-U4</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20769"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-U5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20791"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-Z3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1256"> + <match key="usb.product_id" int="20540"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Samsung YP-Z5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29712"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c150</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29776"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c240/c250</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29778"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c250 v2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29746"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29748"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip v2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29924"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip Zip</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29904"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip+</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29824"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Connect</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29728"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa e200/e250/e260/e270/e280</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29730"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa e260/e280 v2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29792"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Express</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29888"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29890"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze v2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29920"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze+</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29697"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m200-tcc (MTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29696"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m230/m240</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29744"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m240/m250</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1921"> + <match key="usb.product_id" int="29872"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa View</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1140"> + <match key="usb.product_id" int="560"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sanyo VPC-C5 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1943"> + <match key="usb.product_id" int="35073"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35a</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1943"> + <match key="usb.product_id" int="35081"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35b</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1943"> + <match key="usb.product_id" int="35089"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35c</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2125"> + <match key="usb.product_id" int="4097"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35d</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Scott APX 30</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="851"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sea & Sea 2G (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="8718"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Sea & Sea 5000G</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1482"> + <match key="usb.product_id" int="807"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sea & Sea 5000G (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Shark 2-in-1 Mini</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Shark SDC-513</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Shark SDC-519</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1245"> + <match key="usb.product_id" int="38497"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SBM203SH</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1245"> + <match key="usb.product_id" int="38602"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SH-06E</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1161"> + <match key="usb.product_id" int="49189"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SH930W</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="270"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Shift3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1647"> + <match key="usb.product_id" int="40976"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SigmaTel Inc. MTPMSCN Audio Player</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3191"> + <match key="usb.product_id" int="4113"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SiPix Blink 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3191"> + <match key="usb.product_id" int="4117"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SiPix CAMeleon</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3191"> + <match key="usb.product_id" int="4098"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SiPix SC2100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3191"> + <match key="usb.product_id" int="4112"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SiPix Snap</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3428"> + <match key="usb.product_id" int="4097"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SiPix Stylecam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3191"> + <match key="usb.product_id" int="4097"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SiPix Web2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6390"> + <match key="usb.product_id" int="258"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sirius Stiletto</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6390"> + <match key="usb.product_id" int="272"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sirius Stiletto 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="13056"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Skanhex SX-330z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7132"> + <match key="usb.product_id" int="64191"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Slacker Inc. Slacker Portable Media Player</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3530"> + <match key="usb.product_id" int="2"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SMaL Ultra-Pocket</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3783"> + <match key="usb.product_id" int="4104"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">So. Show 301</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1870"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A3000</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1990"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5000 (Control)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="2391"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5100 (Control)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="2279"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5100 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="2382"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A6000 (Control)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="2231"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A6000 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="2387"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A77 M2 (Control)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="2381"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7r (Control)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="2388"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7S (Control)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="2274"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7S (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="4756"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony DCR-SR75</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="704"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-A100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="743"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-A900 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-F707V (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-F717 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-F828 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-H1 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-H2 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-H5 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1347"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX100V (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1567"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX200V (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1774"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX300 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1169"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX5V (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="2221"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX60V (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-N2 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P10 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P120 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P200 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P30 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P31 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P32 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P41 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P43 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P5 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P50 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P51 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P52 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P71 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P72 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P73 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P92 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-P93 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-R1 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1323"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX1 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1322"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX100 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1867"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX100M2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-S40 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-S60 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="662"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-S730 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-S75 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="662"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-S780 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-S85 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-T1 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-T10 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-T3 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-U10 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-U20 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-V1 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-W1 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-W12 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="835"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-W130 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="760"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-W200 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-W35 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1340"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-W510 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony DSC-W55 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20853"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro HD MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="41333"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro HD MTP+UMS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="45429"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro MTP+UMS+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="370"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20850"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16754"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="390"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20870"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16774"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="361"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20841"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16745"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="373"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD IS12S MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16757"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD IS12S MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="374"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD SO-03D MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16758"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD SO-03D MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="375"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20855"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16759"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="41335"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+UMS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="45431"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+UMS+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="376"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20856"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16760"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="386"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20866"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16770"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="371"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20851"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16755"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="41331"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+UMS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="45427"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+UMS+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony MVC-CD300 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony MVC-CD500 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1839"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony NEX-3N (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1656"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony NEX-6</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="860"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A726/NWZ-A728/NWZ-A768</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="805"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A815/NWZ-A818</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="859"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A826/NWZ-A828/NWZ-A829</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1028"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A845</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="878"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B135</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="984"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B142F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1214"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B153F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1434"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B163F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1673"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B173F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1020"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E344/E345</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1227"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E354</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="901"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E436F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1021"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E445</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1446"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E464</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="806"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S516</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1022"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S545</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="807"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S615F/NWZ-S616F/NWZ-S618F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="910"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S638F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="858"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S716F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="908"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S739F</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1228"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S754</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1448"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S765</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="904"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-W202</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1211"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-W252B</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="919"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-X1050B/NWZ-X1060B</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="920"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony NWZ-X1051/NWZ-X1061</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="78"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony PTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1191"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony SLT-A35 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="801"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony SLT-A350 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1187"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony SLT-A55 (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1641"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony SLT-A57</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1846"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony SLT-A58</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1847"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony SLT-A58 (Control)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1396"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony SLT-A65V (PTP mode)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1653"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">Sony SLT-A99v</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20854"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro HD MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="41334"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro HD MTP+UMS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="45430"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro MTP+UMS+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="385"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20865"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16769"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1233"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet P1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1459"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet S</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1356"> + <match key="usb.product_id" int="1460"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet S1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="369"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST15i Xperia U MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="368"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20848"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16752"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="384"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20864"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16768"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20849"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST25i Xperia U MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16753"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST25i Xperia U MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="382"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20862"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16766"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="41342"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+UMS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="45438"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+UMS+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="365"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY WT19i Live Walkman MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="408"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia A MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20888"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia A MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="419"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20899"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16803"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="396"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20876"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16780"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="444"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20924"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="444"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="459"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20939"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16843"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="392"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20872"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16776"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="402"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20882"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16786"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="411"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20891"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16795"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="427"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20907"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16811"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="426"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20906"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16810"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="405"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20885"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16789"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="397"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP 1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="404"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20877"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+ADB 1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20884"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+ADB 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16781"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+CDROM 1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16788"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+CDROM 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="403"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20883"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16787"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="438"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="406"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="412"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP (ID3)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20918"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20886"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20892"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB (ID3)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16796"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+CDROM (ID3)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="423"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact D5503</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16807"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact D5503 MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20903"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="414"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20894"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16798"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="431"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20911"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16815"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="443"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20923"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16827"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="442"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20922"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16826"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="393"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20873"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16777"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="407"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZR MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20887"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZR MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="326"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson c1605 Xperia Dual E MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20806"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson c1605 Xperia Dual E MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="217"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson C702</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="212"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson C902</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="239"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson C905</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="343"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20823"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16727"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="334"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson j108i (Cedar)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="53572"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson j10i (Elm)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="324"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson j10i2 (Elm)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="57344"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson K550i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="117"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson K850i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20815"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson LT15i Xperia Arc MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="335"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson LT15i Xperia arc S MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="346"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson MK16i Xperia MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20826"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson MK16i Xperia MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="342"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson MT11i Xperia Neo MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20822"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson MT11i Xperia Neo MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="349"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson R800/R88i Xperia Play MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20829"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson R800/R88i Xperia Play MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="358"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson SK17i Xperia Mini Pro MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20838"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson SK17i Xperia Mini Pro MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="359"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST15i Xperia Mini MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20839"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST15i Xperia Mini MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="360"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20840"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="16744"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP+CDROM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="353"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST18a Xperia Ray MTP</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20833"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST18i Xperia Ray MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="251"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson T700</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="307"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson U5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="314"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson U8i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="4296"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson W302</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="243"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson W595</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="261"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson W705/W715</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="198"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson W760i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="179"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson W890i</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="245"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson W902</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="118"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson W910</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="218"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson W980</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="274"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson W995</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4046"> + <match key="usb.product_id" int="20845"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">SonyEricsson WT19i Live Walkman MTP+ADB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Soundstar TDC-35</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SpyPen Axys</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SpyPen Cleo</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SpyPen Luxo</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SpyPen Memo</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SpyPen Xion</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SQ chip camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">StarCam CP086</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">STM USB Dual-mode camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Stop & Shop 87096</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">STV0680</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37181"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Suprema Digital Keychain Camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">SY-2107C</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1105"> + <match key="usb.product_id" int="53512"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">TCL Alcatel one touch 986+</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="5073"> + <match key="usb.product_id" int="28695"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Technika MP-709</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2726"> + <match key="usb.product_id" int="12305"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Tevion MD 81488</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1691"> + <match key="usb.product_id" int="12341"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Thomson / RCA Lyra HC308A</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1691"> + <match key="usb.product_id" int="1911"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Thomson / RCA Opal / Lyra MC4002</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1691"> + <match key="usb.product_id" int="1908"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Thomson EM28 Series</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1691"> + <match key="usb.product_id" int="1916"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Thomson Lyra MC5104B (M51 Series)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1691"> + <match key="usb.product_id" int="12314"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Thomson RCA H106</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1691"> + <match key="usb.product_id" int="12328"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Thomson scenium E308</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2329"> + <match key="usb.product_id" int="256"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Tiger Fast Flicks</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Timlex CP075</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="5008"> + <match key="usb.product_id" int="21589"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">TomTom Rider 40</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4571"> + <match key="usb.product_id" int="4096"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Topfield TF5000PVR</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="2403"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Excite AT300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="12"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="9"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEGF-40</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="29"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MET401</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="26"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEU201</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="24"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEU202</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="17"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat P10</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="15"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat P20</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="16"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat S</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="25"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat T</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="22"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat U</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="20"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat V30</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4402"> + <match key="usb.product_id" int="17207"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M11</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4402"> + <match key="usb.product_id" int="17202"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M60</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4402"> + <match key="usb.product_id" int="17205"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M61</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="4402"> + <match key="usb.product_id" int="17204"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M65</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2352"> + <match key="usb.product_id" int="28928"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Toshiba Thrive AT100/AT105</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="13056"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Traveler SX330z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3478"> + <match key="usb.product_id" int="16640"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Traveler SX410z</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7784"> + <match key="usb.product_id" int="2"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">TrekStor i.Beat Organix 2.0</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1026"> + <match key="usb.product_id" int="1553"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">TrekStor i.Beat Sweez FM</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1647"> + <match key="usb.product_id" int="33834"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">TrekStor Vibez 8/12GB</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2125"> + <match key="usb.product_id" int="3"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Trust Familycam 300</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1750"> + <match key="usb.product_id" int="46"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Trust PowerC@m 350FS</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1750"> + <match key="usb.product_id" int="45"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Trust PowerC@m 350FT</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2250"> + <match key="usb.product_id" int="272"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Trust Spyc@m 100</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1276"> + <match key="usb.product_id" int="20554"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Trust Spyc@m 500F FLASH</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1943"> + <match key="usb.product_id" int="32794"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Typhoon StyloCam</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1363"> + <match key="usb.product_id" int="514"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">UMAX AstraPen</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3428"> + <match key="usb.product_id" int="4097"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">UMAX AstraPix 320s</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.interface.class" int="6"> + <match key="usb.interface.subclass" int="1"> + <match key="usb.interface.protocol" int="1"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">ptp</merge> + <merge key="camera.libgphoto2.name" type="string">USB PTP Class Camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + <match key="usb.vendor_id" int="8711"> + <match key="usb.product_id" int="1"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Various Viewpia DR/bq Kepler</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8711"> + <match key="usb.product_id" int="17"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Various Viewpia DR/bq Kepler Debugging</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1032"> + <match key="usb.product_id" int="14489"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Verizon Ellipsis 7</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">ViviCam3350</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="37152"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">ViviCam5B</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2425"> + <match key="usb.product_id" int="551"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Vivitar Freelance</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="270"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Vivitar Mini Digital Camera</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="2362"> + <match key="usb.product_id" int="271"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam 55</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3141"> + <match key="usb.product_id" int="32778"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam3350B</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam35</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1161"> + <match key="usb.product_id" int="57617"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Vizio (for Lenovo) LIFETAB S9714</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1161"> + <match key="usb.product_id" int="49190"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Vizio Unknown 1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1161"> + <match key="usb.product_id" int="57408"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Vizio VTAB1008</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1329"> + <match key="usb.product_id" int="8193"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Wacom Cintiq Companion Hybrid (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="3141"> + <match key="usb.product_id" int="32769"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">Wild Planet Digital Spy Camera 70137</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7763"> + <match key="usb.product_id" int="7"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Wyplay Wyplayer</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="4968"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Xiaomi HM NOTE 1LTEW MIUI (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="4680"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Xiaomi Hongmi (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="4672"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Xiaomi Hongmi (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="61443"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="36921"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2 (MTP+ADB)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="65352"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2s (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="872"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-3 (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="864"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-3w (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10007"> + <match key="usb.product_id" int="1632"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Xiaomi MiPad (MTP)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="8711"> + <match key="usb.product_id" int="6"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">YiFang BQ Tesla</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10518"> + <match key="usb.product_id" int="37197"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Yota Phone 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10518"> + <match key="usb.product_id" int="61443"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">Yota Phone 2 (ID2)</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="7871"> + <match key="usb.product_id" int="32553"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">YU Yureka Vodafone smart turbo 4</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="1054"> + <match key="usb.product_id" int="24576"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">ZiiLABS Zii EGG</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="10096"> + <match key="usb.product_id" int="36956"> + <merge key="info.category" type="string">camera</merge> + <addset key="info.capabilities" type="strlist">camera</addset> + <merge key="camera.access_method" type="string">proprietary</merge> + <merge key="camera.libgphoto2.name" type="string">ZINA Mini Digital Keychain Camer</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6610"> + <match key="usb.product_id" int="835"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">ZTE Grand X In</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6610"> + <match key="usb.product_id" int="65486"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">ZTE V5</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6610"> + <match key="usb.product_id" int="580"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">ZTE V55 ID 1</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6610"> + <match key="usb.product_id" int="581"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">ZTE V55 ID 2</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6610"> + <match key="usb.product_id" int="774"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">ZTE V790/Blade 3</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6610"> + <match key="usb.product_id" int="775"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">ZTE V880E</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + <match key="usb.vendor_id" int="6610"> + <match key="usb.product_id" int="899"> + <merge key="info.category" type="string">portable_audio_player</merge> + <addset key="info.capabilities" type="strlist">portable_audio_player</addset> + <merge key="portable_audio_player.access_method" type="string">user</merge> + <merge key="portable_audio_player.type" type="string">mtp</merge> + <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append> + <merge key="camera.libgphoto2.name" type="string">ZTE V985</merge> + <merge key="camera.libgphoto2.support" type="bool">true</merge> + </match> + </match> + </match> + </device> +</deviceinfo> diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/40-libgphoto2.rules b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/40-libgphoto2.rules new file mode 100644 index 000000000..b9f04398d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/40-libgphoto2.rules @@ -0,0 +1,1955 @@ +# udev rules file for libgphoto2 devices (for udev 0.98 version) +# Created from this library: +# libgphoto2 2.5.8 all camlibs, gcc, ltdl, no EXIF +# libgphoto2_port 0.12.0 gcc, ltdl, no USB, serial without locking +# +# this file is autogenerated, local changes will be LOST on upgrades +ACTION!="add", GOTO="libgphoto2_rules_end" +SUBSYSTEM!="usb|usb_device", GOTO="libgphoto2_usb_end" + +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="33c3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="33c4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3643", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="353c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="362d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3586", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3348", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3349", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="334a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="33d8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="337c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="337d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="33cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3325", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3341", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3344", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3345", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3389", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="338a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3378", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3514", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="35a8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3644", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3725", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3609", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3473", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="355f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3657", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="33aa", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="35e4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0502", ATTRS{idProduct}=="361d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="16d5", ATTRS{idProduct}=="8006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="16d5", ATTRS{idProduct}=="8005", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="06bd", ATTRS{idProduct}=="0403", MODE="l36" +ATTRS{idVendor}=="06bd", ATTRS{idProduct}=="0404", MODE="l36" +ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504b", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504a", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="08ca", ATTRS{idProduct}=="0111", MODE="l36" +ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504a", MODE="l36" +ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504b", MODE="l36" +ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0168", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="a00e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="f003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="904d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0167", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="1949", ATTRS{idProduct}=="0800", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1949", ATTRS{idProduct}=="0007", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1949", ATTRS{idProduct}=="0008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1949", ATTRS{idProduct}=="000a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1949", ATTRS{idProduct}=="000c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1949", ATTRS{idProduct}=="0012", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1949", ATTRS{idProduct}=="000b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1949", ATTRS{idProduct}=="000d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1949", ATTRS{idProduct}=="0005", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1949", ATTRS{idProduct}=="00f2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0224", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="129a", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="12ab", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1290", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1292", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1294", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1297", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="12a0", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="12a8", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1291", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1293", MODE="l36" +ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1299", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="5008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="5009", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="4002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1528", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1529", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1539", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1538", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14b9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1548", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="120a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="131d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="120c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1301", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1303", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1311", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1321", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="31f3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1331", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1333", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="3229", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1307", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1357", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1351", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1309", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="130b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1313", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1315", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1335", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="130d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="130f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1319", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14ef", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1568", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1569", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14bf", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1518", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1508", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1509", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14ad", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="149a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="146b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="145e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1458", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="31ab", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1207", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1341", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="131b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1208", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="913c", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5a0f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4ce0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4ce1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="514f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="7773", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="540f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="541f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="550f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5500", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4cd0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4cd1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="521f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="520f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4cc0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4cc1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5460", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5468", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5400", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5410", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5411", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5466", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="7772", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5506", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5561", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5200", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5201", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5210", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5211", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5214", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5220", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5221", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5230", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5231", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4e00", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4e01", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4e0f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4e1f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4d00", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4d01", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4c80", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4c81", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4c90", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4c91", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4ca0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4ca1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="561f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5f02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="580f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="581f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5480", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5481", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="7781", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5490", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5491", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9051", MODE="l36" +ATTRS{idVendor}=="2080", ATTRS{idProduct}=="0006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2080", ATTRS{idProduct}=="0005", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04a5", ATTRS{idProduct}=="3003", MODE="l36" +ATTRS{idVendor}=="1d45", ATTRS{idProduct}=="459d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2a47", ATTRS{idProduct}=="7f10", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2a47", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2a47", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3047", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c2", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31bd", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31e6", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f3", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3268", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c0", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="304d", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f7", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3066", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30bf", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3075", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ba", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="310e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b4", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ff", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="311c", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30fe", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f2", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3116", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3184", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3119", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3174", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3136", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3160", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3174", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3115", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c4", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3173", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3193", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c1", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c4", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3072", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b6", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f4", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3052", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3065", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3070", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3071", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f1", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ee", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3088", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3087", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30a5", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="317b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3270", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3083", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30bc", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3217", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="327f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ea", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3147", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31d0", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3219", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30eb", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ec", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3084", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3099", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3113", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ef", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ee", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ee", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3110", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3146", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3145", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31cf", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="319b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31ea", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3101", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3102", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3199", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3218", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3215", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3250", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3272", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3253", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="319a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="326f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3044", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3060", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3084", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3099", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3110", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3084", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3099", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ee", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3110", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3145", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31cf", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323d", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3299", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31cf", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3145", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="308e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3241", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="32a9", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3225", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31e6", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3193", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3046", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="304b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c4", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3096", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="307c", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="307a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30a0", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3096", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="308e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3081", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3080", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30a9", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="308d", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3082", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="307f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3080", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3096", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30a9", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3105", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="308e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="304f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3061", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="318e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c3", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3264", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="304e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3062", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3191", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31be", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="322a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="324a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3249", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3271", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3262", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3059", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3076", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f2", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b8", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f1", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3261", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3058", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b7", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3243", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f9", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="310f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f8", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3155", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3149", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="317a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31bf", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31ef", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c2", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c1", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3126", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="311b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3150", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314d", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314c", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3177", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3176", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3074", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30fd", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30fc", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="313a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3139", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3073", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3117", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3138", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315d", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b5", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3226", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b9", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30bb", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31bc", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3288", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3289", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3048", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3233", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="318f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31df", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3258", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3055", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3085", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b3", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3125", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3049", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309c", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3041", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3236", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3045", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3051", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="325b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3275", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f0", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3043", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3065", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3070", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3071", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="311a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3057", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="304c", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3066", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3056", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3075", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ba", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306c", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306d", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3148", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3077", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b4", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b2", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b1", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30fa", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3212", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3072", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b6", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3184", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c4", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f4", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c4", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c0", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3137", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f1", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ff", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f2", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="311c", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30fe", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3119", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3175", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c2", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3174", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3196", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3115", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31e6", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c1", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3193", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="318d", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315e", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3192", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31e0", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3211", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3234", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="325a", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3276", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31e4", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c0", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f6", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="322c", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3228", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3245", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3244", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="325f", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3238", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="325c", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3277", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="329b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3050", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="305c", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31ea", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3217", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323b", MODE="l36" +ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3078", MODE="l36" +ATTRS{idVendor}=="07cf", ATTRS{idProduct}=="1049", MODE="l36" +ATTRS{idVendor}=="07cf", ATTRS{idProduct}=="1042", MODE="l36" +ATTRS{idVendor}=="07cf", ATTRS{idProduct}=="104d", MODE="l36" +ATTRS{idVendor}=="07cf", ATTRS{idProduct}=="104c", MODE="l36" +ATTRS{idVendor}=="07cf", ATTRS{idProduct}=="117a", MODE="l36" +ATTRS{idVendor}=="055f", ATTRS{idProduct}=="c200", MODE="l36" +ATTRS{idVendor}=="04b7", ATTRS{idProduct}=="88a9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="1002", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0797", ATTRS{idProduct}=="8001", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0224", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="1e74", ATTRS{idProduct}=="6512", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1e53", ATTRS{idProduct}=="0005", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36" +ATTRS{idVendor}=="03e8", ATTRS{idProduct}=="2182", MODE="l36" +ATTRS{idVendor}=="03e8", ATTRS{idProduct}=="2180", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0952", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0711", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0751", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0911", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0941", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0801", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0871", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0891", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0861", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0881", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0921", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0901", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0701", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0761", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0931", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4016", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4007", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="400a", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4012", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="400b", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4013", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4123", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4157", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4130", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="413c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4133", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4161", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4137", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="413d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4131", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4150", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4158", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4152", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="411f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4153", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="413e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4151", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4162", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4169", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4128", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="106c", ATTRS{idProduct}=="3215", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="084d", ATTRS{idProduct}=="0003", MODE="l36" +ATTRS{idVendor}=="0d64", ATTRS{idProduct}=="1021", MODE="l36" +ATTRS{idVendor}=="03e8", ATTRS{idProduct}=="2130", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8000", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4132", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="412f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="413c", ATTRS{idProduct}=="b10b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="413c", ATTRS{idProduct}=="b11a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="413c", ATTRS{idProduct}=="b11b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="413c", ATTRS{idProduct}=="4500", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="05da", ATTRS{idProduct}=="1018", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="1183", ATTRS{idProduct}=="0001", MODE="l36" +ATTRS{idVendor}=="05da", ATTRS{idProduct}=="1020", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0aa6", ATTRS{idProduct}=="6021", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9050", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9052", MODE="l36" +ATTRS{idVendor}=="10d6", ATTRS{idProduct}=="2200", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36" +ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0403", MODE="l36" +ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0402", MODE="l36" +ATTRS{idVendor}=="2970", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2970", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1782", ATTRS{idProduct}=="4001", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="06d3", ATTRS{idProduct}=="21ba", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0dca", ATTRS{idProduct}=="0002", MODE="l36" +ATTRS{idVendor}=="0dca", ATTRS{idProduct}=="0002", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="014a", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01d2", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c6", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01d3", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="021b", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0193", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01e0", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c0", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01e4", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="019b", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c1", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c5", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01d4", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01e6", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01fa", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="020e", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="022d", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0271", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0250", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01dd", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01db", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01ef", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0200", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01e8", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0209", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0240", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="027d", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0265", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0298", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c4", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01d7", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01bf", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0142", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="018f", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="029c", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0233", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="026e", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0263", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="02a6", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0288", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01d8", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0201", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="020d", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01fe", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="02b5", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c3", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="04c5", ATTRS{idProduct}=="1140", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04c5", ATTRS{idProduct}=="133b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="091e", ATTRS{idProduct}=="2585", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="0458", ATTRS{idProduct}=="7005", MODE="l36" +ATTRS{idVendor}=="040d", ATTRS{idProduct}=="885c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0414", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0414", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="0007", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="0006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e41", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e42", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e0f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4d00", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="2d02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="740a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d10a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d109", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="b00a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="70a8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e25", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e26", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="05b3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="7102", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2672", ATTRS{idProduct}=="0011", MODE="l36" +ATTRS{idVendor}=="0797", ATTRS{idProduct}=="801c", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="1302", ATTRS{idProduct}=="1016", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1302", ATTRS{idProduct}=="1017", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7e1d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="5d1d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="5c1d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="109b", ATTRS{idProduct}=="9106", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="109b", ATTRS{idProduct}=="9109", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="109b", ATTRS{idProduct}=="9105", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6502", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6202", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7c02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7d02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6302", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6602", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7402", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7802", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7202", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6e02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7902", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6d02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6302", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4102", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6802", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7102", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6b02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6402", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7602", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6702", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6c02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6a02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4202", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7702", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7e02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4302", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4102", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4402", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4502", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4102", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6002", MODE="l36" +ATTRS{idVendor}=="f003", ATTRS{idProduct}=="6002", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8b02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8c02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7502", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7b02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7302", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7a02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8002", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8102", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8202", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="9b02", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8402", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8502", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="9602", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="9702", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8702", MODE="l36" +ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8802", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="685c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="6860", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ec6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ebd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dff", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c93", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ca8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dfe", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0de4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="05fd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dd5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0e31", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0e32", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0df5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="07ae", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dda", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f91", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f64", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f63", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f87", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f5f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f60", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dea", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dd2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="07ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f25", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="061a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0fb4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0fb5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="07cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="07d9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0cec", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0df8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0df9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dfa", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dfb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dfc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dfd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="07d8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2012", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="060b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dcd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="f0ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ba1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ba2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1082", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="360f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="361f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1051", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1052", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9153", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="0489", ATTRS{idProduct}=="c025", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36" +ATTRS{idVendor}=="19ff", ATTRS{idProduct}=="0303", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="19ff", ATTRS{idProduct}=="0309", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="19ff", ATTRS{idProduct}=="0307", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0a5f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0a15", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0a16", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0630", MODE="l36" +ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0a5e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="8087", ATTRS{idProduct}=="09fb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="112a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1126", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1141", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1142", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1152", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1167", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1151", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="2101", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="2105", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="2102", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1006", ATTRS{idProduct}=="3004", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1122", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1006", ATTRS{idProduct}=="4002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1006", ATTRS{idProduct}=="4003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1147", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1113", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1120", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1117", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1115", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1114", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1118", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1119", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1153", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1134", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1042", ATTRS{idProduct}=="1143", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1e68", ATTRS{idProduct}=="1002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1116", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1132", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0b20", ATTRS{idProduct}=="ddee", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0784", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="3300", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36" +ATTRS{idVendor}=="05da", ATTRS{idProduct}=="1006", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="0000", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="2931", ATTRS{idProduct}=="0a01", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2931", ATTRS{idProduct}=="0a05", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04f1", ATTRS{idProduct}=="6105", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="084e", ATTRS{idProduct}=="0001", MODE="l36" +ATTRS{idVendor}=="0b28", ATTRS{idProduct}=="100c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2237", ATTRS{idProduct}=="d108", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2237", ATTRS{idProduct}=="d109", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2237", ATTRS{idProduct}=="b108", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0617", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="060b", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057e", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="058a", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="058c", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="058d", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0589", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05aa", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="059a", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05a2", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05b7", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ba", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05a7", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05af", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ae", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05c3", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05a9", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05c6", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="059c", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0560", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0560", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0535", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0566", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0566", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0574", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0573", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0571", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0584", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0579", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0578", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0578", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057a", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057b", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0586", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057c", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0120", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0121", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0110", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0111", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0130", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0112", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0132", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0160", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0131", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0525", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0500", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0510", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0530", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0170", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0555", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0576", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0550", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0570", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0572", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0575", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057d", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057f", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0577", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0300", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0540", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0568", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0569", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0565", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0567", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ce", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0600", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="059f", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05c1", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ad", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0585", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0400", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0592", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0593", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="058e", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="058f", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0591", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05a0", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ac", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ab", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05b8", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="059d", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="059e", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0587", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05b3", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05b4", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0580", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0588", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0403", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05b5", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0595", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05cf", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05cd", MODE="l36" +ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05c0", MODE="l36" +ATTRS{idVendor}=="04c8", ATTRS{idProduct}=="0722", MODE="l36" +ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0001", MODE="l36" +ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0019", MODE="l36" +ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0009", MODE="l36" +ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0007", MODE="l36" +ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0018", MODE="l36" +ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0022", MODE="l36" +ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="1006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0482", ATTRS{idProduct}=="0979", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0482", ATTRS{idProduct}=="0810", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0482", ATTRS{idProduct}=="0571", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0482", ATTRS{idProduct}=="059a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9051", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2375", MODE="l36" +ATTRS{idVendor}=="1a98", ATTRS{idProduct}=="0002", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7737", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="772b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7498", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="75bc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="75be", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7542", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="757d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="76e8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="740a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7883", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="75b5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="775a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="74cc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7497", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="74a6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="74f8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7718", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="741c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="76f2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="77ea", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="76ff", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="77b1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61f1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61f9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="627f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="626e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="611b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="608f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6132", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="633e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6239", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="623d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="621c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6225", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="619a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="043e", ATTRS{idProduct}=="7040", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="043e", ATTRS{idProduct}=="70b1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="631c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6265", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6010", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6005", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36" +ATTRS{idVendor}=="13d1", ATTRS{idProduct}=="7002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0900", MODE="l36" +ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0950", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="3300", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504b", MODE="l36" +ATTRS{idVendor}=="066f", ATTRS{idProduct}=="846c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="0e8d", ATTRS{idProduct}=="0050", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0408", ATTRS{idProduct}=="b00a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7483", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504a", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2205", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4102", MODE="l36" +ATTRS{idVendor}=="066f", ATTRS{idProduct}=="8550", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="066f", ATTRS{idProduct}=="8588", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0408", ATTRS{idProduct}=="b009", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1271", ATTRS{idProduct}=="2012", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="201e", ATTRS{idProduct}=="42ab", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2a45", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2a45", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="10d6", ATTRS{idProduct}=="2300", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0db0", ATTRS{idProduct}=="5572", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0640", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0622", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="045e", ATTRS{idProduct}=="04ec", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0710", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="045e", ATTRS{idProduct}=="063e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="045e", ATTRS{idProduct}=="f0ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="045e", ATTRS{idProduct}=="00c9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0641", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8008", MODE="l36" +ATTRS{idVendor}=="084d", ATTRS{idProduct}=="0003", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="60ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="7088", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="64cf", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e32", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e33", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e67", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2ea5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2ea8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e68", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="41d6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="41da", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="42a7", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="437f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="4373", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="4811", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="41dc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="70ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e76", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e82", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e84", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e62", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e63", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e66", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="6413", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="64b5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="64b6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e50", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e51", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="6415", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2a65", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="70a3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="70a8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="70a9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="4311", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="4306", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="41cf", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="710d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="710e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="4362", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +# not working yet: PROGRAM="check-mtp-device", , ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="055f", ATTRS{idProduct}=="c200", MODE="l36" +ATTRS{idVendor}=="055f", ATTRS{idProduct}=="a350", MODE="l36" +ATTRS{idVendor}=="055f", ATTRS{idProduct}=="c220", MODE="l36" +ATTRS{idVendor}=="055f", ATTRS{idProduct}=="c420", MODE="l36" +ATTRS{idVendor}=="055f", ATTRS{idProduct}=="c520", MODE="l36" +ATTRS{idVendor}=="0aa6", ATTRS{idProduct}=="9601", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0409", ATTRS{idProduct}=="0326", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0409", ATTRS{idProduct}=="0432", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0409", ATTRS{idProduct}=="0242", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0402", ATTRS{idProduct}=="5668", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0302", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0117", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0122", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0123", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0109", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0115", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0121", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0111", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="011d", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="012d", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0204", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="010f", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="010b", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0130", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0131", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0129", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0113", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0206", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0119", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="012e", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="010d", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0135", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0139", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0137", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="011f", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0103", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0127", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0112", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0191", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0102", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0226", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0188", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0208", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="030b", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0309", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="017e", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="015f", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0185", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0315", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0318", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0317", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0324", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0343", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0305", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0192", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0140", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="017d", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0142", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0221", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="020c", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0169", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0184", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="015b", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0223", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0163", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0228", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0311", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="016f", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="017f", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="018b", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0225", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0229", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="016b", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="016c", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0173", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0337", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0346", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="014e", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0161", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0177", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0178", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0321", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="032d", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="033f", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="031b", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0320", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0334", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="032a", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0144", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0329", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="015d", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0220", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="014e", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0171", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="021e", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="021c", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0157", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="021f", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0222", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0186", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0193", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="034b", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0404", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="040c", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0408", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="041c", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="040a", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0402", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0410", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0416", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="041a", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0424", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0425", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0427", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042c", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0433", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0426", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0420", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042b", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0414", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0418", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0435", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0423", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0429", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042f", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0431", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="041e", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042d", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0434", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0406", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0422", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0428", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="040e", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0430", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0437", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0412", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042a", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042e", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0436", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0421", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0602", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0603", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0605", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0609", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0606", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0601", MODE="l36" +ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0604", MODE="l36" +ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504a", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0224", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="02c1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0065", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="005f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0462", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="01ee", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0209", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04be", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="02e2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04ba", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="006c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="00ea", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="047e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0229", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04b4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0154", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0155", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0159", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="002e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0098", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="008d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="003c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0297", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="05d3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0592", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="03c1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="03cd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="01cf", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="032f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0179", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="00e5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0334", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0335", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="00e4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="01a1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0221", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="06fc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0666", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0661", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0524", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0488", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04d1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04e1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0079", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0186", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="02fe", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0302", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04f1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="000a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0074", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0092", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="051a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0485", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0478", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04e5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04ef", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="006e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="03d2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0039", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="01f5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="026b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="01f4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0274", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0421", ATTRS{idProduct}=="06e8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1703", ATTRS{idProduct}=="0001", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1703", ATTRS{idProduct}=="0002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0955", ATTRS{idProduct}=="70a9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0955", ATTRS{idProduct}=="b400", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0955", ATTRS{idProduct}=="cf07", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0955", ATTRS{idProduct}=="cf02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7100", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7102", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1e53", ATTRS{idProduct}=="0006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0110", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="012f", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="012f", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0116", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0113", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="012f", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0116", MODE="l36" +ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0116", MODE="l36" +ATTRS{idVendor}=="22d9", ATTRS{idProduct}=="2765", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22d9", ATTRS{idProduct}=="2774", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="22d9", ATTRS{idProduct}=="2773", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2145", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2158", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="106c", ATTRS{idProduct}=="f003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1d4d", ATTRS{idProduct}=="5036", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1d4d", ATTRS{idProduct}=="5035", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1d4d", ATTRS{idProduct}=="504a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="25fb", ATTRS{idProduct}=="0165", MODE="l36" +ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="000d", MODE="l36" +ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="00f7", MODE="l36" +ATTRS{idVendor}=="0aa6", ATTRS{idProduct}=="9702", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="207c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20b9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2138", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0165", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2077", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="208e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2004", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0857", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="084e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="014f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2075", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="207b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20b7", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20e5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="014d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="014c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="01eb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="014b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="190b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2190", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="7e01", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0181", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0164", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2022", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0172", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="08e4", ATTRS{idProduct}=="0142", MODE="l36" +ATTRS{idVendor}=="08e4", ATTRS{idProduct}=="0148", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="0784", ATTRS{idProduct}=="2888", MODE="l36" +ATTRS{idVendor}=="0546", ATTRS{idProduct}=="2035", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0546", ATTRS{idProduct}=="0daf", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36" +ATTRS{idVendor}=="29e4", ATTRS{idProduct}=="1203", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="29e4", ATTRS{idProduct}=="1103", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0784", ATTRS{idProduct}=="5300", MODE="l36" +ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="ffff", MODE="l36" +ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="8800", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="f003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="0229", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="3196", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="6764", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="6765", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9039", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9025", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0dca", ATTRS{idProduct}=="0004", MODE="l36" +ATTRS{idVendor}=="0784", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="1260", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="1268", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220b", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2203", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2204", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2208", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220c", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0325", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2214", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="032d", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220d", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2212", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="032b", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2213", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2216", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="032f", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2217", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="221a", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0110", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2202", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="033d", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220d", MODE="l36" +ATTRS{idVendor}=="0fca", ATTRS{idProduct}=="8007", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220f", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220f", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="913d", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="913d", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="913d", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8003", MODE="l36" +ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8003", MODE="l36" +ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8003", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6866", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6727", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="685c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6877", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6752", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="68af", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="e20c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6819", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="04a4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="4f1f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6734", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6642", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="140c", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="1384", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="684a", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6763", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6709", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="68a9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6702", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="502e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="501d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5022", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="502f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5024", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5a0f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5033", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="0409", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5057", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5081", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="505a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5118", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5083", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="511a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5115", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="511d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5130", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5125", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="510f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="512e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5091", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="508b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="508a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5047", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="507f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5054", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="507d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5093", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5121", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5137", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="503c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7410", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7450", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7452", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7432", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7434", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74e4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74d0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7480", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7420", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7422", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7460", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74c0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74c2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74e0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7401", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7400", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7430", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74b0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0474", ATTRS{idProduct}=="0230", MODE="l36" +ATTRS{idVendor}=="0797", ATTRS{idProduct}=="8901", MODE="l36" +ATTRS{idVendor}=="0797", ATTRS{idProduct}=="8909", MODE="l36" +ATTRS{idVendor}=="0797", ATTRS{idProduct}=="8911", MODE="l36" +ATTRS{idVendor}=="084d", ATTRS{idProduct}=="1001", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0353", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220e", MODE="l36" +ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0327", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="04dd", ATTRS{idProduct}=="9661", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="04dd", ATTRS{idProduct}=="96ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0489", ATTRS{idProduct}=="c025", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36" +ATTRS{idVendor}=="066f", ATTRS{idProduct}=="a010", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0c77", ATTRS{idProduct}=="1011", MODE="l36" +ATTRS{idVendor}=="0c77", ATTRS{idProduct}=="1015", MODE="l36" +ATTRS{idVendor}=="0c77", ATTRS{idProduct}=="1002", MODE="l36" +ATTRS{idVendor}=="0c77", ATTRS{idProduct}=="1010", MODE="l36" +ATTRS{idVendor}=="0d64", ATTRS{idProduct}=="1001", MODE="l36" +ATTRS{idVendor}=="0c77", ATTRS{idProduct}=="1001", MODE="l36" +ATTRS{idVendor}=="18f6", ATTRS{idProduct}=="0102", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="18f6", ATTRS{idProduct}=="0110", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="3300", MODE="l36" +ATTRS{idVendor}=="1bdc", ATTRS{idProduct}=="fabf", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0dca", ATTRS{idProduct}=="0002", MODE="l36" +ATTRS{idVendor}=="0ec7", ATTRS{idProduct}=="1008", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="074e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="07c6", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0957", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="08e7", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="094e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="08b7", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0953", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="094d", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0954", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="08e2", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="1294", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="02c0", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="02e7", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0543", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="061f", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="06ee", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0491", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="08ad", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="052b", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="052a", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="074b", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0296", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0296", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0343", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="02f8", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="053c", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5175", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="a175", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="b175", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0172", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5172", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4172", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0186", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5186", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4186", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0169", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5169", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4169", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0175", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4175", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0176", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4176", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0177", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5177", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4177", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="a177", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="b177", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0178", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5178", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4178", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0182", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5182", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4182", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0173", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5173", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4173", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="a173", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="b173", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="072f", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0678", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="035c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0325", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="035b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0404", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="036e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="03d8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04be", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="059a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0689", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="03fc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0385", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="03fd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05a6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0326", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="03fe", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0327", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="038e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="035a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="038c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04cc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05a8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0388", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04bb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0397", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0398", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04a7", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0321", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04a3", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0669", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0736", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0737", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0574", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0675", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5176", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="a176", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="b176", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0181", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5181", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4181", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04d1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05b3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05b4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0171", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0170", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5170", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4170", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0180", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5180", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4180", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5171", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4171", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="017e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="517e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="417e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="a17e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="b17e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="016d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0198", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5198", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01a3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51a3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41a3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="018c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="518c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="418c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01bc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51bc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01bc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0188", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5188", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4188", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0192", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5192", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4192", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="019b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="519b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="419b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01ab", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51ab", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41ab", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01aa", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51aa", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41aa", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0195", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5195", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4195", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="018d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0194", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="518d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5194", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="418d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4194", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0193", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5193", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4193", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01b6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0196", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="019c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51b6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5196", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="519c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="419c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01a7", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41a7", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51a7", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="019e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="519e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="419e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01af", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51af", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41af", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01bb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51bb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41bb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01ba", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51ba", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41ba", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0189", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5189", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4189", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0197", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5197", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0146", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5146", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00d9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00d4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00ef", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0157", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5157", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4157", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="014e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="d144", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0144", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="e000", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0075", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="514f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="014f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="015a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="515a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0156", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5156", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="015d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="515d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0166", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5166", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0167", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5167", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0168", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5168", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4168", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0161", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5161", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00fb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0133", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="013a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="10c8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00f3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0105", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00c6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00b3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00f5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0076", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00da", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0112", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="516d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="913d", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="0451", ATTRS{idProduct}=="d108", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="13d1", ATTRS{idProduct}=="7017", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0aa6", ATTRS{idProduct}=="3011", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="069b", ATTRS{idProduct}=="3035", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="069b", ATTRS{idProduct}=="0777", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="069b", ATTRS{idProduct}=="0774", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="069b", ATTRS{idProduct}=="077c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="069b", ATTRS{idProduct}=="301a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="069b", ATTRS{idProduct}=="3028", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="1390", ATTRS{idProduct}=="5455", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="11db", ATTRS{idProduct}=="1000", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0963", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="000c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0009", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="001d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="001a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0018", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0011", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="000f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0010", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0019", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0016", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0014", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1132", ATTRS{idProduct}=="4337", MODE="l36" +ATTRS{idVendor}=="1132", ATTRS{idProduct}=="4332", MODE="l36" +ATTRS{idVendor}=="1132", ATTRS{idProduct}=="4335", MODE="l36" +ATTRS{idVendor}=="1132", ATTRS{idProduct}=="4334", MODE="l36" +ATTRS{idVendor}=="0930", ATTRS{idProduct}=="7100", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="3300", MODE="l36" +ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36" +ATTRS{idVendor}=="1e68", ATTRS{idProduct}=="0002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0402", ATTRS{idProduct}=="0611", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="066f", ATTRS{idProduct}=="842a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="084d", ATTRS{idProduct}=="0003", MODE="l36" +ATTRS{idVendor}=="06d6", ATTRS{idProduct}=="002e", MODE="l36" +ATTRS{idVendor}=="06d6", ATTRS{idProduct}=="002d", MODE="l36" +ATTRS{idVendor}=="08ca", ATTRS{idProduct}=="0110", MODE="l36" +ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504a", MODE="l36" +ATTRS{idVendor}=="0797", ATTRS{idProduct}=="801a", MODE="l36" +ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36" +ATTRS{idVendor}=="0d64", ATTRS{idProduct}=="1001", MODE="l36" +PROGRAM="check-ptp-camera 06/01/01", MODE="l36" +ATTRS{idVendor}=="2207", ATTRS{idProduct}=="0001", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2207", ATTRS{idProduct}=="0011", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0408", ATTRS{idProduct}=="3899", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36" +ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36" +ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36" +ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="800a", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="0489", ATTRS{idProduct}=="e111", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0489", ATTRS{idProduct}=="c026", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0489", ATTRS{idProduct}=="e040", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0531", ATTRS{idProduct}=="2001", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8001", MODE="l36" +ATTRS{idVendor}=="1e53", ATTRS{idProduct}=="0007", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="1368", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="1248", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="1240", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="f003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="9039", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="ff48", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="0368", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="0360", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2717", ATTRS{idProduct}=="0660", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2207", ATTRS{idProduct}=="0006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2916", ATTRS{idProduct}=="914d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2916", ATTRS{idProduct}=="f003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="1ebf", ATTRS{idProduct}=="7f29", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="041e", ATTRS{idProduct}=="6000", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36" +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0343", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="ffce", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0244", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0245", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0306", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0307", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" +ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0383", ENV{ID_MEDIA_PLAYER}="1", MODE="l36" + +LABEL="libgphoto2_usb_end" + +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="1908", ATTRS{idProduct}=="1315", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="1908", ATTRS{idProduct}=="1320", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="1908", ATTRS{idProduct}=="0102", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="1908", ATTRS{idProduct}=="3335", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0116", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0108", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0110", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="010e", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0104", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0401", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0109", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0109", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0109", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0109", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0109", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="0070", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="00a1", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="006e", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="0093", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="0091", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="25fb", ATTRS{idProduct}=="0164", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="25fb", ATTRS{idProduct}=="0132", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="25fb", ATTRS{idProduct}=="0102", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="0009", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="0007", MODE="l36" +KERNEL=="sd[a-z]*", ATTRS{idVendor}=="1403", ATTRS{idProduct}=="0001", MODE="l36" +KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0168", ATTRS{idProduct}=="3011", MODE="l36" + +LABEL="libgphoto2_rules_end" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.16.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.16.bb new file mode 100644 index 000000000..7a691c611 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.16.bb @@ -0,0 +1,54 @@ +SUMMARY = "libgphoto2 allows you to access digital cameras" +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1" + +DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2" + +# The .fdi and .rules files were generated with: +# libgphoto2-2.5.8/packaging/generic$ qemu-arm -s 1048576 -r 2.6.24 -L /OE/angstrom-dev/staging/armv5te-angstrom-linux-gnueabi/ .libs/print-camera-list +# They are release specific, so please regen when adding new releases + +SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \ + file://10-camera-libgphoto2-device.fdi \ + file://10-camera-libgphoto2.fdi \ + file://40-libgphoto2.rules \ + file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ +" + +SRC_URI[libgphoto2.md5sum] = "084d220d078d28c0c7a3ba13f4476128" +SRC_URI[libgphoto2.sha256sum] = "e757416d1623e01a9d0d294b2e790162e434c0964f50d3b7ff1a3424b62a2906" + +inherit autotools pkgconfig gettext lib_package + +EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gd] = ",--without-gdlib,gd" +PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev" + +do_configure_append() { + cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/ + cd ${S}/libgphoto2_port/ + autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths + cd ${S} +} + +do_install_append() { + install -d ${D}${datadir}/hal/fdi/information/20thirdparty + install -m 0644 ${WORKDIR}/*.fdi ${D}${datadir}/hal/fdi/information/20thirdparty/ + + install -d ${D}${sysconfdir}/udev/rules.d/ + install -m 0755 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/ +} + +PACKAGES =+ "libgphotoport libgphoto2-camlibs" +FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*" +RRECOMMENDS_${PN} = "libgphoto2-camlibs" + +FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*" + +FILES_${PN} += "${nonarch_base_libdir}/udev/* ${datadir}/hal" +FILES_${PN}-dbg += "${libdir}/*/*/.debug" +FILES_${PN}-dev += "${libdir}/*/*/*.la" +FILES_${PN}-doc += "${datadir}/libgphoto2_port/0.12.0/vcamera/README.txt" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch new file mode 100644 index 000000000..d529ddd23 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch @@ -0,0 +1,34 @@ +From f8ac48abded02353918b02db38629988bd111c46 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 27 Jun 2017 08:19:44 -0700 +Subject: [PATCH 1/2] Include stdlib.h for exit() API +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes +main.c:81: warning: incompatible implicit declaration of built-in function ‘exit’ + +Patch from Debian +http://sources.debian.net/src/gtkperf/0.40%2Bds-2/debian/patches/01-include_stdlib.patch/ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/main.c b/src/main.c +index 888eb36..c226799 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -11,6 +11,7 @@ + #endif + + #include <getopt.h> ++#include <stdlib.h> + + #include "interface.h" + #include "support.h" +-- +2.13.2 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch new file mode 100644 index 000000000..0548040af --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch @@ -0,0 +1,42 @@ +From 47974b8473c5b928f6742caee466f5c2d4d2e9eb Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 27 Jun 2017 08:22:26 -0700 +Subject: [PATCH 2/2] timing.c: Fix format-security errors + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/timing.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/timing.c b/src/timing.c +index 0b8f0eb..c0668c9 100644 +--- a/src/timing.c ++++ b/src/timing.c +@@ -97,7 +97,7 @@ add_test_info_time (AppData * appdata) + gtk_text_buffer_insert (appdata->textview_info_buffer, &iter, + timestring, -1); + +- g_printf (timestring); ++ g_printf ("%s", timestring); + + } + +@@ -129,7 +129,7 @@ add_test_info_end (AppData * appdata) + gtk_statusbar_push (GTK_STATUSBAR (appdata->statusbar_main), 0, + " Test Finished"); + +- g_printf (timestring); ++ g_printf ("%s", timestring); + + } + +@@ -154,5 +154,5 @@ add_test_info_start (AppData * appdata) + gtk_statusbar_push (GTK_STATUSBAR (appdata->statusbar_main), 0, + " Running tests..."); + +- g_printf (timestring); ++ g_printf ("%s", timestring); + } +-- +2.13.2 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/Makevars b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/Makevars new file mode 100644 index 000000000..8b09f53b0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/Makevars @@ -0,0 +1,25 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Free Software Foundation, Inc. + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb new file mode 100644 index 000000000..4094513b2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb @@ -0,0 +1,32 @@ +SUMMARY = "GTK Performance tool" +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BPN}_${PV}.tar.gz \ + file://Makevars \ + file://0001-Include-stdlib.h-for-exit-API.patch \ + file://0002-timing.c-Fix-format-security-errors.patch \ + " + +SRC_URI[md5sum] = "4331dde4bb83865e15482885fcb0cc53" +SRC_URI[sha256sum] = "9704344e732038eecbd007dd996a56293a6b027b5b76f3f036273a3fae1ab27b" + +DEPENDS = "gtk+" + +S = "${WORKDIR}/${BPN}" + +inherit distro_features_check autotools binconfig pkgconfig gettext + +REQUIRED_DISTRO_FEATURES = "x11" + +do_configure_prepend () { + rm -f ${S}/m4/init.m4 + cp -f ${WORKDIR}/Makevars ${S}/po/ +} + +do_install_append () { + rm -rf ${D}/${exec_prefix}/doc +} + +FILES_${PN} += "${exec_prefix}/share/duck.png" diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb new file mode 100644 index 000000000..cc6a694ce --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "Jpeg 2000 implementation" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=baa697d7510288a9cdcce9bd7edaf9bc" + +PR = "r1" + +SRC_URI = "http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-${PV}.zip" + +inherit autotools lib_package + +PACKAGECONFIG ??= "" +PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg" +PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,freeglut" + +EXTRA_OECONF = "--enable-shared" + +SRC_URI[md5sum] = "a342b2b4495b3e1394e161eb5d85d754" +SRC_URI[sha256sum] = "6b905a9c2aca2e275544212666eefc4eb44d95d0a57e4305457b407fe63f9494" diff --git a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb new file mode 100644 index 000000000..91fa00cc9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications" +DEPENDS = "jpeg tiff libpng zlib" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=34aa579294e8284b7b848c8d5d361e8f" + +SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz" +SRC_URI[md5sum] = "4f32be9bd2e2c142ba018037ab5d746f" +SRC_URI[sha256sum] = "29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b" + +EXTRA_OECONF += " \ + --without-libwebp \ +" + +PACKAGECONFIG ??= "giflib" +PACKAGECONFIG[openjpeg] = "--with-libopenjpeg,--without-libopenjpeg,openjpeg" +PACKAGECONFIG[giflib] = "--with-giflib,--without-giflib,giflib" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb new file mode 100644 index 000000000..ba928d281 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb @@ -0,0 +1,23 @@ +# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com> +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Development files for the Multiple-image Network Graphics library" +HOMEPAGE = "http://www.libpng.org/pub/mng/" +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://LICENSE;md5=32becdb8930f90eab219a8021130ec09" +SECTION = "devel" +DEPENDS = "zlib" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz" + +SRC_URI[md5sum] = "7e9a12ba2a99dff7e736902ea07383d4" +SRC_URI[sha256sum] = "cf112a1fb02f5b1c0fce5cab11ea8243852c139e669c44014125874b14b7dfaa" + +inherit autotools-brokensep pkgconfig + +PACKAGECONFIG ??= "jpeg" + +PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg" +PACKAGECONFIG[lcms] = "--with-lcms2,--without-lcms2,lcms" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb new file mode 100644 index 000000000..38dac06e6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "library for easy implementation of a RDP/VNC server" +HOMEPAGE = "https://libvnc.github.io" +SECTION = "libs" +PRIORITY = "optional" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f" + +DEPENDS += "zlib libsdl jpeg libpng gtk+ libgcrypt nettle gnutls gmp" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" +PACKAGECONFIG[systemd] = ",,systemd" + +RDEPENDS_${PN} += "libpng gtk+ libgcrypt" + +inherit distro_features_check autotools binconfig pkgconfig + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${PV}.tar.gz" +SRC_URI[md5sum] = "7f06104d5c009813e95142932c4ddb06" +SRC_URI[sha256sum] = "193d630372722a532136fd25c5326b2ca1a636cbb8bf9bb115ef869c804d2894" + +S = "${WORKDIR}/${BPN}-LibVNCServer-${PV}" + +TARGET_LDFLAGS += "-lgcrypt" diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch new file mode 100644 index 000000000..045f3cafa --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch @@ -0,0 +1,101 @@ +From eb0086dc4ea8fe9cda069456287b3a29a2631d30 Mon Sep 17 00:00:00 2001 +From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> +Date: Wed, 13 Dec 2017 16:18:45 +0900 +Subject: [PATCH] Fix the error of can't find header file + +Upstream-Status: Inappropriate [embedded specific] +This fix is just for yocto. + +Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> +--- + src/NCApplication.cc | 2 +- + src/NCstyle.h | 2 +- + src/NCurses.h | 2 +- + src/ncursesp.h | 2 +- + src/ncursesw.cc | 2 +- + src/ncursesw.h | 4 ++-- + 6 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/NCApplication.cc b/src/NCApplication.cc +index 5bcf969..510f034 100644 +--- a/src/NCApplication.cc ++++ b/src/NCApplication.cc +@@ -23,7 +23,7 @@ + + /-*/ + +-#include <ncursesw/curses.h> ++#include <curses.h> + + #define YUILogComponent "ncurses" + #include <yui/YUILog.h> +diff --git a/src/NCstyle.h b/src/NCstyle.h +index a40d5a8..3657917 100644 +--- a/src/NCstyle.h ++++ b/src/NCstyle.h +@@ -25,7 +25,7 @@ + #ifndef NCstyle_h + #define NCstyle_h + +-#include <ncursesw/ncurses.h> ++#include <ncurses.h> + + #include <iosfwd> + #include <string> +diff --git a/src/NCurses.h b/src/NCurses.h +index a07c6bf..d17d3c3 100644 +--- a/src/NCurses.h ++++ b/src/NCurses.h +@@ -34,7 +34,7 @@ + #include <yui/YWidget.h> + #include <yui/YMenuItem.h> + +-#include <ncursesw/curses.h> /* curses.h: #define NCURSES_CH_T cchar_t */ ++#include <curses.h> /* curses.h: #define NCURSES_CH_T cchar_t */ + #include <wchar.h> + + #include "ncursesw.h" +diff --git a/src/ncursesp.h b/src/ncursesp.h +index d478347..2fcfea5 100644 +--- a/src/ncursesp.h ++++ b/src/ncursesp.h +@@ -28,7 +28,7 @@ + #include <iosfwd> + + #include "ncursesw.h" +-#include <ncursesw/panel.h> ++#include <panel.h> + + class NCursesPanel : public NCursesWindow + { +diff --git a/src/ncursesw.cc b/src/ncursesw.cc +index 3c771af..bb83210 100644 +--- a/src/ncursesw.cc ++++ b/src/ncursesw.cc +@@ -47,7 +47,7 @@ + #include <iostream> + #include <stdlib.h> + #include <string.h> +-#include <ncursesw/term.h> ++#include <term.h> + #undef line + #undef columns + +diff --git a/src/ncursesw.h b/src/ncursesw.h +index d25923a..c140d37 100644 +--- a/src/ncursesw.h ++++ b/src/ncursesw.h +@@ -27,8 +27,8 @@ + + #include <iosfwd> + +-#include <ncursesw/curses.h> +-#include <ncursesw/etip.h> ++#include <curses.h> ++#include <etip.h> + #include <cstdio> + #include <cstdarg> + #include <climits> +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch new file mode 100644 index 000000000..8e3774c1a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch @@ -0,0 +1,40 @@ +From 4b84f243a70a8c07f6a38dad3c9411fa707f25c9 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 4 Mar 2018 17:08:43 -0800 +Subject: [PATCH] use _nl_msg_cat_cntr only with glibc + +The musl libc provides libintl (similar to glibc) +but does not use the same internals, +so even though we are using the GNU gettext +the libintl included with the libc does not define +_nl_msg_cat_cntr and it does not need to. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + src/NCi18n.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/NCi18n.h b/src/NCi18n.h +index 165b0e7..bfc4ed7 100644 +--- a/src/NCi18n.h ++++ b/src/NCi18n.h +@@ -59,12 +59,13 @@ inline void setTextdomain( const char * domain ) + bindtextdomain( domain, YSettings::localeDir().c_str() ); + bind_textdomain_codeset( domain, "UTF-8" ); + textdomain( domain ); +- ++#if defined(__GLIBC__) + // Make change known + { + extern int _nl_msg_cat_cntr; + ++_nl_msg_cat_cntr; + } ++#endif + } + + +-- +2.16.2 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb new file mode 100644 index 000000000..578c71301 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb @@ -0,0 +1,49 @@ +SUMMARY = "Character Based User Interface for libyui" +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \ +" + +SRC_URI = "git://github.com/libyui/libyui-ncurses.git \ + file://0001-use-_nl_msg_cat_cntr-only-with-glibc.patch \ + " + +SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch" + +PV = "2.48.3+git${SRCPV}" +SRCREV = "79b804b45ffc6a0d92e28e793ff389a20b63b54b" + +S = "${WORKDIR}/git" + +inherit cmake gettext pkgconfig + +DEPENDS += "boost libyui ncurses" + +BBCLASSEXTEND = "nativesdk" + +do_configure_prepend () { + cd ${S} + git checkout bootstrap.sh + sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" bootstrap.sh + ./bootstrap.sh + mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/ + cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/ + cd - + sed -i "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt + sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${PKG_CONFIG_SYSROOT_DIR}${libdir}/cmake/libyui/LibyuiLibraryDepends-release.cmake +} + +do_install_append () { + if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then + mv ${D}/usr/lib64 ${D}/usr/lib + fi +} + +do_install_append_class-nativesdk () { + mkdir -p ${D}/${base_prefix} + mv ${D}/usr ${D}/${base_prefix} +} + +FILES_${PN} += "${datadir}/*" + +FILES_${PN}-dev += "${libdir}/*" diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch new file mode 100644 index 000000000..c1ba42eee --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch @@ -0,0 +1,48 @@ +From 1e6d40fec16a94d1a4bd40634405267200b7e969 Mon Sep 17 00:00:00 2001 +From: marxin <mliska@suse.cz> +Date: Tue, 10 Apr 2018 15:21:40 +0200 +Subject: [PATCH] Fix GCC 8 warning: +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +/home/marxin/Programming/libyui/src/YDialog.cc: In static member function ‘static void YDialog::showText(const string&, bool)’: +/home/marxin/Programming/libyui/src/YDialog.cc:690:26: error: catching polymorphic type ‘class YUIException’ by value [-Werror=catch-value=] + catch ( YUIException exception ) + ^~~~~~~~~ +/home/marxin/Programming/libyui/src/YDialog.cc: In static member function ‘static bool YDialog::showRelNotesText()’: +/home/marxin/Programming/libyui/src/YDialog.cc:814:26: error: catching polymorphic type ‘class YUIException’ by value [-Werror=catch-value=] + catch ( YUIException exception ) + ^~~~~~~~~ +--- +Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/122] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + + src/YDialog.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/YDialog.cc b/src/YDialog.cc +index 92e5031..8ecff90 100644 +--- a/src/YDialog.cc ++++ b/src/YDialog.cc +@@ -687,7 +687,7 @@ YDialog::showText( const std::string & text, bool useRichText ) + dialog->waitForEvent(); + dialog->destroy(); + } +- catch ( YUIException exception ) ++ catch ( YUIException &exception ) + { + // Don't let the application die just because help couldn't be displayed. + +@@ -811,7 +811,7 @@ YDialog::showRelNotesText() + } + dialog->destroy(); + } +- catch ( YUIException exception ) ++ catch ( YUIException &exception ) + { + // Don't let the application die just because RN couldn't be displayed. + +-- +2.17.0 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch new file mode 100644 index 000000000..426901819 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch @@ -0,0 +1,687 @@ +From 18562671982ad97549bccb444fdbb5905b6e9335 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 24 Apr 2018 15:06:14 -0700 +Subject: [PATCH] Fix build with clang + +Fix warnings found with clang + +error: class 'YButtonBoxPrivate' was previously declared as a struct [-Werror,-Wmismatched-tags] +| friend class YButtonBoxPrivate; + +YTimezoneSelector.cc:35:9: error: private field 'dummy' is not used [-Werror,-Wunused-private-field] + bool dummy; + ^ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/123] + + src/YAlignment.h | 2 +- + src/YBarGraph.h | 2 +- + src/YBusyIndicator.h | 2 +- + src/YButtonBox.h | 4 ++-- + src/YCheckBox.h | 2 +- + src/YCheckBoxFrame.h | 2 +- + src/YComboBox.h | 2 +- + src/YCommandLine.h | 2 +- + src/YContextMenu.h | 2 +- + src/YDateField.h | 2 +- + src/YDialog.h | 2 +- + src/YDownloadProgress.h | 2 +- + src/YDumbTab.h | 2 +- + src/YEmpty.h | 2 +- + src/YEventFilter.h | 2 +- + src/YFrame.h | 2 +- + src/YGraph.h | 2 +- + src/YImage.h | 2 +- + src/YInputField.h | 2 +- + src/YIntField.h | 2 +- + src/YLabel.h | 2 +- + src/YLayoutBox.h | 2 +- + src/YLogView.h | 2 +- + src/YMenuButton.h | 2 +- + src/YMultiLineEdit.h | 2 +- + src/YMultiProgressMeter.h | 2 +- + src/YMultiSelectionBox.h | 2 +- + src/YPartitionSplitter.h | 2 +- + src/YProgressBar.h | 2 +- + src/YPushButton.h | 2 +- + src/YRadioButton.h | 2 +- + src/YRadioButtonGroup.h | 2 +- + src/YRichText.h | 2 +- + src/YSelectionBox.h | 2 +- + src/YSelectionWidget.h | 2 +- + src/YSimpleInputField.h | 2 +- + src/YSlider.h | 2 +- + src/YSpacing.h | 2 +- + src/YSquash.h | 2 +- + src/YTable.h | 2 +- + src/YTableHeader.h | 2 +- + src/YTimeField.h | 2 +- + src/YTimezoneSelector.cc | 2 +- + src/YTree.h | 2 +- + src/YUILog.h | 2 +- + src/YWidget.h | 2 +- + src/YWizard.h | 2 +- + 47 files changed, 48 insertions(+), 48 deletions(-) + +diff --git a/src/YAlignment.h b/src/YAlignment.h +index d716c77..7276944 100644 +--- a/src/YAlignment.h ++++ b/src/YAlignment.h +@@ -28,7 +28,7 @@ + #include "YSingleChildContainerWidget.h" + + +-class YAlignmentPrivate; ++struct YAlignmentPrivate; + + /** + * Implementation of all the alignment widgets: +diff --git a/src/YBarGraph.h b/src/YBarGraph.h +index 29f7f26..d7eaad2 100644 +--- a/src/YBarGraph.h ++++ b/src/YBarGraph.h +@@ -29,7 +29,7 @@ + #include "YColor.h" + + +-class YBarGraphPrivate; ++struct YBarGraphPrivate; + class YBarGraphSegment; + + /** +diff --git a/src/YBusyIndicator.h b/src/YBusyIndicator.h +index 9530fa5..75297d8 100644 +--- a/src/YBusyIndicator.h ++++ b/src/YBusyIndicator.h +@@ -27,7 +27,7 @@ + + #include "YWidget.h" + +-class YBusyIndicatorPrivate; ++struct YBusyIndicatorPrivate; + + + /** +diff --git a/src/YButtonBox.h b/src/YButtonBox.h +index 84f8dbb..ca51f57 100644 +--- a/src/YButtonBox.h ++++ b/src/YButtonBox.h +@@ -30,7 +30,7 @@ + #include "YWidget.h" + #include "YPushButton.h" + +-class YButtonBoxPrivate; ++struct YButtonBoxPrivate; + class YPushButton; + + +@@ -147,7 +147,7 @@ struct YButtonBoxMargins + **/ + class YButtonBox : public YWidget + { +- friend class YButtonBoxPrivate; ++ friend struct YButtonBoxPrivate; + + protected: + /** +diff --git a/src/YCheckBox.h b/src/YCheckBox.h +index 793cc77..03f3faa 100644 +--- a/src/YCheckBox.h ++++ b/src/YCheckBox.h +@@ -30,7 +30,7 @@ + #include "YWidget.h" + #include "ImplPtr.h" + +-class YCheckBoxPrivate; ++struct YCheckBoxPrivate; + + enum YCheckBoxState + { +diff --git a/src/YCheckBoxFrame.h b/src/YCheckBoxFrame.h +index 243f1a0..7017110 100644 +--- a/src/YCheckBoxFrame.h ++++ b/src/YCheckBoxFrame.h +@@ -29,7 +29,7 @@ + #include "YSingleChildContainerWidget.h" + #include "ImplPtr.h" + +-class YCheckBoxFramePrivate; ++struct YCheckBoxFramePrivate; + + + /** +diff --git a/src/YComboBox.h b/src/YComboBox.h +index 416359a..ad0e550 100644 +--- a/src/YComboBox.h ++++ b/src/YComboBox.h +@@ -27,7 +27,7 @@ + + #include "YSelectionWidget.h" + +-class YComboBoxPrivate; ++struct YComboBoxPrivate; + + + /** +diff --git a/src/YCommandLine.h b/src/YCommandLine.h +index 70cb4fe..f344a3b 100644 +--- a/src/YCommandLine.h ++++ b/src/YCommandLine.h +@@ -28,7 +28,7 @@ + #include <string> + #include "ImplPtr.h" + +-class YCommandLinePrivate; ++struct YCommandLinePrivate; + + + /** +diff --git a/src/YContextMenu.h b/src/YContextMenu.h +index a4acb1c..1253002 100644 +--- a/src/YContextMenu.h ++++ b/src/YContextMenu.h +@@ -29,7 +29,7 @@ + #include "YMenuItem.h" + + class YMenuItem; +-class YContextMenuPrivate; ++struct YContextMenuPrivate; + + + /** +diff --git a/src/YDateField.h b/src/YDateField.h +index e5a468d..6164fba 100644 +--- a/src/YDateField.h ++++ b/src/YDateField.h +@@ -27,7 +27,7 @@ + + #include "YSimpleInputField.h" + +-class YDateFieldPrivate; ++struct YDateFieldPrivate; + + /** + * Input field for entering a date. +diff --git a/src/YDialog.h b/src/YDialog.h +index 66c25c0..371209b 100644 +--- a/src/YDialog.h ++++ b/src/YDialog.h +@@ -32,7 +32,7 @@ + + class YShortcutManager; + class YPushButton; +-class YDialogPrivate; ++struct YDialogPrivate; + class YEvent; + class YEventFilter; + +diff --git a/src/YDownloadProgress.h b/src/YDownloadProgress.h +index c47ec4f..fe09a9d 100644 +--- a/src/YDownloadProgress.h ++++ b/src/YDownloadProgress.h +@@ -28,7 +28,7 @@ + #include "YWidget.h" + + +-class YDownloadProgressPrivate; ++struct YDownloadProgressPrivate; + + /** + * DownloadProgress: A progress bar that monitors downloading a file by +diff --git a/src/YDumbTab.h b/src/YDumbTab.h +index aec17a3..f8fb250 100644 +--- a/src/YDumbTab.h ++++ b/src/YDumbTab.h +@@ -27,7 +27,7 @@ + + #include "YSelectionWidget.h" + +-class YDumbTabPrivate; ++struct YDumbTabPrivate; + + /** + * DumbTab: A very simple tab widget that can display and switch between a +diff --git a/src/YEmpty.h b/src/YEmpty.h +index 9a3cb36..9b88fbc 100644 +--- a/src/YEmpty.h ++++ b/src/YEmpty.h +@@ -29,7 +29,7 @@ + #include "ImplPtr.h" + + +-class YEmptyPrivate; ++struct YEmptyPrivate; + + /** + * A widget with zero size, useful as a placeholder. +diff --git a/src/YEventFilter.h b/src/YEventFilter.h +index 3dc1803..74aa62d 100644 +--- a/src/YEventFilter.h ++++ b/src/YEventFilter.h +@@ -32,7 +32,7 @@ + class YEvent; + class YDialog; + +-class YEventFilterPrivate; ++struct YEventFilterPrivate; + + + /** +diff --git a/src/YFrame.h b/src/YFrame.h +index 111e8ec..4f8c61e 100644 +--- a/src/YFrame.h ++++ b/src/YFrame.h +@@ -29,7 +29,7 @@ + #include "YSingleChildContainerWidget.h" + #include "ImplPtr.h" + +-class YFramePrivate; ++struct YFramePrivate; + + + /** +diff --git a/src/YGraph.h b/src/YGraph.h +index d90d1ae..287d800 100644 +--- a/src/YGraph.h ++++ b/src/YGraph.h +@@ -37,7 +37,7 @@ + * For that reason a lot of functions simply take a void* instead of graph_t*. + */ + +-class YGraphPrivate; ++struct YGraphPrivate; + + /** + * A graph with nodes and edges, rendered with Graphviz. +diff --git a/src/YImage.h b/src/YImage.h +index 17bea21..84eb674 100644 +--- a/src/YImage.h ++++ b/src/YImage.h +@@ -29,7 +29,7 @@ + #include <string> + + +-class YImagePrivate; ++struct YImagePrivate; + + /** + * A picture, possibly animated, loaded from a file. +diff --git a/src/YInputField.h b/src/YInputField.h +index 70641ce..fa29b42 100644 +--- a/src/YInputField.h ++++ b/src/YInputField.h +@@ -28,7 +28,7 @@ + #include <string> + #include "YWidget.h" + +-class YInputFieldPrivate; ++struct YInputFieldPrivate; + + + +diff --git a/src/YIntField.h b/src/YIntField.h +index 9da0537..8ad2949 100644 +--- a/src/YIntField.h ++++ b/src/YIntField.h +@@ -27,7 +27,7 @@ + + #include "YWidget.h" + +-class YIntFieldPrivate; ++struct YIntFieldPrivate; + + + +diff --git a/src/YLabel.h b/src/YLabel.h +index d2fff61..bf06d8b 100644 +--- a/src/YLabel.h ++++ b/src/YLabel.h +@@ -30,7 +30,7 @@ + #include "ImplPtr.h" + + +-class YLabelPrivate; ++struct YLabelPrivate; + + /** + * Implementation of the Label, Heading and OutputField widgets +diff --git a/src/YLayoutBox.h b/src/YLayoutBox.h +index e652a45..070eaff 100644 +--- a/src/YLayoutBox.h ++++ b/src/YLayoutBox.h +@@ -29,7 +29,7 @@ + #include "YWidget.h" + + +-class YLayoutBoxPrivate; ++struct YLayoutBoxPrivate; + + /** + * A vertical or horizontal stacking of widgets, implementing HBox and VBox. +diff --git a/src/YLogView.h b/src/YLogView.h +index 53fb9ee..5b44229 100644 +--- a/src/YLogView.h ++++ b/src/YLogView.h +@@ -27,7 +27,7 @@ + + #include "YWidget.h" + +-class YLogViewPrivate; ++struct YLogViewPrivate; + + + /** +diff --git a/src/YMenuButton.h b/src/YMenuButton.h +index 205e730..5df7efb 100644 +--- a/src/YMenuButton.h ++++ b/src/YMenuButton.h +@@ -29,7 +29,7 @@ + #include "YMenuItem.h" + + class YMenuItem; +-class YMenuButtonPrivate; ++struct YMenuButtonPrivate; + + + /** +diff --git a/src/YMultiLineEdit.h b/src/YMultiLineEdit.h +index c52a6ae..1f792f8 100644 +--- a/src/YMultiLineEdit.h ++++ b/src/YMultiLineEdit.h +@@ -27,7 +27,7 @@ + + #include "YWidget.h" + +-class YMultiLineEditPrivate; ++struct YMultiLineEditPrivate; + + /** + * A multi-line plain-text area +diff --git a/src/YMultiProgressMeter.h b/src/YMultiProgressMeter.h +index 57c758d..f6bec91 100644 +--- a/src/YMultiProgressMeter.h ++++ b/src/YMultiProgressMeter.h +@@ -28,7 +28,7 @@ + #include "YWidget.h" + #include <vector> + +-class YMultiProgressMeterPrivate; ++struct YMultiProgressMeterPrivate; + + + /** +diff --git a/src/YMultiSelectionBox.h b/src/YMultiSelectionBox.h +index bbe5a20..f3a2947 100644 +--- a/src/YMultiSelectionBox.h ++++ b/src/YMultiSelectionBox.h +@@ -27,7 +27,7 @@ + + #include "YSelectionWidget.h" + +-class YMultiSelectionBoxPrivate; ++struct YMultiSelectionBoxPrivate; + + + /** +diff --git a/src/YPartitionSplitter.h b/src/YPartitionSplitter.h +index 2839bbc..9de1174 100644 +--- a/src/YPartitionSplitter.h ++++ b/src/YPartitionSplitter.h +@@ -28,7 +28,7 @@ + #include "YWidget.h" + + +-class YPartitionSplitterPrivate; ++struct YPartitionSplitterPrivate; + + + /** +diff --git a/src/YProgressBar.h b/src/YProgressBar.h +index 718352f..baab662 100644 +--- a/src/YProgressBar.h ++++ b/src/YProgressBar.h +@@ -27,7 +27,7 @@ + + #include "YWidget.h" + +-class YProgressBarPrivate; ++struct YProgressBarPrivate; + + + /** +diff --git a/src/YPushButton.h b/src/YPushButton.h +index 5b65c98..e288252 100644 +--- a/src/YPushButton.h ++++ b/src/YPushButton.h +@@ -27,7 +27,7 @@ + + #include "YWidget.h" + +-class YPushButtonPrivate; ++struct YPushButtonPrivate; + + + +diff --git a/src/YRadioButton.h b/src/YRadioButton.h +index 9dc62de..5a7c0dd 100644 +--- a/src/YRadioButton.h ++++ b/src/YRadioButton.h +@@ -28,7 +28,7 @@ + #include "YWidget.h" + + class YRadioButtonGroup; +-class YRadioButtonPrivate; ++struct YRadioButtonPrivate; + + + /** +diff --git a/src/YRadioButtonGroup.h b/src/YRadioButtonGroup.h +index 063a52e..671a257 100644 +--- a/src/YRadioButtonGroup.h ++++ b/src/YRadioButtonGroup.h +@@ -28,7 +28,7 @@ + #include "YSingleChildContainerWidget.h" + + class YRadioButton; +-class YRadioButtonGroupPrivate; ++struct YRadioButtonGroupPrivate; + + typedef std::list<YRadioButton *> YRadioButtonList; + typedef YRadioButtonList::iterator YRadioButtonListIterator; +diff --git a/src/YRichText.h b/src/YRichText.h +index 149bfb3..86b3f80 100644 +--- a/src/YRichText.h ++++ b/src/YRichText.h +@@ -30,7 +30,7 @@ + #include "ImplPtr.h" + + +-class YRichTextPrivate; ++struct YRichTextPrivate; + + + /** +diff --git a/src/YSelectionBox.h b/src/YSelectionBox.h +index 7fc4fb8..9bbf9f3 100644 +--- a/src/YSelectionBox.h ++++ b/src/YSelectionBox.h +@@ -27,7 +27,7 @@ + + #include "YSelectionWidget.h" + +-class YSelectionBoxPrivate; ++struct YSelectionBoxPrivate; + + + /** +diff --git a/src/YSelectionWidget.h b/src/YSelectionWidget.h +index abbdfb4..cf05afd 100644 +--- a/src/YSelectionWidget.h ++++ b/src/YSelectionWidget.h +@@ -29,7 +29,7 @@ + #include "YItem.h" + #include "ImplPtr.h" + +-class YSelectionWidgetPrivate; ++struct YSelectionWidgetPrivate; + + /** + * Base class for various kinds of multi-value widgets. +diff --git a/src/YSimpleInputField.h b/src/YSimpleInputField.h +index 6d926d4..b93fe6b 100644 +--- a/src/YSimpleInputField.h ++++ b/src/YSimpleInputField.h +@@ -27,7 +27,7 @@ + + #include "YWidget.h" + +-class YSimpleInputFieldPrivate; ++struct YSimpleInputFieldPrivate; + + + /** +diff --git a/src/YSlider.h b/src/YSlider.h +index d29f6b8..4bcd7d3 100644 +--- a/src/YSlider.h ++++ b/src/YSlider.h +@@ -27,7 +27,7 @@ + + #include "YIntField.h" + +-class YSliderPrivate; ++struct YSliderPrivate; + + + /** +diff --git a/src/YSpacing.h b/src/YSpacing.h +index e8aafd3..066cd68 100644 +--- a/src/YSpacing.h ++++ b/src/YSpacing.h +@@ -28,7 +28,7 @@ + #include "YWidget.h" + #include "ImplPtr.h" + +-class YSpacingPrivate; ++struct YSpacingPrivate; + + + /** +diff --git a/src/YSquash.h b/src/YSquash.h +index 4bd0fb6..3804cc4 100644 +--- a/src/YSquash.h ++++ b/src/YSquash.h +@@ -29,7 +29,7 @@ + #include "ImplPtr.h" + + +-class YSquashPrivate; ++struct YSquashPrivate; + + /** + * HSquash, VSquash HVSquash: reduce child to its preferred size. +diff --git a/src/YTable.h b/src/YTable.h +index 6694f10..469b8ca 100644 +--- a/src/YTable.h ++++ b/src/YTable.h +@@ -30,7 +30,7 @@ + #include "YTableItem.h" + #include "YTableHeader.h" + +-class YTablePrivate; ++struct YTablePrivate; + + + +diff --git a/src/YTableHeader.h b/src/YTableHeader.h +index 70166c2..4ae99b4 100644 +--- a/src/YTableHeader.h ++++ b/src/YTableHeader.h +@@ -31,7 +31,7 @@ + + + +-class YTableHeaderPrivate; ++struct YTableHeaderPrivate; + + /** + * Helper class for YTable for table column properties: +diff --git a/src/YTimeField.h b/src/YTimeField.h +index ab2f9a3..f3a7b94 100644 +--- a/src/YTimeField.h ++++ b/src/YTimeField.h +@@ -27,7 +27,7 @@ + + #include "YSimpleInputField.h" + +-class YTimeFieldPrivate; ++struct YTimeFieldPrivate; + + + /** +diff --git a/src/YTimezoneSelector.cc b/src/YTimezoneSelector.cc +index 9259b64..e2f9b6f 100644 +--- a/src/YTimezoneSelector.cc ++++ b/src/YTimezoneSelector.cc +@@ -32,7 +32,7 @@ + + class YTimezoneSelectorPrivate + { +- bool dummy; ++// bool dummy; + }; + + +diff --git a/src/YTree.h b/src/YTree.h +index 14fa279..70e1364 100644 +--- a/src/YTree.h ++++ b/src/YTree.h +@@ -28,7 +28,7 @@ + #include "YSelectionWidget.h" + + class YTreeItem; +-class YTreePrivate; ++struct YTreePrivate; + + + /** +diff --git a/src/YUILog.h b/src/YUILog.h +index 0890bc5..4a927a7 100644 +--- a/src/YUILog.h ++++ b/src/YUILog.h +@@ -64,7 +64,7 @@ + + + +-class YUILogPrivate; ++struct YUILogPrivate; + + enum YUILogLevel_t + { +diff --git a/src/YWidget.h b/src/YWidget.h +index 5b285d0..636a41b 100644 +--- a/src/YWidget.h ++++ b/src/YWidget.h +@@ -45,7 +45,7 @@ typedef YChildrenManager<YWidget> YWidgetChildrenManager; + typedef YSingleChildManager<YWidget> YSingleWidgetChildManager; + typedef YChildrenRejector<YWidget> YWidgetChildrenRejector; + +-class YWidgetPrivate; ++struct YWidgetPrivate; + + + /** +diff --git a/src/YWizard.h b/src/YWizard.h +index 7671cbf..975b597 100644 +--- a/src/YWizard.h ++++ b/src/YWizard.h +@@ -28,7 +28,7 @@ + #include "YWidget.h" + + class YMacroRecorder; +-class YWizardPrivate; ++struct YWizardPrivate; + class YPushButton; + class YReplacePoint; + diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb new file mode 100644 index 000000000..42945288c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb @@ -0,0 +1,41 @@ +SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends." +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + " + +SRC_URI = "git://github.com/libyui/libyui.git \ + file://0001-Fix-GCC-8-warning.patch \ + file://0001-Fix-build-with-clang.patch \ + " + +PV = "3.3.3+git" +SRCREV = "2b634cb7821e2e79dd4b7a73caf8e67c50189376" + +S = "${WORKDIR}/git" + +inherit cmake gettext pkgconfig + +DEPENDS += "boost" + +BBCLASSEXTEND = "native nativesdk" + +do_configure_prepend () { + cd ${S} + ./bootstrap.sh + cd - +} + +do_install_append () { + if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then + mv ${D}/usr/lib64 ${D}/usr/lib + fi +} + +do_install_append_class-nativesdk () { + mkdir -p ${D}/${base_prefix} + mv ${D}/usr ${D}/${base_prefix} +} + +FILES_${PN}-dev = "${libdir}/* ${includedir}/yui*" diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch new file mode 100644 index 000000000..f9fd4970f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch @@ -0,0 +1,36 @@ +From 1d2425febf2020e38db70188df582acc9f37b136 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 30 Mar 2017 13:01:33 -0700 +Subject: [PATCH] check for libexecinfo providing backtrace() APIs + +on musl it depends on external library to provide backtrace APIs +unlike glibc where it is bundled in + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/configure.ac b/configure.ac +index aa3291c..b15f65d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -15,6 +15,7 @@ AM_PROG_CC_C_O + + # Checks for libraries. + AC_CHECK_LIB([crypt], [crypt]) ++AC_CHECK_LIB([execinfo], [backtrace]) + + # Check for PAM support + AC_ARG_WITH(pam, AC_HELP_STRING([--with-pam],[Use PAM for authentication]), +@@ -33,6 +34,7 @@ AM_CONDITIONAL(HAVE_PAM, [test -n "$USE_PAM" -a "x$USE_PAM" != xno ]) + # Checks for header files. + AC_PATH_X + AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h]) ++AC_CHECK_HEADERS([execinfo.h]) + + # Checks for typedefs, structures, and compiler characteristics. + AC_TYPE_PID_T +-- +2.12.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-lxdm.conf.in-blacklist-root-for-release-images.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-lxdm.conf.in-blacklist-root-for-release-images.patch new file mode 100644 index 000000000..49ecdb8d3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-lxdm.conf.in-blacklist-root-for-release-images.patch @@ -0,0 +1,29 @@ +From 5038c49c0b61e057dec44c932f02c4bf99cee96e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Mon, 3 Sep 2012 10:02:51 +0200 +Subject: [PATCH] lxdm.conf.in: blacklist root for release images +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + data/lxdm.conf.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/data/lxdm.conf.in b/data/lxdm.conf.in +index defc082..759e6e5 100644 +--- a/data/lxdm.conf.in ++++ b/data/lxdm.conf.in +@@ -58,5 +58,5 @@ disable=0 + white= + + ## blacklist user +-black= ++black=root + +-- +1.7.4.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch new file mode 100644 index 000000000..75dc10c97 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch @@ -0,0 +1,35 @@ +From 0ea0329f2c19a43acdc8444fa89e233ba617973d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Mon, 6 Oct 2014 13:06:24 +0200 +Subject: [PATCH] let autotools create lxdm.conf +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +in out of tree builds lxdm.conf is empty + +Upstream-Status: submitted [1] + +[1] http://sourceforge.net/p/lxde/mailman/message/32901417/ + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + data/lxdm.conf.in | 2 +- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/data/lxdm.conf.in b/data/lxdm.conf.in +index d93f280..6206262 100644 +--- a/data/lxdm.conf.in ++++ b/data/lxdm.conf.in +@@ -19,7 +19,7 @@ + # skip_password=1 + + ## greeter used to welcome the user +-greeter=@FULL_LIBEXECDIR@/lxdm-greeter-gtk ++greeter=@libexecdir@/lxdm-greeter-gtk + + [server] + ## arg used to start xserver, not fully function +-- +1.8.3.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam new file mode 100644 index 000000000..486621f4f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam @@ -0,0 +1,13 @@ +#%PAM-1.0 +# taken from http://aur.archlinux.org/packages/lx/lxdm-git/lxdm-git.tar.gz +# further info https://wiki.archlinux.org/index.php/LXDM +auth requisite pam_nologin.so +auth required pam_env.so +auth required pam_unix.so +# To allow passwordless login comment previous line and uncomment next line +#auth required pam_unix.so nullok +account required pam_unix.so +session required pam_limits.so +session required pam_unix.so +password required pam_unix.so +-session optional pam_systemd.so diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam-debug b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam-debug new file mode 100644 index 000000000..734949fa4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam-debug @@ -0,0 +1,13 @@ +#%PAM-1.0 +# taken from http://aur.archlinux.org/packages/lx/lxdm-git/lxdm-git.tar.gz +# further info https://wiki.archlinux.org/index.php/LXDM +auth requisite pam_nologin.so +auth required pam_env.so +#auth required pam_unix.so +# To deny passwordless login comment next line and uncomment previous line +auth required pam_unix.so nullok +account required pam_unix.so +session required pam_limits.so +session required pam_unix.so +password required pam_unix.so +-session optional pam_systemd.so diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm.conf b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm.conf new file mode 100644 index 000000000..0a6e6721b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm.conf @@ -0,0 +1,4 @@ +[base] +last_session= +last_lang= +last_langs= diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb new file mode 100644 index 000000000..8e7efcdad --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb @@ -0,0 +1,80 @@ +SUMMARY = "LXDM is the lightweight display manager" +HOMEPAGE = "http://blog.lxde.org/?p=531" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}%20${PV}/${BPN}-${PV}.tar.xz \ + file://lxdm.conf \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://lxdm-pam file://lxdm-pam-debug', '', d)} \ + ${@bb.utils.contains("DISTRO_TYPE", "debug", "", "file://0001-lxdm.conf.in-blacklist-root-for-release-images.patch",d)} \ + file://0002-let-autotools-create-lxdm.conf.patch \ + file://0001-check-for-libexecinfo-providing-backtrace-APIs.patch \ + " +SRC_URI[md5sum] = "061caae432634e6db38bbdc84bc6ffa0" +SRC_URI[sha256sum] = "4891efee81c72a400cc6703e40aa76f3f3853833d048b72ec805da0f93567f2f" + +PE = "1" + +DEPENDS = "virtual/libintl intltool-native cairo dbus gdk-pixbuf glib-2.0 gtk+ virtual/libx11 libxcb pango iso-codes" +DEPENDS += "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)}" +DEPENDS_append_libc-musl = " libexecinfo" + +# combine oe-core way with angstrom DISTRO_TYPE +DISTRO_TYPE ?= "${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}" + +inherit autotools pkgconfig gettext systemd distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +CFLAGS_append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr " +LDFLAGS_append_libc-musl = " -lexecinfo" + +EXTRA_OECONF += "--enable-gtk3=no --enable-password=yes --with-x -with-xconn=xcb \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ +" + +do_configure_prepend() { + cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/ +} + +do_compile_append() { + # default background configured not available / no password field available / no default screensaver + sed -i -e 's,bg=,# bg=,g' \ + -e 's,# skip_password=,skip_password=,g' \ + -e 's,# arg=.*,arg=${bindir}/X -s 0,g' \ + ${S}/data/lxdm.conf.in + # add default configuration + oe_runmake -C ${B}/data lxdm.conf +} + +do_install_append() { + install -d ${D}${localstatedir}/lib/lxdm + install -m 644 ${WORKDIR}/lxdm.conf ${D}${localstatedir}/lib/lxdm + if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then + # ArchLinux version of pam config has the following advantages: + # * simple setup of passwordless login + # * in XFCE powerdown/restart enabled in logoff dialog + install -m 644 ${WORKDIR}/${@bb.utils.contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)} ${D}${sysconfdir}/pam.d/lxdm + fi +} + +# make installed languages choosable +pkg_postinst_${PN} () { +langs="" +for lang in `find $D${libdir}/locale -maxdepth 1 | grep _ | sort`; do +lang=`basename $lang` +if [ "x$langs" = "x" ]; then + langs="$lang" +else + langs="$langs $lang" +fi +done +sed -i "s:last_langs=.*$:last_langs=$langs:g" $D${localstatedir}/lib/lxdm/lxdm.conf +} + +RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash librsvg-gtk" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "lxdm.service" diff --git a/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb new file mode 100644 index 000000000..08d7f5b52 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb @@ -0,0 +1,23 @@ +SUMMARY = "Enable NumLock in X11 sessions" +HOMEPAGE = "http://home.kde.org/~seli/numlockx/" +SECTION = "x11/apps" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://LICENSE;md5=dcb1cc75e21540a4a66b54e38d95b047" +DEPENDS = "virtual/libx11 libxtst" + +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/numlockx/numlockx-${PV}.tar.gz/be9109370447eae23f6f3f8527bb1a67/numlockx-${PV}.tar.gz" + +SRC_URI[md5sum] = "be9109370447eae23f6f3f8527bb1a67" +SRC_URI[sha256sum] = "e468eb9121c94c9089dc6a287eeb347e900ce04a14be37da29d7696cbce772e4" + +inherit autotools distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OECONF = "--x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR}" + +do_configure_prepend() { + # remove this from acinclude.m4 or build fails + sed -i '/_AC_PATH_X_XMKMF/d' ${S}/acinclude.m4 +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch b/meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch new file mode 100644 index 000000000..2762e1c21 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch @@ -0,0 +1,54 @@ +From 6bbde84a2197c97e49d9e64118a979728209e436 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Wed, 23 Sep 2015 23:21:42 +0200 +Subject: [PATCH] Makefile.am: avoid race when creating autostart directories +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +fixes: + +| make: creating data/xsession/openbox-gnome-session +| make: creating data/xsession/openbox-session +| make: creating data/xsession/openbox-kde-session +| make: creating data/autostart/openbox-autostart +| make: creating doc/openbox.1 +| make: creating data/autostart/autostart +| make: creating doc/openbox-session.1 +| make: creating doc/openbox-gnome-session.1 +| make: creating doc/openbox-kde-session.1 +| make: creating doc/obxprop.1 +| mkdir: cannot create directory './data/autostart': File exists +| Makefile:4329: recipe for target 'data/autostart/autostart' failed + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + Makefile.am | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index f25bf8e..306e77d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -505,14 +505,12 @@ edit = $(SED) \ + + data/autostart/autostart: $(top_srcdir)/data/autostart/autostart.in Makefile + @echo make: creating $@ +- @test -d $(shell dirname $(top_builddir)/$@) || \ +- mkdir $(shell dirname $(top_builddir)/$@) ++ mkdir -p $(shell dirname $(top_builddir)/$@) + @$(edit) $< >$(top_builddir)/$@ + + data/autostart/openbox-autostart: $(top_srcdir)/data/autostart/openbox-autostart.in Makefile + @echo make: creating $@ +- @test -d $(shell dirname $(top_builddir)/$@) || \ +- mkdir $(shell dirname $(top_builddir)/$@) ++ mkdir -p $(shell dirname $(top_builddir)/$@) + @$(edit) $< >$(top_builddir)/$@ + + %.desktop: %.desktop.in Makefile +-- +2.1.0 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb b/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb new file mode 100644 index 000000000..c35a0c723 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb @@ -0,0 +1,56 @@ +SUMMARY = "openbox Window Manager" +SECTION = "x11/wm" +DEPENDS = "glib-2.0 pango libxml2 virtual/libx11 libcroco librsvg gdk-pixbuf" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI = " \ + http://icculus.org/openbox/releases/openbox-${PV}.tar.gz \ + file://0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch \ +" + +SRC_URI[md5sum] = "b72794996c6a3ad94634727b95f9d204" +SRC_URI[sha256sum] = "8b4ac0760018c77c0044fab06a4f0c510ba87eae934d9983b10878483bde7ef7" + +inherit autotools gettext update-alternatives pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +ALTERNATIVE_${PN}-core = "x-window-manager x-session-manager" +ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/openbox" +ALTERNATIVE_PRIORITY[x-window-manager] = "10" +ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/openbox-session" +ALTERNATIVE_PRIORITY[x-session-manager] = "100" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[imlib2] = "--enable-imlib2,--disable-imlib2,imlib2" +PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" +PACKAGECONFIG[xrandr] = "--enable-xrandr,--disable-xrandr,libxrandr" +PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama" +PACKAGECONFIG[xcursor] = "--enable-xcursor,--disable-xcursor,libxcursor" + +PACKAGES =+ "${PN}-core ${PN}-lxde ${PN}-gnome ${PN}-config" + +PACKAGES_DYNAMIC += "^${PN}-theme-.*" + +python populate_packages_prepend() { + theme_dir = d.expand('${datadir}/themes/') + theme_name = d.expand('${PN}-theme-%s') + do_split_packages(d, theme_dir, '(.*)', theme_name, '${PN} theme for %s', extra_depends='', allow_dirs=True) +} + +RDEPENDS_${PN} += "${PN}-core ${PN}-config ${PN}-theme-clearlooks" +FILES_${PN}-core = "${bindir}/openbox ${bindir}/openbox-session ${libdir}/*${SOLIBS}" + +FILES_${PN}-lxde += "${datadir}/lxde/ \ + ${datadir}/lxpanel \ + ${datadir}/xsessions \ + ${datadir}/icons" + +FILES_${PN}-gnome += " \ + ${bindir}/openbox-gnome-session \ + ${datadir}/gnome \ + ${datadir}/gnome-session \ +" + +FILES_${PN}-config += "${sysconfdir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch new file mode 100644 index 000000000..866d9aa41 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch @@ -0,0 +1,31 @@ +From 226f07e4b49c2757b181c62e6841000c512054e3 Mon Sep 17 00:00:00 2001 +From: Even Rouault <even.rouault@spatialys.com> +Date: Mon, 14 Aug 2017 17:26:58 +0200 +Subject: [PATCH] bmp_read_info_header(): reject bmp files with biBitCount == 0 + (#983) + +Upstream-Status: Backport [https://github.com/uclouvain/openjpeg/commit/baf0c1ad4572daa89caa3b12985bdd93530f0dd7] +CVE: CVE-2017-12982 +Signed-off-by: Dengke Du <dengke.du@windriver.com> +--- + src/bin/jp2/convertbmp.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/bin/jp2/convertbmp.c b/src/bin/jp2/convertbmp.c +index b49e7a0..2715fdf 100644 +--- a/src/bin/jp2/convertbmp.c ++++ b/src/bin/jp2/convertbmp.c +@@ -392,6 +392,10 @@ static OPJ_BOOL bmp_read_info_header(FILE* IN, OPJ_BITMAPINFOHEADER* header) + + header->biBitCount = (OPJ_UINT16)getc(IN); + header->biBitCount |= (OPJ_UINT16)((OPJ_UINT32)getc(IN) << 8); ++ if (header->biBitCount == 0) { ++ fprintf(stderr, "Error, invalid biBitCount %d\n", 0); ++ return OPJ_FALSE; ++ } + + if (header->biSize >= 40U) { + header->biCompression = (OPJ_UINT32)getc(IN); +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.2.0.bb b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.2.0.bb new file mode 100644 index 000000000..4ef1c408f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.2.0.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec" +HOMEPAGE = "http://www.openjpeg.org" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c" + +SRC_URI = "https://github.com/uclouvain/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ + file://0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch \ + " +SRC_URI[md5sum] = "269bb0b175476f3addcc0d03bd9a97b6" +SRC_URI[sha256sum] = "6fddbce5a618e910e03ad00d66e7fcd09cc6ee307ce69932666d54c73b7c6e7b" + +inherit cmake + +DEPENDS = "libpng tiff lcms zlib" + +# standard path for *.cmake +EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_PACKAGE_DIR=${baselib}/cmake \ + -DOPENJPEG_INSTALL_LIB_DIR:PATH=${libdir}" + +FILES_${PN}-dev += "${libdir}/cmake/*.cmake" diff --git a/meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb b/meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb new file mode 100644 index 000000000..3069d2ded --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb @@ -0,0 +1,40 @@ +SUMMARY = "Install one of these tasks to get support for truetype fonts" +SECTION = "fonts" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PV = "1.0" +PR = "r2" + +inherit packagegroup + +PACKAGES += "\ + ${PN}-core \ + ${PN}-chinese \ + ${PN}-japanese \ +" + +RRECOMMENDS_${PN} = "\ + ${PN}-core \ + ${PN}-chinese \ + ${PN}-japanese \ +" + +RDEPENDS_${PN}-core = "\ + fontconfig-utils \ + \ + ttf-dejavu-common \ + ttf-dejavu-sans \ + ttf-dejavu-sans-mono \ +" +# ttf-dejavu-serif + +RDEPENDS_${PN}-chinese = "\ + ${PN}-core \ + ttf-arphic-uming \ +" + +RDEPENDS_${PN}-japanese = "\ + ${PN}-core \ + ttf-sazanami-gothic \ + ttf-sazanami-mincho \ +" diff --git a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb new file mode 100644 index 000000000..e0f72cd58 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "C++ bindings for the pango library" +SECTION = "libs" +LICENSE = "LGPLv2.1 & GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \ + file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "mm-common cairomm glibmm pango" + +SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" + +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/pangomm/${SHRT_VER}/pangomm-${PV}.tar.xz" +SRC_URI[md5sum] = "874eadd9434613dbacf0272c82c3ac23" +SRC_URI[sha256sum] = "9762ee2a2d5781be6797448d4dd2383ce14907159b30bc12bf6b08e7227be3af" + +inherit distro_features_check autotools pkgconfig + +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OECONF = " --disable-documentation " + +FILES_${PN} = "${libdir}/lib*.so.*" +FILES_${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb b/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb new file mode 100644 index 000000000..f5397750f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb @@ -0,0 +1,16 @@ +SUMMARY = "C library for encoding data in a QR Code symbol" +AUTHOR = "Kentaro Fukuchi" +HOMEPAGE = "http://fukuchi.org/works/qrencode/" +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" +PV = "4.0.0+git${SRCPV}" + +SRCREV = "07f3c5d4bf9136711422cc7dbf28aff469da220a" +SRC_URI = "git://github.com/fukuchi/libqrencode.git" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +EXTRA_OECONF += "--without-tools --without-tests" diff --git a/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb b/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb new file mode 100644 index 000000000..d99ff144b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb @@ -0,0 +1,19 @@ +SUMMARY = "Takao Fonts are a community developed derivatives of IPA Fonts." +DESCRIPTION = "Takao Fonts are a community developed derivatives of IPA Fonts." + +HOMEPAGE = "https://launchpad.net/takao-fonts" +SECTION = "User Interface/X" + +LICENSE = "IPA" +LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276" +SRC_URI = "https://launchpad.net/${BPN}/trunk/15.03/+download/TakaoFonts_00303.01.tar.xz" +SRC_URI[md5sum] = "8cd3fe724faa5034a9369e98cf108d2d" +SRC_URI[sha256sum] = "e9871f72ac69acb3e277aebbee7ca01fbebf54800733e29fafdc46133fc3552f" + +S = "${WORKDIR}/TakaoFonts_00303.01" +do_install() { + install -m 0755 -d ${D}/${datadir}/fonts + install -m 0644 -p ${S}/*.ttf ${D}/${datadir}/fonts/ +} + +FILES_${PN} += "${datadir}/fonts/*.ttf" diff --git a/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb new file mode 100644 index 000000000..c460fc35c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb @@ -0,0 +1,45 @@ +SUMMARY = "Terminus fonts packages (console and X11)" +DESCRIPTION = "Terminus Font is a clean, fixed width bitmap font, designed for \ + long (8 and more hours per day) work with computers." +HOMEPAGE = "http://terminus-font.sourceforge.net/" +AUTHOR = "Dimitar Zhekov" +SECTION = "fonts" + +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://OFL.TXT;md5=9cadb26f4c5c005618c5ae74f041ec54" + +DEPENDS = "hostperl-runtime-native gzip-native bdftopcf-native" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" +SRC_URI[md5sum] = "a8e792fe6e84c86ed2b6ed3e2a12ba66" +SRC_URI[sha256sum] = "f6f4876a4dabe6a37c270c20bb9e141e38fb50e0bba200e1b9d0470e5eed97b7" + +inherit allarch fontcache + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[x11] = "" + +# Don't use font cache mecanism for console packages +FONT_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'x11', '${PN}-pcf', '', d)}" + +# Hand made configure script. Don't need oe_runconf +do_configure() { + chmod +x ${S}/configure + ${S}/configure --prefix=${prefix} \ + --psfdir=${datadir}/consolefonts \ + --acmdir=${datadir}/consoletrans \ + --x11dir=${datadir}/fonts/terminus +} + +do_compile() { + oe_runmake DESTDIR=${D} psf txt ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'pcf', '', d)} +} + +do_install() { + oe_runmake DESTDIR=${D} install-psf install-acm ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'install-pcf', '', d)} +} + +PACKAGES += "${PN}-consolefonts ${PN}-consoletrans ${PN}-pcf" +FILES_${PN}-consolefonts = "${datadir}/consolefonts" +FILES_${PN}-consoletrans = "${datadir}/consoletrans" +FILES_${PN}-pcf = "${datadir}/fonts/terminus" diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb new file mode 100644 index 000000000..ac36a91a3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "tesseract-ocr language files" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=9648bd7af63bd3cc4f5ac046d12c49e4" + +PV = "3.04.00+git${SRCPV}" +SRCREV = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d" +SRC_URI = "git://github.com/tesseract-ocr/tessdata.git" +S = "${WORKDIR}/git" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/tessdata + cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${S}/*.cube.* ${S}/*.tesseract_cube.* ${D}${datadir}/tessdata +} + +python populate_packages_prepend () { + tessdata_dir= d.expand('${datadir}/tessdata') + pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='') + pn = d.getVar('PN') + d.appendVar('RDEPENDS_' + pn, ' '+' '.join(pkgs)) +} + +PACKAGES_DYNAMIC += "^${BPN}-.*" +ALLOW_EMPTY_${PN} = "1" diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb new file mode 100644 index 000000000..89d09a0f5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb @@ -0,0 +1,21 @@ +SUMMARY = "A commercial quality OCR engine " + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=7ea4f9a43aba9d3c849fe5c203a0ed40" + +BRANCH = "3.05" +PV = "${BRANCH}.01+git${SRCPV}" +SRCREV = "215866151e774972c9502282111b998d7a053562" +SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=${BRANCH}" +S = "${WORKDIR}/git" + +DEPENDS = "leptonica" + +EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica" + + +inherit autotools pkgconfig + +FILES_${PN} += "${datadir}/tessdata" + +RRECOMMENDS_${PN} += "tesseract-lang-eng" diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch new file mode 100644 index 000000000..12c437629 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch @@ -0,0 +1,50 @@ +From 4b423cd2e5e4296abca3be553bf64d8cc287180a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 20 Jul 2017 17:09:05 +0800 +Subject: [PATCH 1/4] tigervnc: remove includedir + +Upstream-Status: Pending + +Signed-off-by: Chong Lu <Chong.Lu@windriver.com> + +It fixes host contamination + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + unix/xserver/hw/vnc/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/unix/xserver/hw/vnc/Makefile.am b/unix/xserver/hw/vnc/Makefile.am +index 0d6a4ac..854f078 100644 +--- a/unix/xserver/hw/vnc/Makefile.am ++++ b/unix/xserver/hw/vnc/Makefile.am +@@ -22,7 +22,7 @@ libvnccommon_la_SOURCES = $(HDRS) \ + + libvnccommon_la_CPPFLAGS = -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \ + -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_H \ +- -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} -I$(includedir) \ ++ -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} \ + -I$(top_srcdir)/include + + bin_PROGRAMS = Xvnc +@@ -42,7 +42,7 @@ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DTIGERVNC -DNO_MODULE_EXTS \ + -UHAVE_CONFIG_H \ + -DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \ + -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common \ +- -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS} -I$(includedir) ++ -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS} + + Xvnc_LDADD = $(XVNC_LIBS) libvnccommon.la $(COMMON_LIBS) \ + $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XVNC_SYS_LIBS) -lX11 +@@ -62,7 +62,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_ + -I$(top_srcdir)/hw/xfree86/os-support \ + -I$(top_srcdir)/hw/xfree86/os-support/bus \ + -I$(top_srcdir)/include \ +- ${XSERVERLIBS_CFLAGS} -I$(includedir) ++ ${XSERVERLIBS_CFLAGS} + + libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now + +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch new file mode 100644 index 000000000..4e875ba82 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch @@ -0,0 +1,29 @@ +From c3460d63f0b6cd50b9a64265f420f0439e12a1d5 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Tue, 25 Apr 2017 01:36:44 -0400 +Subject: [PATCH 2/4] do not build tests sub directory + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + CMakeLists.txt | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 94ec2ef..fb72a00 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -300,9 +300,6 @@ if(BUILD_VIEWER) + add_subdirectory(media) + endif() + +-add_subdirectory(tests) +- +- + include(cmake/BuildPackages.cmake) + + # uninstall +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch new file mode 100644 index 000000000..cfb84ac14 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch @@ -0,0 +1,28 @@ +From 6369a5be2af2ed1fa443f40f48deaf318d22713e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 20 Jul 2017 05:06:00 -0400 +Subject: [PATCH 3/4] add missing dynamic library to FLTK_LIBRARIES + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fb72a00..5732dc8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -246,6 +246,8 @@ if(UNIX AND NOT APPLE) + endif() + endif() + ++set(FLTK_LIBRARIES ${FLTK_LIBRARIES} -lm -ldl -lpng -ljpeg) ++ + # Check for GNUTLS library + option(ENABLE_GNUTLS "Enable protocol encryption and advanced authentication" ON) + if(ENABLE_GNUTLS) +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch new file mode 100644 index 000000000..97b0a388a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch @@ -0,0 +1,62 @@ +From 9563b69640227da2220ee0c39077afb736cc96d1 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 20 Jul 2017 17:12:17 +0800 +Subject: [PATCH 4/4] tigervnc: add fPIC option to COMPILE_FLAGS + +The static libraries in Xregion/network/rdr/rfb were linked by shared +library libvnc.so, so we should add fPIC option to COMPILE_FLAGS to fix +relocation issue. + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + common/Xregion/CMakeLists.txt | 1 + + common/network/CMakeLists.txt | 1 + + common/rdr/CMakeLists.txt | 1 + + common/rfb/CMakeLists.txt | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/common/Xregion/CMakeLists.txt b/common/Xregion/CMakeLists.txt +index 40ca97e..9411328 100644 +--- a/common/Xregion/CMakeLists.txt ++++ b/common/Xregion/CMakeLists.txt +@@ -3,4 +3,5 @@ add_library(Xregion STATIC + + if(UNIX) + libtool_create_control_file(Xregion) ++ set_target_properties(Xregion PROPERTIES COMPILE_FLAGS -fPIC) + endif() +diff --git a/common/network/CMakeLists.txt b/common/network/CMakeLists.txt +index b624c8e..6c06ec9 100644 +--- a/common/network/CMakeLists.txt ++++ b/common/network/CMakeLists.txt +@@ -9,4 +9,5 @@ endif() + + if(UNIX) + libtool_create_control_file(network) ++ set_target_properties(network PROPERTIES COMPILE_FLAGS -fPIC) + endif() +diff --git a/common/rdr/CMakeLists.txt b/common/rdr/CMakeLists.txt +index 989ba2f..20f6489 100644 +--- a/common/rdr/CMakeLists.txt ++++ b/common/rdr/CMakeLists.txt +@@ -27,4 +27,5 @@ target_link_libraries(rdr ${RDR_LIBRARIES}) + + if(UNIX) + libtool_create_control_file(rdr) ++ set_target_properties(rdr PROPERTIES COMPILE_FLAGS -fPIC) + endif() +diff --git a/common/rfb/CMakeLists.txt b/common/rfb/CMakeLists.txt +index 5047e5e..88838ab 100644 +--- a/common/rfb/CMakeLists.txt ++++ b/common/rfb/CMakeLists.txt +@@ -98,4 +98,5 @@ target_link_libraries(rfb ${RFB_LIBRARIES}) + + if(UNIX) + libtool_create_control_file(rfb) ++ set_target_properties(rfb PROPERTIES COMPILE_FLAGS -fPIC) + endif() +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch new file mode 100644 index 000000000..2f342c683 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch @@ -0,0 +1,27 @@ +From e4ec992984983ac9107efae1f1cc552007e4229e Mon Sep 17 00:00:00 2001 +From: Vishal Biswas <vshlbiswas@ymail.com> +Date: Mon, 8 May 2017 11:06:11 +0530 +Subject: [PATCH] Remove INITARGS from xserver119.patch + +Upstream-Status: Backport + +--- + unix/xserver119.patch | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/unix/xserver119.patch b/unix/xserver119.patch +index 614f104..7adf314 100644 +--- a/unix/xserver119.patch ++++ b/unix/xserver119.patch +@@ -66,7 +66,7 @@ diff -up xserver/mi/miinitext.c.xserver116-rebased xserver/mi/miinitext.c + #include "globals.h" + + +#ifdef TIGERVNC +-+extern void vncExtensionInit(INITARGS); +++extern void vncExtensionInit(void); + +#endif + + + /* The following is only a small first step towards run-time +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb new file mode 100644 index 000000000..469745f2a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb @@ -0,0 +1,132 @@ +DESCRIPTION = "TigerVNC remote display system" +HOMEPAGE = "http://www.tigervnc.com/" +LICENSE = "GPLv2+" +SECTION = "x11/utils" +DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk" +RDEPENDS_${PN} = "chkconfig coreutils hicolor-icon-theme" + +LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3" + +S = "${WORKDIR}/git" + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "x11" + +inherit autotools cmake +B = "${S}" + +SRCREV = "4d6e1b8306a8cca8ad5e15ff8201f6ea24459cfd" + +SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.8-branch \ + file://0001-tigervnc-remove-includedir.patch \ + file://0002-do-not-build-tests-sub-directory.patch \ + file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \ + file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \ + file://0005-Remove-INITARGS-from-xserver119.patch.patch \ +" + +# Keep sync with xorg-server in oe-core +XORG_PN ?= "xorg-server" +XORG_PV ?= "1.19.3" +SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg" +XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}" +SRC_URI[xorg.md5sum] = "015d2fc4b9f2bfe7a626edb63a62c65e" +SRC_URI[xorg.sha256sum] = "677a8166e03474719238dfe396ce673c4234735464d6dadf2959b600d20e5a98" + +# It is the directory containing the Xorg source for the +# machine on which you are building TigerVNC. +XSERVER_SOURCE_DIR="${S}/unix/xserver" + +do_patch[postfuncs] += "do_patch_xserver" +do_patch_xserver () { + for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do + install -d ${XSERVER_SOURCE_DIR}/$subdir + done + + for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do + install -d ${XSERVER_SOURCE_DIR}/$subdir + done + + sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \ + hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \ + hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in" + for i in ${sources}; do + install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i; + done + + cd ${XORG_S} + find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \ + xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -) + + cd ${XSERVER_SOURCE_DIR} + xserverpatch="${S}/unix/xserver119.patch" + echo "Apply $xserverpatch" + patch -p1 -b --suffix .vnc < $xserverpatch +} + +EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ + --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ + --disable-static --disable-xinerama \ + --with-xkb-output=${localstatedir}/lib/xkb \ + --disable-glx --disable-dri --disable-dri2 \ + --disable-config-hal \ + --disable-config-udev \ + --without-dtrace \ + --disable-unit-tests \ + --disable-devel-docs \ + --disable-selective-werror \ + --disable-xshmfence \ + --disable-config-udev \ + --disable-dri3 \ + --disable-libunwind \ + --without-xmlto \ + --enable-systemd-logind=no \ + --disable-xinerama \ + --disable-xwayland \ +" + +do_configure_append () { + olddir=`pwd` + cd ${XSERVER_SOURCE_DIR} + + rm -rf aclocal-copy/ + rm -f aclocal.m4 + + export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy" + mkdir -p ${ACLOCALDIR}/ + if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then + cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/ + fi + if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then + cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/ + fi + ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed." + chmod +x ./configure + ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} + cd $olddir +} + +do_compile_append () { + olddir=`pwd` + cd ${XSERVER_SOURCE_DIR} + + oe_runmake + + cd $olddir +} + +do_install_append() { + olddir=`pwd` + cd ${XSERVER_SOURCE_DIR}/hw/vnc + + oe_runmake 'DESTDIR=${D}' install + + cd $olddir +} + +FILES_${PN} += " \ + ${libdir}/xorg/modules/extensions \ + ${datadir}/icons \ +" + +FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug" diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/ts.conf b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/ts.conf new file mode 100644 index 000000000..1b0da937e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/ts.conf @@ -0,0 +1,25 @@ +# Uncomment if you wish to use the linux input layer event interface +module_raw input + +# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d +# module_raw collie + +# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860 +# module_raw corgi + +# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface +# module_raw ucb1x00 + +# Uncomment if you're using an HP iPaq h3600 or similar +# module_raw h3600 + +# Uncomment if you're using a Hitachi Webpad +# module_raw mk712 + +# Uncomment if you're using an IBM Arctic II +# module_raw arctic2 + +module pthres pmin=1 +module variance delta=30 +module dejitter delta=100 +module linear diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/tslib.sh b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/tslib.sh new file mode 100644 index 000000000..7068e8d92 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/tslib.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ -e /dev/input/touchscreen0 ]; then + TSLIB_TSDEVICE=/dev/input/touchscreen0 + + export TSLIB_TSDEVICE +fi + diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.15.bb b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.15.bb new file mode 100644 index 000000000..7ae941a3c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.15.bb @@ -0,0 +1,82 @@ +SUMMARY = "An abstraction layer for touchscreen panel events" +DESCRIPTION = "Tslib is an abstraction layer for touchscreen panel \ +events, as well as a filter stack for the manipulation of those events. \ +Tslib is generally used on embedded devices to provide a common user \ +space interface to touchscreen functionality." +HOMEPAGE = "http://tslib.org/" + +AUTHOR = "Martin Kepplinger <martink@posteo.de>" +SECTION = "base" +LICENSE = "LGPLv2+ & GPLv2+" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=fc178bcd425090939a8b634d1d6a9594 \ + file://tests/COPYING;md5=a23a74b3f4caf9616230789d94217acb \ +" + +SRC_URI = "https://github.com/kergoth/tslib/releases/download/${PV}/tslib-${PV}.tar.xz;downloadfilename=tslib-${PV}.tar.xz \ + file://ts.conf \ + file://tslib.sh \ +" +SRC_URI[md5sum] = "9ff36788c9ab76a10b58422227b9629e" +SRC_URI[sha256sum] = "7ce48807cab655076d71a1ceef3ed0ab8a25df98074981d4a8fd1477ee5f710c" + +UPSTREAM_CHECK_URI = "https://github.com/kergoth/tslib/releases" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "debounce dejitter iir linear median pthres skip lowpass invert variance input touchkit waveshare" +PACKAGECONFIG[debounce] = "--enable-debounce,--disable-debounce" +PACKAGECONFIG[dejitter] = "--enable-dejitter,--disable-dejitter" +PACKAGECONFIG[iir] = "--enable-iir,--disable-iir" +PACKAGECONFIG[linear] = "--enable-linear,--disable-linear" +PACKAGECONFIG[median] = "--enable-median,--disable-median" +PACKAGECONFIG[pthres] = "--enable-pthres,--disable-pthres" +PACKAGECONFIG[skip] = "--enable-skip,--disable-skip" +PACKAGECONFIG[lowpass] = "--enable-lowpass,--disable-lowpass" +PACKAGECONFIG[invert] = "--enable-invert,--disable-invert" +PACKAGECONFIG[variance] = "--enable-variance,--disable-variance" +PACKAGECONFIG[input] = "--enable-input,--disable-input" +PACKAGECONFIG[tatung] = "--enable-tatung,--disable-tatung" +PACKAGECONFIG[touchkit] = "--enable-touchkit,--disable-touchkit" +PACKAGECONFIG[waveshare] = "--enable-waveshare,--disable-waveshare" +PACKAGECONFIG[ucb1x00] = "--enable-ucb1x00,--disable-ucb1x00" +PACKAGECONFIG[mk712] = "--enable-mk712,--disable-mk712" +PACKAGECONFIG[h3600] = "--enable-h3600,--disable-h3600" +PACKAGECONFIG[dmc] = "--enable-dmc,--disable-dmc" +PACKAGECONFIG[linear-h2200] = "--enable-linear-h2200,--disable-linear-h2200" +PACKAGECONFIG[corgi] = "--enable-corgi,--disable-corgi" +PACKAGECONFIG[collie] = "--enable-collie,--disable-collie" +PACKAGECONFIG[arctic2] = "--enable-arctic2,--disable-arctic2" +PACKAGECONFIG[dmc_dus3000] = "--enable-dmc_dus3000,--disable-dmc_dus3000" +PACKAGECONFIG[cy8mrln-palmpre] = "--enable-cy8mrln-palmpre,--disable-cy8mrln-palmpre" +PACKAGECONFIG[galax] = "--enable-galax,--disable-galax" +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" + +do_install_prepend() { + install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf +} + +do_install_append() { + install -d ${D}${sysconfdir}/profile.d/ + install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/ +} + +RPROVIDES_tslib-conf = "libts-0.0-conf" + +PACKAGES =+ "tslib-conf tslib-tests tslib-calibrate tslib-uinput" +DEBIAN_NOAUTONAME_tslib-conf = "1" +DEBIAN_NOAUTONAME_tslib-tests = "1" +DEBIAN_NOAUTONAME_tslib-calibrate = "1" +DEBIAN_NOAUTONAME_tslib-uinput = "1" + +RDEPENDS_${PN} = "tslib-conf" +RRECOMMENDS_${PN} = "pointercal" + +FILES_${PN}-dev += "${libdir}/ts/*.la" +FILES_tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib" +FILES_${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*" +FILES_tslib-calibrate += "${bindir}/ts_calibrate" +FILES_tslib-uinput += "${bindir}/ts_uinput" + +FILES_tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_print_mt \ + ${bindir}/ts_test ${bindir}/ts_test_mt ${bindir}/ts_verify ${bindir}/ts_finddev" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn.conf new file mode 100644 index 000000000..6855791b4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn.conf @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE fontconfig SYSTEM "../fonts.dtd"> +<fontconfig> + <!-- + - Medium variant is used instead of Regular on Qt apps: + https://bugs.launchpad.net/ubuntu-font-family/+bug/744812 + - Medium and Bold looks the same in certain applications: + https://bugs.launchpad.net/ubuntu/+source/gnome-specimen/+bug/813373 + --> + <match target="scan"> + <test name="fullname" compare="eq"> + <string>Source Han Sans CN Medium</string> + </test> + <edit name="weight" mode="assign"> + <const>demibold</const> + </edit> + </match> +</fontconfig> + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb new file mode 100644 index 000000000..9fbfc8b49 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb @@ -0,0 +1,34 @@ +require ttf.inc + +SUMMARY = "Adobe OpenType Pan-CJK font family for Simplified Chinese" +HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097" + +inherit allarch fontcache + +# Download tends to break - so - or not? +#EXCLUDE_FROM_WORLD = "1" + +SRC_URI = " \ + https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansCN.zip \ + file://44-source-han-sans-cn.conf \ +" +SRC_URI[md5sum] = "d16abc21f6575bb08894efedbed484a2" +SRC_URI[sha256sum] = "0a0e1d8e52833bc352d454d8242da03b82c0efc41323fb66f7435e5b39734a4f" + +S = "${WORKDIR}/SourceHanSansCN" + +do_install() { + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 ${WORKDIR}/44-source-han-sans-cn.conf ${D}${sysconfdir}/fonts/conf.d/ + + install -d ${D}${datadir}/fonts/truetype/ + find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \; +} + +FILES_${PN} = " \ + ${sysconfdir}/fonts \ + ${datadir}/fonts \ +" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp.conf new file mode 100644 index 000000000..a7a93feea --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp.conf @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE fontconfig SYSTEM "../fonts.dtd"> +<fontconfig> + <!-- + - Medium variant is used instead of Regular on Qt apps: + https://bugs.launchpad.net/ubuntu-font-family/+bug/744812 + - Medium and Bold looks the same in certain applications: + https://bugs.launchpad.net/ubuntu/+source/gnome-specimen/+bug/813373 + --> + <match target="scan"> + <test name="fullname" compare="eq"> + <string>Source Han Sans JP Medium</string> + </test> + <edit name="weight" mode="assign"> + <const>demibold</const> + </edit> + </match> +</fontconfig> + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb new file mode 100644 index 000000000..4a26a2f57 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb @@ -0,0 +1,34 @@ +require ttf.inc + +SUMMARY = "Adobe OpenType Pan-CJK font family for Japanese" +HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097" + +inherit allarch fontcache + +# Download tends to break - so - or not? +#EXCLUDE_FROM_WORLD = "1" + +SRC_URI = " \ + https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansJP.zip \ + file://44-source-han-sans-jp.conf \ +" +SRC_URI[md5sum] = "908fbf97f3df04a6838708c093f1e900" +SRC_URI[sha256sum] = "dc6dbae3fba35f220bac88ba7130b826c7efe1282f472788fae3628b79be3f54" + +S = "${WORKDIR}/SourceHanSansJP" + +do_install() { + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 ${WORKDIR}/44-source-han-sans-jp.conf ${D}${sysconfdir}/fonts/conf.d/ + + install -d ${D}${datadir}/fonts/truetype/ + find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \; +} + +FILES_${PN} = " \ + ${sysconfdir}/fonts \ + ${datadir}/fonts \ +" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr.conf new file mode 100644 index 000000000..dee73ae77 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr.conf @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE fontconfig SYSTEM "../fonts.dtd"> +<fontconfig> + <!-- + - Medium variant is used instead of Regular on Qt apps: + https://bugs.launchpad.net/ubuntu-font-family/+bug/744812 + - Medium and Bold looks the same in certain applications: + https://bugs.launchpad.net/ubuntu/+source/gnome-specimen/+bug/813373 + --> + <match target="scan"> + <test name="fullname" compare="eq"> + <string>Source Han Sans KR Medium</string> + </test> + <edit name="weight" mode="assign"> + <const>demibold</const> + </edit> + </match> +</fontconfig> + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb new file mode 100644 index 000000000..c91d1671f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb @@ -0,0 +1,34 @@ +require ttf.inc + +SUMMARY = "Adobe OpenType Pan-CJK font family for Korean" +HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097" + +inherit allarch fontcache + +# Download tends to break - so - or not? +#EXCLUDE_FROM_WORLD = "1" + +SRC_URI = " \ + https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansKR.zip \ + file://44-source-han-sans-kr.conf \ +" +SRC_URI[md5sum] = "f8d1bd6c87d8575afdb25e2f46bd81d4" +SRC_URI[sha256sum] = "38fd15c80f9980492faaa1af39ff873d8a38e45027023fb17d5b10d4b4b0e6af" + +S = "${WORKDIR}/SourceHanSansKR" + +do_install() { + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 ${WORKDIR}/44-source-han-sans-kr.conf ${D}${sysconfdir}/fonts/conf.d/ + + install -d ${D}${datadir}/fonts/truetype/ + find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \; +} + +FILES_${PN} = " \ + ${sysconfdir}/fonts \ + ${datadir}/fonts \ +" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw.conf new file mode 100644 index 000000000..ae289401b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw.conf @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE fontconfig SYSTEM "../fonts.dtd"> +<fontconfig> + <!-- + - Medium variant is used instead of Regular on Qt apps: + https://bugs.launchpad.net/ubuntu-font-family/+bug/744812 + - Medium and Bold looks the same in certain applications: + https://bugs.launchpad.net/ubuntu/+source/gnome-specimen/+bug/813373 + --> + <match target="scan"> + <test name="fullname" compare="eq"> + <string>Source Han Sans TWHK Medium</string> + </test> + <edit name="weight" mode="assign"> + <const>demibold</const> + </edit> + </match> +</fontconfig> + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb new file mode 100644 index 000000000..728250538 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb @@ -0,0 +1,34 @@ +require ttf.inc + +SUMMARY = "Adobe OpenType Pan-CJK font family for Traditional Chinese" +HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097" + +inherit allarch fontcache + +# Download tends to break - so - or not? +#EXCLUDE_FROM_WORLD = "1" + +SRC_URI = " \ + https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansTW.zip \ + file://44-source-han-sans-tw.conf \ +" +SRC_URI[md5sum] = "6533b71b31c19e548768f0fc963202f3" +SRC_URI[sha256sum] = "92ba161921c5cdec5a8f8d5711676f0865b50cee071c25eb4bd4125b5af59fd0" + +S = "${WORKDIR}/SourceHanSansTW" + +do_install() { + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 ${WORKDIR}/44-source-han-sans-tw.conf ${D}${sysconfdir}/fonts/conf.d/ + + install -d ${D}${datadir}/fonts/truetype/ + find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \; +} + +FILES_${PN} = " \ + ${sysconfdir}/fonts \ + ${datadir}/fonts \ +" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb new file mode 100644 index 000000000..ce003e922 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb @@ -0,0 +1,17 @@ +require ttf.inc + +SUMMARY = "Ethiopia and Eritrea (Amharic) font - TTF Edition" +HOMEPAGE = "http://software.sil.org/abyssinica/" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://OFL.txt;md5=1694c7fc245cdc85c9971db707928159" + +SRCNAME = "AbyssinicaSIL" +SRC_URI = "http://software.sil.org/downloads/r/abyssinica/${SRCNAME}-${PV}.zip" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +SRC_URI[md5sum] = "a3d943d18e303197c8d3d92d2de54d1e" +SRC_URI[sha256sum] = "e48a77d5ab8ee0b06464a5b29be70f292aa25dc1e73eb39ec933bd7fa47bbd86" + +FONT_PACKAGES = "${PN}" +FILES_${PN} = "${datadir}" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb new file mode 100644 index 000000000..522f0fb7d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb @@ -0,0 +1,19 @@ +SUMMARY = "Unicode Mingti (printed) TrueType Font" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/CJKUnifonts" +LICENSE = "Arphic-Public-License" +LIC_FILES_CHKSUM = "file://README;md5=62be011094b7865ddc4d1a648444d31a" +SRC_DISTRIBUTE_LICENSES += "${PN}" +RPROVIDES_${PN} = "virtual-chinese-font" +PR = "r6" + +FONT_PACKAGES = "${PN}" + +SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-arphic-uming/ttf-arphic-uming_0.2.${PV}.1.orig.tar.gz" +S = "${WORKDIR}" + +require ttf.inc + +FILES_${PN} = "${datadir}" + +SRC_URI[md5sum] = "d219fcaf953f3eb1889399955a00379f" +SRC_URI[sha256sum] = "8038a6db9e832456d5da5559aff8d15130243be1091bf24f3243503a6f1bda98" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu/30-dejavu-aliases.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu/30-dejavu-aliases.conf new file mode 100644 index 000000000..9c6e56bf7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu/30-dejavu-aliases.conf @@ -0,0 +1,16 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<fontconfig> + <alias> + <family>DejaVu Serif</family> + <default><family>serif</family></default> + </alias> + <alias> + <family>DejaVu Sans</family> + <default><family>sans-serif</family></default> + </alias> + <alias> + <family>DejaVu Sans Mono</family> + <default><family>monospace</family></default> + </alias> +</fontconfig> diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb new file mode 100644 index 000000000..f74e5ce6c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb @@ -0,0 +1,47 @@ +require ttf.inc + +SUMMARY = "DejaVu font - TTF Edition" +HOMEPAGE = "http://dejavu.sourceforge.net/wiki/" +LICENSE = "BitstreamVera" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=449b2c30bfe5fa897fe87b8b70b16cfa" + +# all subpackages except ${PN}-common itself rdepends on ${PN}-common +RDEPENDS_${PN}-sans = "${PN}-common" +RDEPENDS_${PN}-sans-mono = "${PN}-common" +RDEPENDS_${PN}-sans-condensed = "${PN}-common" +RDEPENDS_${PN}-serif = "${PN}-common" +RDEPENDS_${PN}-serif-condensed = "${PN}-common" +RDEPENDS_${PN}-mathtexgyre = "${PN}-common" +RDEPENDS_${PN}-common = "" +PR = "r7" + +SRC_URI = "${SOURCEFORGE_MIRROR}/dejavu/dejavu-fonts-ttf-${PV}.tar.bz2 \ + file://30-dejavu-aliases.conf" + +S = "${WORKDIR}/dejavu-fonts-ttf-${PV}/ttf" + +do_install_append () { + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 ${WORKDIR}/30-dejavu-aliases.conf ${D}${sysconfdir}/fonts/conf.d/ +} + +PACKAGES = "\ + ${PN}-sans \ + ${PN}-sans-mono \ + ${PN}-sans-condensed \ + ${PN}-serif \ + ${PN}-serif-condensed \ + ${PN}-mathtexgyre \ + ${PN}-common" +FONT_PACKAGES = "${PN}-sans ${PN}-sans-mono ${PN}-sans-condensed ${PN}-serif ${PN}-serif-condensed ${PN}-mathtexgyre" + +FILES_${PN}-sans = "${datadir}/fonts/truetype/DejaVuSans.ttf ${datadir}/fonts/truetype/DejaVuSans-*.ttf" +FILES_${PN}-sans-mono = "${datadir}/fonts/truetype/DejaVuSansMono*.ttf" +FILES_${PN}-sans-condensed = "${datadir}/fonts/truetype/DejaVuSansCondensed*.ttf" +FILES_${PN}-serif = "${datadir}/fonts/truetype/DejaVuSerif.ttf ${datadir}/fonts/truetype/DejaVuSerif-*.ttf" +FILES_${PN}-serif-condensed = "${datadir}/fonts/truetype/DejaVuSerifCondensed*.ttf" +FILES_${PN}-mathtexgyre = "${datadir}/fonts/truetype/DejaVuMathTeXGyre.ttf" +FILES_${PN}-common = "${sysconfdir}" + +SRC_URI[md5sum] = "d0efec10b9f110a32e9b8f796e21782c" +SRC_URI[sha256sum] = "fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb new file mode 100644 index 000000000..e62badf77 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb @@ -0,0 +1,27 @@ +require ttf.inc + +SUMMARY = "Droid fonts - TTF Edition" +HOMEPAGE = "http://www.droidfonts.com/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://README.txt;md5=83544262a86f1f1ec761e75897df92bc" +SRCREV = "21e6e2de1f0062f949fcc52d0b4559dfa3246e0e" +PV = "0.1+gitr${SRCPV}" +PR = "r3" + +SRC_URI = "git://github.com/android/platform_frameworks_base.git;branch=master" + +S = "${WORKDIR}/git/data/fonts" + +do_install_prepend() { + rm ${S}/Ahem.ttf MTLc3m.ttf DroidSansArabic.ttf DroidSansThai.ttf Clockopia.ttf MTLmr3m.ttf DroidSansHebrew.ttf DroidSansFallbackLegacy.ttf # we're not packaging it +} + +PACKAGES = "ttf-droid-sans ttf-droid-sans-mono \ + ttf-droid-sans-fallback ttf-droid-sans-japanese ttf-droid-serif" +FONT_PACKAGES = "ttf-droid-sans ttf-droid-sans-mono ttf-droid-sans-fallback ttf-droid-sans-japanese ttf-droid-serif" + +FILES_ttf-droid-sans = "${datadir}/fonts/truetype/DroidSans.ttf ${datadir}/fonts/truetype/DroidSans-Bold.ttf" +FILES_ttf-droid-sans-mono = "${datadir}/fonts/truetype/DroidSansMono.ttf" +FILES_ttf-droid-sans-fallback = "${datadir}/fonts/truetype/DroidSansFallback.ttf" +FILES_ttf-droid-sans-japanese = "${datadir}/fonts/truetype/DroidSansJapanese.ttf" +FILES_ttf-droid-serif = "${datadir}/fonts/truetype/DroidSerif*.ttf" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb new file mode 100644 index 000000000..6a6258add --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb @@ -0,0 +1,37 @@ +require ttf.inc + +SUMMARY = "Gentium fonts - TTF Version" +HOMEPAGE = "http://scripts.sil.org/gentium" +LICENSE = "OFL" +LICENSE_URL = "http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=OFL" +LIC_FILES_CHKSUM = "file://OFL;md5=33a5bf7b98a9c0ae87430760ba762295 \ +" +PR = "r8" + +SRC_URI = "${DEBIAN_MIRROR}/main/t/ttf-gentium/ttf-gentium_${PV}.orig.tar.gz " + +S = "${WORKDIR}/ttf-sil-gentium-${PV}" + +do_install_append() { + + install -d ${D}${datadir}/doc/ttf-gentium/ + install -d ${D}${datadir}/doc/ttf-gentium-alt/ + + install -m 0644 ${S}/OFL ${D}${datadir}/doc/ttf-gentium/ + install -m 0644 ${S}/OFL ${D}${datadir}/doc/ttf-gentium-alt/ + +} + +PACKAGES = "${PN} ${PN}-alt" +FONT_PACKAGES = "${PN} ${PN}-alt" + +FILES_${PN}-alt = "${datadir}/fonts/truetype/GenAI*.ttf \ + ${datadir}/fonts/truetype/GenAR*.ttf \ + ${datadir}/doc/ttf-gentium-alt/*" + +FILES_${PN} = "${datadir}/fonts/truetype/GenI*.ttf \ + ${datadir}/fonts/truetype/GenR*.ttf \ + ${datadir}/doc/ttf-gentium/*" + +SRC_URI[md5sum] = "4c3e6ae586be277537ebb68f2a45b883" +SRC_URI[sha256sum] = "4746c04c9a4ad9e0788a38e0a2f81919a630d8070ceabc89f156b6d41d8ceb37" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb new file mode 100644 index 000000000..5cd9935d6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb @@ -0,0 +1,20 @@ +require ttf.inc + +SUMMARY = "Hunky fonts - TTF Version" +HOMEPAGE = "http://sourceforge.net/projects/hunkyfonts" +LICENSE = "LGPL" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=7fbc338309ac38fefcd64b04bb903e34" +PR = "r7" + +SRC_URI = "${SOURCEFORGE_MIRROR}/hunkyfonts/hunkyfonts-${PV}.tar.bz2" + +S = "${WORKDIR}/hunkyfonts-${PV}/TTF/" + +PACKAGES = "ttf-hunky-sans ttf-hunky-serif" +FONT_PACKAGES = "ttf-hunky-sans ttf-hunky-serif" + +FILES_ttf-hunky-sans = "${datadir}/fonts/truetype/HunkySans*.ttf" +FILES_ttf-hunky-serif = "${datadir}/fonts/truetype/HunkySerif*.ttf" + +SRC_URI[md5sum] = "36444795a356fb8a56c63b2840729bab" +SRC_URI[sha256sum] = "e0b1849c545b6af276407d93025c73094dd74fc259b07c1d91594fdbb9a0b829" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata/OFL.txt b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata/OFL.txt new file mode 100644 index 000000000..1456c1809 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata/OFL.txt @@ -0,0 +1,97 @@ +Copyright (c) <dates>, <Copyright Holder> (<URL|email>), +with Reserved Font Name <Reserved Font Name>. +Copyright (c) <dates>, <additional Copyright Holder> (<URL|email>), +with Reserved Font Name <additional Reserved Font Name>. +Copyright (c) <dates>, <additional Copyright Holder> (<URL|email>). + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb new file mode 100644 index 000000000..20041bb7b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb @@ -0,0 +1,26 @@ +require ttf.inc + +SUMMARY = "Inconsolata font - TTF Version" +HOMEPAGE = "http://www.levien.com/type/myfonts/inconsolata.html" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://../OFL.txt;md5=969851e3a70122069a4d9ee61dd5a2ed" + +SRC_URI = "http://levien.com/type/myfonts/Inconsolata.otf \ + file://OFL.txt" + +S = "${WORKDIR}/ttf-inconsolata-${PV}" + +FILES_${PN} = "${datadir}/fonts/truetype/Inconsolata.ttf \ + ${datadir}/doc/ttf-inconsolata/*" + +do_configure() { + mv ${WORKDIR}/Inconsolata.otf ${S}/Inconsolata.ttf +} + +do_install_append() { + install -d ${D}${datadir}/doc/ttf-inconsolata/ + install -m 0644 ${WORKDIR}/OFL.txt ${D}${datadir}/doc/ttf-inconsolata/ +} + +SRC_URI[md5sum] = "0fbe014c1f0fb5e3c71140ff0dc63edf" +SRC_URI[sha256sum] = "1561e616c414a1b82d6e6dfbd18e5726fd65028913ade191e5fa38b6ec375a1a" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow/30-0-liberation-sans-narrow.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow/30-0-liberation-sans-narrow.conf new file mode 100644 index 000000000..a4f4da7e3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow/30-0-liberation-sans-narrow.conf @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE fontconfig SYSTEM "../fonts.dtd"> +<fontconfig> + <!-- Microsoft --> + <alias binding="same"> + <family>Arial Narrow</family> + <accept> + <family>Liberation Sans Narrow</family> + </accept> + </alias> + <alias binding="same"> + <family>Liberation Sans Narrow</family> + <default> + <family>Arial Narrow</family> + </default> + </alias> +</fontconfig> + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb new file mode 100644 index 000000000..5b406bc65 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb @@ -0,0 +1,32 @@ +require ttf.inc + +SUMMARY = "Liberation(tm) Fonts" +DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \ +created by Ascender(c) which aims at metric compatibility with \ +Arial, Times New Roman, Courier New." + +HOMEPAGE = "https://fedorahosted.org/liberation-fonts/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-${PV}.tar.gz \ + file://30-0-liberation-sans-narrow.conf \ +" + +SRC_URI[md5sum] = "134d8262145fc793c6af494dcace3e71" +SRC_URI[sha256sum] = "61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c" + +S = "${WORKDIR}/liberation-fonts-ttf-${PV}" + +do_install_append () { + install -d ${D}${datadir}/fonts/TTF/ + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 LiberationSansNarrow*.ttf ${D}${datadir}/fonts/TTF/ + install -D -m 0644 ${WORKDIR}/30-0-liberation-sans-narrow.conf ${D}${sysconfdir}/conf.avail/30-${PN}-sans.conf + install -D -m 0644 ${S}/License.txt ${D}${datadir}/licenses/${PN}/LICENSE +} + +PACKAGES = "${PN}" +FONT_PACKAGES = "${PN}" + +FILES_${PN} = "${datadir}/fonts ${sysconfdir} ${datadir}/licenses" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb new file mode 100644 index 000000000..7204c926a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb @@ -0,0 +1,23 @@ +require ttf.inc + +SUMMARY = "Liberation fonts - TTF Version" +HOMEPAGE = "https://www.redhat.com/promo/fonts/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://License.txt;md5=5b171c5100029d884fcea21d9a2b7543 \ +" + +PR = "r7" + +SRC_URI = "http://fedorahosted.org/liberation-fonts/export/807b6dfd069b998cd9b4d3158da98817ef23c79d/F-9/liberation-fonts-ttf-3.tar.gz" +S = "${WORKDIR}/liberation-fonts-${PV}" + +PACKAGES = "ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif" +FONT_PACKAGES = "ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif" + +FILES_ttf-liberation-mono = "${datadir}/fonts/truetype/*Mono*" +FILES_ttf-liberation-sans = "${datadir}/fonts/truetype/*Sans*" +FILES_ttf-liberation-serif = "${datadir}/fonts/truetype/*Serif*" + +SRC_URI[md5sum] = "77728078a17e39f7c242b42c3bf6feb8" +SRC_URI[sha256sum] = "174cf27c57612971434ec8cc4a52bfd37bad8408e9b9219539c6d5113df6ff8f" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb new file mode 100644 index 000000000..2ef6c57e1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb @@ -0,0 +1,24 @@ +require ttf.inc + +SUMMARY = "Fonts for Sinhala language - TTF Edition" +HOMEPAGE = "http://rpms.famillecollet.com/rpmphp/zoom.php?rpm=lklug-fonts" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "http://dl.fedoraproject.org/pub/fedora/linux/releases/24/Everything/source/tree/Packages/l/lklug-fonts-0.6-14.20090803cvs.fc24.src.rpm;extract=lklug-20090803.tar.gz" +SRC_URI[md5sum] = "3341dfb997043d234ab3f6e5a965e759" +SRC_URI[sha256sum] = "f54c1f3b4df08995982657fed290b562556191fee2a0386afd9e8bf228f72b1a" + +DEPENDS = "fontforge-native" + +S = "${WORKDIR}" +FONT_PACKAGES = "${PN}" +FILES_${PN} = "${datadir}" + +do_compile() { + fontforge ${S}/convert.ff lklug +} + +do_install() { + make install DESTDIR=${D} +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb new file mode 100644 index 000000000..f9679d606 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb @@ -0,0 +1,23 @@ +require ttf.inc + +SUMMARY = "The project goal is to improve existing offerings of the fonts \ +- making sure the Lohit fonts deliver the best available quality and functions \ +to the community." +HOMEPAGE = "https://fedorahosted.org/lohit" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://OFL.txt;md5=7dfa0a236dc535ad2d2548e6170c4402" + +SRCREV = "d678f1b1807ea5602586279e90b5db6d62ed475e" +SRC_URI = "git://github.com/pravins/lohit.git;branch=master" + +DEPENDS = "fontforge-native" +S = "${WORKDIR}/git" +FONT_PACKAGES = "${PN}" +FILES_${PN} = "${datadir}" + +inherit pythonnative + +do_compile() { + cd ${S}; make ttf; +} + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb new file mode 100644 index 000000000..9ad348d9f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb @@ -0,0 +1,28 @@ +require ttf.inc + +SUMMARY = "MPlus font - TTF Edition" +HOMEPAGE = "http://dejavu.sourceforge.net/wiki/" +LICENSE = "${PN}" +LIC_FILES_CHKSUM = "file://LICENSE_E;md5=ac161e96eda00db9a3aec7870b5d9658 \ + file://LICENSE_J;md5=a120ca8d7c8e4a475d5277c9aeb95221 \ +" +PR = "r4" + +SRC_URI = "http://osdn.dl.sourceforge.jp/mplus-fonts/6650/mplus-TESTFLIGHT-${PV}.tar.gz" +S = "${WORKDIR}/mplus-TESTFLIGHT-${PV}" + +PACKAGESPLITFUNCS_prepend = "split_ttf_mplus_packages " + +python split_ttf_mplus_packages() { + plugindir = d.expand('${datadir}/fonts/ttf-mplus/') + packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s') + d.setVar('FONT_PACKAGES', ' '.join(packages)) +} + +do_install() { + install -d ${D}${datadir}/fonts/ttf-mplus + install -m 0644 *.ttf ${D}${datadir}/fonts/ttf-mplus/ +} + +SRC_URI[md5sum] = "d1400184b51b3871e8d2fca6c50e18ae" +SRC_URI[sha256sum] = "a20b9b9b03c2a6fb1e2137d29e8a6ce06406ba1e008906ea3c474dc048dc06a6" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb new file mode 100644 index 000000000..ac60a365f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb @@ -0,0 +1,39 @@ +SUMMARY = "PT Sans Fonts" +DESCRIPTION = "The PT Sans TTF font set" +HOMEPAGE = "http://www.paratype.com/public/" + +SECTION = "x11/fonts" + +LICENSE = "ParaTypeFFL-1.3" +LIC_FILES_CHKSUM = "file://../PT%20Free%20Font%20License_eng.txt;md5=d720f3a281ed81c3f4cfc465e11b1d0d" + +inherit allarch fontcache + +# Downloading from fedora because upstream doesn't version its zip file +# and causes hash build failures +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/paratype-pt-sans-fonts/PTSans.zip/c3f5a0e20a75cf628387510a720924a7/PTSans.zip" + +SRC_URI[md5sum] = "c3f5a0e20a75cf628387510a720924a7" +SRC_URI[sha256sum] = "0164f824e03c32c99e8a225853ec168893a04a09ade132e93a674e85ae033b2e" + +do_install () { + install -d ${D}${datadir}/fonts/X11/TTF/ + cd .. + for i in *.ttf; do + install -m 0644 $i ${D}${prefix}/share/fonts/X11/TTF/${i} + done +} + +FILES_${PN} += "${datadir}" + +pkg_postinst_${PN} () { + set -x + for fontdir in `find $D/usr/lib/X11/fonts -type d`; do + mkfontdir $fontdir + mkfontscale $fontdir + done + for fontdir in `find $D/usr/share/fonts/X11 -type d`; do + mkfontdir $fontdir + mkfontscale $fontdir + done +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb new file mode 100644 index 000000000..efdcec840 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb @@ -0,0 +1,35 @@ +require ttf.inc + +SUMMARY = "Sazanami Gothic/Mincho Japanese TrueType fonts" +SUMMARY_ttf-sazanami-gothic = "Sazanami Gothic Japanese TrueType font" +SUMMARY_ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font" +AUTHOR = "Electronic Font Open Laboratory (/efont/)" +HOMEPAGE = "http://sourceforge.jp/projects/efont/" +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://README;md5=97d739900be6e852830f55aa3c07d4a0" +SRC_DISTRIBUTE_LICENSES += "${PN}" +RPROVIDES_${PN} = "virtual-japanese-font" +PR = "r9" + +SRC_URI = "http://osdn.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2" +S = "${WORKDIR}/sazanami-20040629" + +PACKAGES = "ttf-sazanami-gothic ttf-sazanami-mincho" +FONT_PACKAGES = "ttf-sazanami-gothic ttf-sazanami-mincho" + +FILES_ttf-sazanami-gothic = "${datadir}/fonts/truetype/sazanami-gothic.ttf \ + ${datadir}/doc/ttf-sazanami-gothic/README" +FILES_ttf-sazanami-mincho = "${datadir}/fonts/truetype/sazanami-mincho.ttf \ + ${datadir}/doc/ttf-sazanami-mincho/README" + +do_install_append() { + # README contains the redistribution license + install -d ${D}${datadir}/doc/ + install -d ${D}${datadir}/doc/ttf-sazanami-gothic + install -d ${D}${datadir}/doc/ttf-sazanami-mincho + install -m 0644 ${S}/README ${D}${datadir}/doc/ttf-sazanami-gothic + install -m 0644 ${S}/README ${D}${datadir}/doc/ttf-sazanami-mincho +} + +SRC_URI[md5sum] = "ceef10579a75c92483171f3bd7f77df2" +SRC_URI[sha256sum] = "3467ce2f70a9a3fbbf8d4d97355a2f334a6351baa6722251403637a8cbebf6b7" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb new file mode 100644 index 000000000..06a3fe533 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb @@ -0,0 +1,27 @@ +require ttf.inc + +SUMMARY = "Thai Linux Working Group Fonts" +AUTHOR = "Thai Linux Working Group" +HOMEPAGE = "http://linux.thai.net/projects/fonts-tlwg" +LICENSE = "GPLv2 & TLWG" +LIC_FILES_CHKSUM = "file://../fonts-tlwg-${PV}/COPYING;md5=3d20cd7eadf4afd5460c0adb32e387fd" + +SRC_URI = "http://linux.thai.net/pub/ThaiLinux/software/fonts-tlwg/fonts-tlwg-${PV}.tar.xz;name=source \ + http://linux.thai.net/pub/ThaiLinux/software/ttf-tlwg/ttf-tlwg-${PV}.tar.xz;name=ttf" +SRC_URI[source.md5sum] = "5ea5bc964d992df0428f2e0b85f48400" +SRC_URI[source.sha256sum] = "77fb9832221fde60c9f683ac3fdce7d45ab6e9c0d83df83da969a3fe9faba537" +SRC_URI[ttf.md5sum] = "1bc51f45a7b661404a944fab6911261c" +SRC_URI[ttf.sha256sum] = "aa9cd68969b6f704df3e5b1a2e11204c47f118c8ab052f04c111bd5f299f77c8" + +do_install_append () { + install -d ${D}${sysconfdir}/fonts/conf.d + + for x in ${S}/etc/fonts/conf.avail/*.conf; do + install -m 0644 $x ${D}${sysconfdir}/fonts/conf.d/ + done +} + +PACKAGES = "${PN}" +FONT_PACKAGES = "${PN}" + +FILES_${PN} = "${datadir}/fonts ${sysconfdir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb new file mode 100644 index 000000000..d5d1b9a17 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb @@ -0,0 +1,20 @@ +require ttf.inc + +SUMMARY = "Ubuntu Font Family - TTF Version" +HOMEPAGE = "http://font.ubuntu.com" +LICENSE = "UFL" +LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=325a1a9029112a2405e743c7f816427b" +PR = "r1" + +SRC_URI = "http://font.ubuntu.com/download/ubuntu-font-family-${PV}.zip" + +SRC_URI[md5sum] = "a1fc70f5a5b1d096ab8310886cddaa1c" +SRC_URI[sha256sum] = "107170099bbc3beae8602b97a5c423525d363106c3c24f787d43e09811298e4c" + +S = "${WORKDIR}/ubuntu-font-family-${PV}" + +PACKAGES = "ttf-ubuntu-mono ttf-ubuntu-sans" +FONT_PACKAGES = "ttf-ubuntu-mono ttf-ubuntu-sans" + +FILES_ttf-ubuntu-mono = "${datadir}/fonts/truetype/*Mono*" +FILES_ttf-ubuntu-sans = "${datadir}/fonts/truetype/Ubuntu-*" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb new file mode 100644 index 000000000..62f2bb280 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb @@ -0,0 +1,28 @@ +require ttf.inc + +SUMMARY = "Japanese TrueType fonts from Vine Linux" +AUTHOR = "Contributor: noonov <noonov@gmail.com>" +HOMEPAGE = "http://vlgothic.dicey.org/" + +LICENSE = "mplus & BSD" +LIC_FILES_CHKSUM = "file://LICENSE.en;md5=66ecd0fd7e4da6246fa30317c7b66755 \ + file://LICENSE_E.mplus;md5=1c4767416f20215f1e61b970f2117db9 \ +" + +SRC_URI = "https://osdn.jp/dl/vlgothic/VLGothic-${PV}.tar.xz" + +SRC_URI[md5sum] = "bb7fadb2dff09a4fb6a11dc9dfdc0c36" +SRC_URI[sha256sum] = "982040db2f9cb73d7c6ab7d9d163f2ed46d1180f330c9ba2fae303649bf8102d" + +S = "${WORKDIR}/VLGothic" + +do_install_append () { + install -D -m644 ${S}/LICENSE_E.mplus ${D}${datadir}/licenses/${PN}/COPYING_MPLUS.txt + install -D -m644 ${S}/README.sazanami ${D}${datadir}/licenses/${PN}/COPYING_SAZANAMI.txt + install -D -m644 ${S}/LICENSE.en ${D}${datadir}/licenses/${PN}/COPYING_VLGOTHIC.txt +} + +PACKAGES = "${PN}" +FONT_PACKAGES = "${PN}" + +FILES_${PN} = "${datadir}/fonts/truetype ${datadir}/licenses" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb new file mode 100644 index 000000000..1207a61b8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb @@ -0,0 +1,27 @@ +require ttf.inc + +SUMMARY = "WenQuanYi Zen Hei - A Hei-Ti Style Chinese font" +AUTHOR = "Qianqian Fang and The WenQuanYi Project Contributors" +HOMEPAGE = "http://wenq.org/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=cf540fc7d35b5777e36051280b3a911c" + +SRC_URI = "${SOURCEFORGE_MIRROR}/wqy/wqy-zenhei-${PV}.tar.gz" +SRC_URI[md5sum] = "4c6c3f4e902dd5ee0a121e8c41d040bd" +SRC_URI[sha256sum] = "e4b7e306475bf9427d1757578f0e4528930c84c44eaa3f167d4c42f110ee75d6" + +S = "${WORKDIR}/wqy-zenhei" + +do_install_append () { + sed -i -e '/<string>[^W]/d' ${S}/44-wqy-zenhei.conf + install -d ${D}${sysconfdir}/fonts/conf.d + + for x in ${S}/*.conf; do + install -m 0644 $x ${D}${sysconfdir}/fonts/conf.d/ + done +} + +PACKAGES = "${PN}" +FONT_PACKAGES = "${PN}" + +FILES_${PN} = "${datadir}/fonts ${sysconfdir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf.inc b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf.inc new file mode 100644 index 000000000..c77af3993 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf.inc @@ -0,0 +1,12 @@ +DESCRIPTION ?= "TrueType font package ${PN}" +SECTION = "fonts" + +# we don't need a compiler nor a c library for these fonts +INHIBIT_DEFAULT_DEPS = "1" + +do_install() { + install -d ${D}${datadir}/fonts/truetype/ + find ./ -name '*.tt[cf]' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \; +} + +inherit allarch fontcache diff --git a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb new file mode 100644 index 000000000..31bcce066 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "Video Decode and Presentation API for UNIX" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58" + +DEPENDS = "virtual/libx11 libxext dri2proto" + +PV = "1.1.1+git${SRCPV}" + +SRCREV = "a21bf7aa438f5dd40d0a300a3167aa3d6f26dccc" +SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau" + +S = "${WORKDIR}/git" + +inherit distro_features_check autotools pkgconfig + +REQUIRED_DISTRO_FEATURES = "x11" + +do_install_append() { + rm -f ${D}${libdir}/*/*.la +} + +FILES_${PN}-dbg += "${libdir}/vdpau/.debug" +FILES_${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}" +FILES_${PN} += "${libdir}/vdpau/lib*${SOLIBS}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch new file mode 100644 index 000000000..f2a538bf6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch @@ -0,0 +1,24 @@ +libvncserver: replace LIBVNCSERVER_WORDS_BIGENDIAN with WORDS_BIGENDIAN + +since macro AC_C_BIGENDIAN is used in autoconf and WORDS_BIGENDIAN is +automatically set for different arch, it is better to use WORDS_BIGENDIAN +instead of LIBVNCSERVER_WORDS_BIGENDIAN, which cuase issue in mips. + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +Upstream-Status: Pending + +diff --git a/libvncserver/main.c b/libvncserver/main.c +index b6bd930..8bbb7bf 100644 +--- a/libvncserver/main.c ++++ b/libvncserver/main.c +@@ -47,7 +47,7 @@ static MUTEX(extMutex); + + static int rfbEnableLogging=1; + +-#ifdef LIBVNCSERVER_WORDS_BIGENDIAN ++#ifdef WORDS_BIGENDIAN + char rfbEndianTest = (1==0); + #else + char rfbEndianTest = (1==1); + diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch new file mode 100644 index 000000000..8e894bd8e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch @@ -0,0 +1,86 @@ +From 7be055c13c7d0d640941830a3291af3b404928c1 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Mon, 27 Jun 2016 04:44:14 -0400 +Subject: [PATCH] configure.ac: remove redundant RPATH + +It caused oe QA issue: +... +|ERROR: QA Issue: x11vnc: work/i586-poky-linux/x11vnc/0.9.13-r0/packages-split/ +x11vnc/usr/bin/x11vnc contains probably-redundant RPATH /usr/lib [useless-rpaths] +... + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + configure.ac | 21 +++++---------------- + 1 file changed, 5 insertions(+), 16 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6f664d0..f986686 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -330,10 +330,8 @@ if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then + saved_LDFLAGS="$LDFLAGS" + CPPFLAGS="$CPPFLAGS -I$with_ssl/include" + LDFLAGS="$LDFLAGS -L$with_ssl/lib" +- if test "x$ld_minus_R" = "xno"; then ++ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then + : +- elif test "x$GCC" = "xyes"; then +- LDFLAGS="$LDFLAGS -Xlinker -R$with_ssl/lib" + else + LDFLAGS="$LDFLAGS -R$with_ssl/lib" + fi +@@ -447,10 +445,8 @@ if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno + fi + if test "x$with_system_libvncserver" != "xyes"; then + rflag="" +- if test "x$ld_minus_R" = "xno"; then ++ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then + : +- elif test "x$GCC" = "xyes"; then +- rflag="-Xlinker -R$with_system_libvncserver/lib" + else + rflag="-R$with_system_libvncserver/lib" + fi +@@ -484,10 +480,8 @@ new enough. + elif libvncserver-config --version 1>/dev/null 2>&1; then + rflag="" + rprefix=`libvncserver-config --prefix` +- if test "x$ld_minus_R" = "xno"; then ++ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then + : +- elif test "x$GCC" = "xyes"; then +- rflag=" -Xlinker -R$rprefix/lib " + else + rflag=" -R$rprefix/lib " + fi +@@ -541,11 +535,8 @@ if test "x$with_jpeg" != "xno"; then + saved_LDFLAGS="$LDFLAGS" + CPPFLAGS="$CPPFLAGS -I$with_jpeg/include" + LDFLAGS="$LDFLAGS -L$with_jpeg/lib" +- if test "x$ld_minus_R" = "xno"; then ++ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then + : +- elif test "x$GCC" = "xyes"; then +- # this is not complete... in general a rat's nest. +- LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib" + else + LDFLAGS="$LDFLAGS -R$with_jpeg/lib" + fi +@@ -590,10 +581,8 @@ if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then + saved_LDFLAGS="$LDFLAGS" + CPPFLAGS="$CPPFLAGS -I$with_zlib/include" + LDFLAGS="$LDFLAGS -L$with_zlib/lib" +- if test "x$ld_minus_R" = "xno"; then ++ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then + : +- elif test "x$GCC" = "xyes"; then +- LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib" + else + LDFLAGS="$LDFLAGS -R$with_zlib/lib" + fi +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch new file mode 100644 index 000000000..f62e405dd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch @@ -0,0 +1,25 @@ +"-gui" & "-rfbport" require "wish" installed, or else x11vnc fails to start. +Removing these 2 parameters makes x11vnc works well on poky sato image. + +Add also -skip_lockkeys option to ignore all Caps_Lock, Shift_Lock, Num_Lock, +Scroll_Lock keysyms received from viewers, in order to leave the lock state on +the server side unchanged. Yet, the keys will appear correctly. + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> +Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> + +Upstream-Status: Inappropriate [configuration] + +Index: x11vnc-0.9.12/x11vnc/x11vnc.desktop +=================================================================== +--- x11vnc-0.9.12.orig/x11vnc/x11vnc.desktop 2011-03-03 10:33:18.000000000 +0800 ++++ x11vnc-0.9.12/x11vnc/x11vnc.desktop 2011-03-03 10:35:20.000000000 +0800 +@@ -1,7 +1,7 @@ + [Desktop Entry] + Name=X11VNC Server + Comment=Share this desktop by VNC +-Exec=x11vnc -gui tray=setpass -rfbport PROMPT -bg -o %%HOME/.x11vnc.log.%%VNCDISPLAY ++Exec=x11vnc -bg -rfbport 5900 -skip_lockkeys -o %%HOME/.x11vnc.log.%%VNCDISPLAY + Icon=computer + Terminal=false + Type=Application diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb new file mode 100644 index 000000000..b047bc462 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb @@ -0,0 +1,34 @@ +SUMMARY = "Exports your X session on-the-fly via VNC" +HOMEPAGE = "http://www.karlrunge.com/x11vnc/" + +SECTION = "x11/utils" +AUTHOR = "Karl Runge" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f \ + file://x11vnc/x11vnc.h;endline=33;md5=6f95dc6535467d7ee1563fd434fb372e" + +SRC_URI = "${SOURCEFORGE_MIRROR}/libvncserver/x11vnc/${PV}/x11vnc-${PV}.tar.gz\ + file://starting-fix.patch \ + file://endian-fix.patch \ + file://remove-redundant-RPATH.patch \ +" + +SRC_URI[md5sum] = "a372ec4fe8211221547b1c108cf56e4c" +SRC_URI[sha256sum] = "f6829f2e629667a5284de62b080b13126a0736499fe47cdb447aedb07a59f13b" + +DEPENDS = "openssl virtual/libx11 libxext jpeg zlib libxfixes libxrandr libxdamage libxtst libtasn1 p11-kit" + +inherit autotools-brokensep distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} libvncserver" +PACKAGECONFIG[avahi] = "--with-avahi,--without-avahi,avahi" +PACKAGECONFIG[xinerama] = "--with-xinerama,--without-xinerama,libxinerama" +PACKAGECONFIG[libvncserver] = "--with-system-libvncserver,--without-system-libvncserver,libvncserver" + +do_prepare_sources () { + # Remove old libtool macros from acinclude.m4 + sed -i -e '/^# libtool.m4/q' ${S}/acinclude.m4 +} +do_patch[postfuncs] += "do_prepare_sources" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb new file mode 100644 index 000000000..a21dc42a9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb @@ -0,0 +1,14 @@ +LICENSE = "ManishSingh" +LIC_FILES_CHKSUM = "file://COPYING;md5=bd1fb9ee90eead85f7b171807b3ab4f2" + +DEPENDS = "libpng libxcursor" + +SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.bz2" +SRC_URI[md5sum] = "09f56978a62854534deacc8aa8ff3031" +SRC_URI[sha256sum] = "bc7171a0fa212da866fca2301241630e2009aea8c4ddb75f21b51a31c2e4c581" + +inherit distro_features_check autotools pkgconfig + +REQUIRED_DISTRO_FEATURES = "x11" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb b/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb new file mode 100644 index 000000000..b68e994ab --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb @@ -0,0 +1,23 @@ +SUMMARY = "xdotool - command-line X11 automation tool - utilising X11 XTEST interface" +HOMEPAGE = "http://www.semicomplete.com/projects/xdotool" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=2f9cbf7e9401cec8a38666a08851ce6b" +SECTION = "x11" +DEPENDS = "virtual/libx11 libxtst" + +PR = "r1" + +inherit distro_features_check pkgconfig +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "http://semicomplete.googlecode.com/files/xdotool-${PV}.tar.gz" +SRC_URI[md5sum] = "1d5be641e512c343abfe5f78b39e6f19" +SRC_URI[sha256sum] = "42d7271fbc796e53db71bb221f311b9ff3c51d90a71c9487a9bd3101ca39894f" + +EXTRA_OEMAKE = "PREFIX=${prefix} INSTALLLIB=${libdir} INSTALLMAN=${mandir}" + +do_install() { + oe_runmake -e install DESTDIR=${D} PREFIX=${prefix} +} + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.1.bb new file mode 100644 index 000000000..9116b5f74 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.1.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "bdftopcf is a tool to convert BDF fonts to PCF fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/bdftopcf/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=f9a35333adf75edd1eaef84bca65a490" +DEPENDS = "libxfont" + +SRC_URI[md5sum] = "2a455d3c02390597feb9cefb3fe97a45" +SRC_URI[sha256sum] = "4b4df05fc53f1e98993638d6f7e178d95b31745c4568cee407e167491fd311a2" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.7.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.7.bb new file mode 100644 index 000000000..f40dec884 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.7.bb @@ -0,0 +1,16 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" + +DESCRIPTION = "A collection of utilities used to tweak and query the runtime configuration\ +of the X server." + +LIC_FILES_CHKSUM = "file://COPYING;md5=13f70acf3c27f5f834bbc954df775f8e" + +BBCLASSEXTEND = "native" + +DEPENDS += "libice" + +SRC_URI[md5sum] = "25dab02f8e40d5b71ce29a07dc901b8c" +SRC_URI[sha256sum] = "1216af2dee99b318fcf8bf9a259915273bcb37a7f1e7859af4f15d0ebf6f3f0a" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch new file mode 100644 index 000000000..207285373 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch @@ -0,0 +1,33 @@ +From 088bb4cef2c93bef312b076a8c7a3c798cbf2f19 Mon Sep 17 00:00:00 2001 +From: daicy <daicy@cn.fujitsu.com> +Date: Tue, 8 Dec 2015 11:45:01 +0900 +Subject: [PATCH] Makefile.am: Error Fix + +Do not compile man dir since error always occur. + | sed: file filenames.sed line 3: unterminated `s' command + | make[2]: *** [sessreg.1] Error 1 +It is not a good way.But can remove it from PNBLACKLIST. + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index cddffd0..94f7048 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -18,7 +18,7 @@ + # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + # PERFORMANCE OF THIS SOFTWARE. + +-SUBDIRS = man ++#SUBDIRS = man + bin_PROGRAMS = sessreg + + AM_CFLAGS = $(CWARNFLAGS) $(SESSREG_CFLAGS) +-- +1.8.4.2 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb new file mode 100644 index 000000000..d2afa78f9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb @@ -0,0 +1,11 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "a simple program for managing utmp/wtmp entries" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185" +SRC_URI += "file://0001-Makefile.am-Error-Fix.patch" +SRC_URI[md5sum] = "e475167a892b589da23edf8edf8c942d" +SRC_URI[sha256sum] = "78a76ae3f3f6a26547a34630d1b740f42344848b5fb6d7c9c7f7da255e35a6e1" + +CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP " + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb new file mode 100644 index 000000000..840275387 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb @@ -0,0 +1,19 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "A program to compile XKB keyboard description" + +DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \ +XKB keymap into one of several output formats. The most common use for \ +xkbcomp is to create a compiled keymap file (.xkm extension) which can \ +be read directly by XKB-capable X servers or utilities." + +LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8" + +PE = "1" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "2c47a1b8e268df73963c4eb2316b1a89" +SRC_URI[sha256sum] = "a9ddb3963f263ba13f0ea105d8c45a531832140530217cc559587bb94f02d3e1" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb new file mode 100644 index 000000000..41c804bb3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "tiny window manager" +DEPENDS += " libxext libxt libxmu bison-native" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586" + +SRC_URI[md5sum] = "59a6f076cdacb5f6945dac809bcf4906" +SRC_URI[sha256sum] = "c575167ac33edf3bd1592f1bedfe0559debb128ed5fb4873c1278e3be166310a" + +FILES_${PN} += "${datadir}/X11/twm/system.twmrc" +ALTERNATIVE_NAME = "x-window-manager" +ALTERNATIVE_PATH = "${bindir}/twm" +ALTERNATIVE_LINK = "${bindir}/x-window-manager" +ALTERNATIVE_PRIORITY = "1" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb new file mode 100644 index 000000000..cf970d5d6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb @@ -0,0 +1,11 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "analog / digital clock for X" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=857759ade8f2ddde5c7b32ef7356ea36" + +DEPENDS += " libxaw libxrender libxft libxkbfile libxt" + +SRC_URI[md5sum] = "eaf124bbc9d13e1a12a29faaa2ed3612" +SRC_URI[sha256sum] = "53a9169e24f3814fbfcfee3ca0b98637840a3156ed7c7e36ae03940fabae4c9a" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb new file mode 100644 index 000000000..c74b29194 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "xfontsel provides point and click selection of X11 font names" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3" +DEPENDS += " libxaw" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3" + +SRC_URI[md5sum] = "a40302b88c599b63e3d3d412e02871e6" +SRC_URI[sha256sum] = "170d8550b96fb47b04db6181b947e6f6b8b97f4df5d691c351a278480cc931bf" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb new file mode 100644 index 000000000..4949616dd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" + +DESCRIPTION = "xgamma allows X users to query and alter the gamma \ +correction of a monitor via the X video mode extension." + +LIC_FILES_CHKSUM = "file://COPYING;md5=ac9801b8423fd7a7699ccbd45cf134d8" + +DEPENDS += "libxxf86vm" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "90b4305157c2b966d5180e2ee61262be" +SRC_URI[sha256sum] = "0ef1c35b5c18b1b22317f455c8df13c0a471a8efad63c89c98ae3ce8c2b222d3" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb new file mode 100644 index 000000000..a6fc9e755 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "A program to compile XKB keyboard description" +DESCRIPTION = "The xkbevd event daemon listens for specified XKB \ +events and executes requested commands if they occur. " + +LIC_FILES_CHKSUM = "file://COPYING;md5=208668fa9004709ba22c2b748140956c" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "c747faf1f78f5a5962419f8bdd066501" +SRC_URI[sha256sum] = "2430a2e5302a4cb4a5530c1df8cb3721a149bbf8eb377a2898921a145197f96a" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb new file mode 100644 index 000000000..26977bea5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "A program to compile XKB keyboard description" +DESCRIPTION = "xkbprint generates a printable or encapsulated PostScript \ +description of an XKB keyboard description." + +LIC_FILES_CHKSUM = "file://COPYING;md5=20f28f97555b220fde762bc2a4406a8f" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "3c25b40de530112c08bf7d229c5c6a28" +SRC_URI[sha256sum] = "0b3faab8fefad03dfb7e866f634cf859822801de6b5fc6cf5e0a62857ed93e12" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb new file mode 100644 index 000000000..6a05e98e3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb @@ -0,0 +1,19 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "XKeyboard (XKB) extension to the X11 protocol" +DESCRIPTION = " \ +xkbutils is a collection of small utilities utilizing the XKeyboard (XKB) \ +extension to the X11 protocol. \ +It includes: \ + xkbbell - generate XKB bell events \ + xkbvleds - display the state of LEDs on an XKB keyboard in a window \ + xkbwatch - reports changes in the XKB keyboard state \ +" +LIC_FILES_CHKSUM = "file://COPYING;md5=64322fab5239f5c8d97cf6e0e14f1c62" + +DEPENDS += "libxaw libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "502b14843f610af977dffc6cbf2102d5" +SRC_URI[sha256sum] = "d2a18ab90275e8bca028773c44264d2266dab70853db4321bdbc18da75148130" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb new file mode 100644 index 000000000..723d4e211 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb @@ -0,0 +1,14 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsatoms/" +DESCRIPTION = "Xlsatoms lists the interned atoms defined on an X11 server" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8" + +DEPENDS += "libxmu" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "5dcb6e6c4b28c8d7aeb45257f5a72a7d" +SRC_URI[sha256sum] = "47e5dc7c3dbda6db2cf8c00cedac1722835c1550aa21cfdbc9ba83906694dea4" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb new file mode 100644 index 000000000..42bda7ea3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb @@ -0,0 +1,14 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsclients/" +DESCRIPTION = "xlsclients is a utility for listing information about the \ +client applications running on a X11 server." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "4fa92377e0ddc137cd226a7a87b6b29a" +SRC_URI[sha256sum] = "773f2af49c7ea2c44fba4213bee64325875c1b3c9bc4bbcd8dac9261751809c1" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb new file mode 100644 index 000000000..76b76e4b3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb @@ -0,0 +1,10 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "server font list displayer for X" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsfonts/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b" + +SRC_URI[md5sum] = "5774fd4f518b3f338f2b28f270e04bfc" +SRC_URI[sha256sum] = "89b80b3a030006ab6cef717be286c12f2477894b227158b1e6133274f6ebd368" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb new file mode 100644 index 000000000..d57742180 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb @@ -0,0 +1,11 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "xmag is a tool to magnify parts of the screen" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387" +DEPENDS += " libxaw libxt" + +SRC_URI[md5sum] = "280b81cb09d1903aa868a058d90128ad" +SRC_URI[sha256sum] = "4ace8795cf756be4ba387f30366045594ce26adda2f5ffe1f8e896825d0932c6" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb new file mode 100644 index 000000000..9960706d0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb @@ -0,0 +1,10 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "Display a message or query in a window" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5" + +DEPENDS += "libxaw" + +SRC_URI[md5sum] = "2dd5ae46fa18abc9331bc26250a25005" +SRC_URI[sha256sum] = "bcdf4b461c439bb3ade6e1e41c47d6218b912da8e9396b7ad70856db2f95ab68" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb new file mode 100644 index 000000000..85957e056 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb @@ -0,0 +1,9 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "X server resource database utility" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69" + +DEPENDS += "libxmu" + +SRC_URI[md5sum] = "b54c7e3e53b4f332d41ed435433fbda0" +SRC_URI[sha256sum] = "73827b6bbfc9d27ca287d95a1224c306d7053cd7b8156641698d7dc541ca565b" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb new file mode 100644 index 000000000..a2a4941e9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xrefresh/" +DESCRIPTION = "xrefresh - refresh all or part of an X screen" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "a896382bc53ef3e149eaf9b13bc81d42" +SRC_URI[sha256sum] = "3213671b0a8a9d1e8d1d5d9e3fd86842c894dd9acc1be2560eda50bc1fb791d6" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb new file mode 100644 index 000000000..b757329d9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetmode/" +DESCRIPTION = "xsetmode sets the mode of an XInput device to either absolute \ +or relative." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=9b37e00e7793b667cbc64f9df7b6d733" + +DEPENDS += "libxi" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "d074e79d380b031d2f60e4cd56538c93" +SRC_URI[sha256sum] = "988b47cd922991c6e6adbce15dc386ac75690b61744b526c3af5a4eaa9afa0aa" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb new file mode 100644 index 000000000..2c79f27ca --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb @@ -0,0 +1,14 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetroot/" +DESCRIPTION = "xsetroot is a root window parameter setting utility for X" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de" + +DEPENDS += "xbitmaps libxcursor" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "7211b31ec70631829ebae9460999aa0b" +SRC_URI[sha256sum] = "ba215daaa78c415fce11b9e58c365d03bb602eaa5ea916578d76861a468cc3d9" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb new file mode 100644 index 000000000..99f70364b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb @@ -0,0 +1,16 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xstdcmap" +DESCRIPTION = "The xstdcmap utility can be used to selectively define \ +standard colormap properties." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8" + +DEPENDS += "libxmu" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "eb5473acaef15a5db9b50df29c6a7f90" +SRC_URI[sha256sum] = "f648e2b0cf16aa29856de998e2c7204be39dc1f8daeda9464d32288e0b580fc1" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb new file mode 100644 index 000000000..16f9b7882 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb @@ -0,0 +1,34 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "xterm is the standard terminal emulator for the X Window System" +DEPENDS = "libxaw xproto xextproto libxext libxau libxinerama libxpm ncurses" + +LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=f02ab9ebda87b770ecf711dbb3784a33" + +SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz" + +SRC_URI[md5sum] = "9a6db7974aa4ccbb50eabebf72618467" +SRC_URI[sha256sum] = "7aeef9f29f6b95e09f481173c8c3053357bf5ffe162585647f690fd1707556df" +PACKAGECONFIG ?= "" +PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" + +EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ + FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \ + --disable-imake \ + --disable-rpath-hack \ + --disable-setuid" + +B = "${S}" + +do_configure() { + gnu-configize --force + sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure + oe_runconf +} + +FILES_${PN} += "/usr/lib/X11" + +# busybox can supply resize too +inherit update-alternatives + +ALTERNATIVE_${PN} = "resize" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb new file mode 100644 index 000000000..694bf57ac --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb @@ -0,0 +1,11 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "xwd is a tool to capture an X window or screen to file" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwd/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=c0cdb783e9a0198237371fdaa26a18bf" +DEPENDS = "libxmu libxkbfile" + +SRC_URI[md5sum] = "6b5d48464c5f366e91efd08b62b12d94" +SRC_URI[sha256sum] = "3bb396a2268d78de4b1c3e5237a85f7849d3434e87b3cd1f4d57eef614227d79" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb new file mode 100644 index 000000000..7cb550d27 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb @@ -0,0 +1,12 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwud/" +DESCRIPTION = "xwud allows X users to display in a window an image saved \ +in a specially formatted dump file, such as produced by xwd." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=31e8892c80b7a0c1c5f37c8e8ae6d794" + +SRC_URI[md5sum] = "79972093bb0766fcd0223b2bd6d11932" +SRC_URI[sha256sum] = "99997051f8a892313f22edf41dab45864e86e7062ee9012d5dbb6a40fc6b10a9" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb new file mode 100644 index 000000000..8647f038e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb @@ -0,0 +1,11 @@ +require xorg-data-common.inc + +SUMMARY = "Common X11 Bitmaps" +LICENSE = "MIT" +DEPENDS += "libxmu" +RDEPENDS_${PN}-dev = "" + +LIC_FILES_CHKSUM = "file://COPYING;md5=dbd075aaffa4a60a8d00696f2e4b9a8f" + +SRC_URI[md5sum] = "7444bbbd999b53bec6a60608a5301f4c" +SRC_URI[sha256sum] = "3671b034356bbc4d32d052808cf646c940ec8b2d1913adac51b1453e41aa1e9d" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc new file mode 100644 index 000000000..cb6b5ac77 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc @@ -0,0 +1,12 @@ +HOMEPAGE = "http://www.x.org" +SECTION = "x11/data" +LICENSE = "MIT-X" + +XORG_PN = "${BPN}" + +SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.bz2" +S = "${WORKDIR}/${XORG_PN}-${PV}" + +inherit distro_features_check autotools pkgconfig + +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc new file mode 100644 index 000000000..f4b8b00de --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc @@ -0,0 +1,12 @@ +DESCRIPTION = "X documentation" +HOMEPAGE = "http://www.x.org" +SECTION = "x11/docs" +LICENSE = "MIT-X" + +SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.bz2" + +S = "${WORKDIR}/${BPN}-${PV}" + +INC_PR = "r1" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb new file mode 100644 index 000000000..80f1f008b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb @@ -0,0 +1,12 @@ +require xorg-doc-common.inc +PE = "1" +PR = "${INC_PR}.0" + +DEPENDS += "util-macros" + +LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449" + +SRC_URI[md5sum] = "2588efb3f49f7fc6ecf41ce42e0b2e5e" +SRC_URI[sha256sum] = "84fd94e5c50556e6f77501485f8a48724cf3c95c6d58480bc280258ba14580c8" + +FILES_${PN} += " /usr/share/sgml/X11" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi new file mode 100644 index 000000000..906043947 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<deviceinfo version="0.2"> + <device> + <match key="info.capabilities" contains="input.touchpad"> + <merge key="input.x11_driver" type="string">tslib</merge> + </match> + <match key="info.capabilities" contains="input.touchscreen"> + <merge key="input.x11_driver" type="string">tslib</merge> + </match> + </device> +</deviceinfo> diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules new file mode 100644 index 000000000..ec130c257 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules @@ -0,0 +1,5 @@ +# create /dev/input/touchscreenX symlink, tag xf86-input-tslib as driver +SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen%n", ENV{x11_driver}="tslib" +SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="ads7846", SYMLINK+="input/touchscreen%n", ENV{x11_driver}="tslib" + + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch new file mode 100644 index 000000000..07754731d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch @@ -0,0 +1,20 @@ +xorg-server-1.7.3/hw/xfree86/common/xf86Helper.c contains this code +causing a double free crash on chvt or exit: + + /* This should *really* be handled in drv->UnInit(dev) call instead, but + * if the driver forgets about it make sure we free it or at least crash + * with flying colors */ + if (pInp->private) + xfree(pInp->private); +Index: xf86-input-tslib-0.0.6/src/tslib.c +=================================================================== +--- xf86-input-tslib-0.0.6.orig/src/tslib.c ++++ xf86-input-tslib-0.0.6/src/tslib.c +@@ -435,6 +435,7 @@ xf86TslibUninit(InputDriverPtr drv, Inpu + xf86TslibControlProc(pInfo->dev, DEVICE_OFF); + ts_close(priv->ts); + xfree(pInfo->private); ++ pInfo->private = NULL; + xf86DeleteInput(pInfo, 0); + } + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch new file mode 100644 index 000000000..d16b4a53c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch @@ -0,0 +1,31 @@ +Fixes crash when a touchscreen event is received with xserver 1.12 and later: +X: symbol lookup error: /usr/lib/xorg/modules/input/tslib_drv.so: undefined symbol: xf86XInputSetScreen + +Upstream-Status: Pending + +Taken from Gentoo: +https://bugs.gentoo.org/show_bug.cgi?id=446432 + +diff -ur xf86-input-tslib-0.0.6.orig/src/tslib.c xf86-input-tslib-0.0.6/src/tslib.c +--- xf86-input-tslib-0.0.6.orig/src/tslib.c 2012-12-05 01:12:16.286597071 +0100 ++++ xf86-input-tslib-0.0.6/src/tslib.c 2012-12-05 01:11:02.686598595 +0100 +@@ -75,6 +75,19 @@ + #define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options)) + #endif + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 13 ++static void ++xf86XInputSetScreen(InputInfoPtr pInfo, ++ int screen_number, ++ int x, ++ int y) ++{ ++ if (miPointerGetScreen(pInfo->dev) != ++ screenInfo.screens[screen_number]) { ++ miPointerSetScreen(pInfo->dev, screen_number, x, y); ++ } ++} ++#endif + + enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 }; + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch new file mode 100644 index 000000000..6a6d5b92c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch @@ -0,0 +1,196 @@ +Upstream-Status: Pending + +Taken from debian: +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627075 + +Index: xf86-input-tslib-trunk/src/tslib.c +=================================================================== +--- xf86-input-tslib-trunk/src/tslib.c (revision 48) ++++ xf86-input-tslib-trunk/src/tslib.c (working copy) +@@ -69,6 +69,13 @@ + #define DEFAULT_HEIGHT 240 + #define DEFAULT_WIDTH 320 + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 ++#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options), NULL) ++#else ++#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options)) ++#endif ++ ++ + enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 }; + + enum button_state { BUTTON_NOT_PRESSED = 0, BUTTON_1_PRESSED = 1, BUTTON_3_CLICK = 3, BUTTON_3_CLICKED=4, BUTTON_EMULATION_OFF=-1 }; +@@ -106,7 +113,7 @@ + } + + static Bool +-ConvertProc( LocalDevicePtr local, ++ConvertProc( InputInfoPtr local, + int first, + int num, + int v0, +@@ -135,7 +142,7 @@ + return t; + } + +-static void ReadInput (LocalDevicePtr local) ++static void ReadInput (InputInfoPtr local) + { + struct ts_priv *priv = (struct ts_priv *) (local->private); + struct ts_sample samp; +@@ -382,7 +389,11 @@ + axiswidth - 1, /* max val */ + axiswidth, /* resolution */ + 0, /* min_res */ +- axiswidth); /* max_res */ ++ axiswidth /* max_res */ ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 ++ ,Absolute ++#endif ++ ); + + InitValuatorAxisStruct(device, 1, + #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 +@@ -392,7 +403,11 @@ + axisheight - 1, /* max val */ + axisheight, /* resolution */ + 0, /* min_res */ +- axisheight); /* max_res */ ++ axisheight /* max_res */ ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 ++ ,Absolute ++#endif ++ ); + + if (InitProximityClassDeviceStruct (device) == FALSE) { + ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n"); +@@ -434,7 +449,7 @@ + ErrorF("%s\n", __FUNCTION__); + xf86TslibControlProc(pInfo->dev, DEVICE_OFF); + ts_close(priv->ts); +- xfree(pInfo->private); ++ free(pInfo->private); + pInfo->private = NULL; + xf86DeleteInput(pInfo, 0); + } +@@ -444,47 +459,57 @@ + * + * called when the module subsection is found in XF86Config + */ ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 ++static int ++xf86TslibInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) ++#else + static InputInfoPtr + xf86TslibInit(InputDriverPtr drv, IDevPtr dev, int flags) ++#endif + { + struct ts_priv *priv; + char *s; ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 + InputInfoPtr pInfo; ++#endif + +- priv = xcalloc (1, sizeof (struct ts_priv)); ++ priv = calloc (1, sizeof (struct ts_priv)); + if (!priv) +- return NULL; ++ return BadValue; + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 + if (!(pInfo = xf86AllocateInput(drv, 0))) { +- xfree(priv); +- return NULL; ++ free(priv); ++ return BadValue; + } + + /* Initialise the InputInfoRec. */ + pInfo->name = dev->identifier; +- pInfo->type_name = XI_TOUCHSCREEN; + pInfo->flags = + XI86_KEYBOARD_CAPABLE | XI86_POINTER_CAPABLE | + XI86_SEND_DRAG_EVENTS; +- pInfo->device_control = xf86TslibControlProc; +- pInfo->read_input = ReadInput; + #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 + pInfo->motion_history_proc = xf86GetMotionEvents; + pInfo->history_size = 0; + #endif +- pInfo->control_proc = NULL; ++ pInfo->conf_idev = dev; + pInfo->close_proc = NULL; +- pInfo->switch_mode = NULL; + pInfo->conversion_proc = ConvertProc; + pInfo->reverse_conversion_proc = NULL; +- pInfo->dev = NULL; + pInfo->private_flags = 0; + pInfo->always_core_feedback = 0; +- pInfo->conf_idev = dev; ++#endif ++ ++ pInfo->type_name = XI_TOUCHSCREEN; ++ pInfo->control_proc = NULL; ++ pInfo->read_input = ReadInput; ++ pInfo->device_control = xf86TslibControlProc; ++ pInfo->switch_mode = NULL; + pInfo->private = priv; ++ pInfo->dev = NULL; + + /* Collect the options, and process the common options. */ +- xf86CollectInputOptions(pInfo, NULL, NULL); ++ COLLECT_INPUT_OPTIONS(pInfo, NULL); + xf86ProcessCommonOptions(pInfo, pInfo->options); + + priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 ); +@@ -510,23 +535,31 @@ + priv->rotate = TSLIB_ROTATE_NONE; + } + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 + s = xf86CheckStrOption(dev->commonOptions, "path", NULL); ++#else ++ s = xf86CheckStrOption(pInfo->options, "path", NULL); ++#endif + if (!s) ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 + s = xf86CheckStrOption(dev->commonOptions, "Device", NULL); ++#else ++ s = xf86CheckStrOption(pInfo->options, "Device", NULL); ++#endif + + priv->ts = ts_open(s, 1); +- xfree(s); ++ free(s); + + if (!priv->ts) { + ErrorF("ts_open failed (device=%s)\n",s); + xf86DeleteInput(pInfo, 0); +- return NULL; ++ return BadValue; + } + + if (ts_config(priv->ts)) { + ErrorF("ts_config failed\n"); + xf86DeleteInput(pInfo, 0); +- return NULL; ++ return BadValue; + } + + pInfo->fd = ts_fd(priv->ts); +@@ -536,11 +569,13 @@ + priv->state = BUTTON_EMULATION_OFF; + } + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 + /* Mark the device configured */ + pInfo->flags |= XI86_CONFIGURED; ++#endif + + /* Return the configured device */ +- return (pInfo); ++ return Success; + } + + _X_EXPORT InputDriverRec TSLIB = { diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch new file mode 100644 index 000000000..a1f6ba8f9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch @@ -0,0 +1,34 @@ +From Grazvydas Ignotas + +At least xserver 1.7.4 crashes on XGetPointerControl request because of xf86-input-tslib: + +Program received signal SIGSEGV, Segmentation fault. +#0 0x000355e0 in ProcGetPointerControl (client=0x4a2e58) at devices.c:2122 +#1 0x00062fa8 in Dispatch () at dispatch.c:439 +#2 0x00022444 in main (argc=4, argv=0xbeebedc4, envp=0xbeebedd8) at main.c:285 + +This happens because ptrfeed field is not set in device structure from tslib. +To fix this, call InitPtrFeedbackClassDeviceStruct() during DEVICE_INIT to get necessary setup done (as done in other input drivers). + +--- +diff -ur xf86-input-tslib-0.0.6/src/tslib.c xf86-input-tslib-0.0.6_/src/tslib.c +--- xf86-input-tslib-0.0.6/src/tslib.c 2010-02-09 12:23:22.000000000 +0200 ++++ xf86-input-tslib-0.0.6_/src/tslib.c 2010-02-09 12:37:33.000000000 +0200 +@@ -103,8 +103,6 @@ + static void + PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl) + { +- ErrorF("%s\n", __FUNCTION__); +- return; + } + + static Bool +@@ -406,6 +404,8 @@ + xf86MotionHistoryAllocate(pInfo); + #endif + ++ if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc)) ++ return !Success; + break; + + case DEVICE_ON: diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb new file mode 100644 index 000000000..6a3689a2e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb @@ -0,0 +1,35 @@ +require recipes-graphics/xorg-driver/xorg-driver-input.inc +SUMMARY = "X.Org X server -- tslib input driver" +DEPENDS += "tslib" +RRECOMMENDS_${PN} += "tslib-calibrate" +RSUGGESTS_${PN} += "hal" + +# derived from xf86-input-void, that's why I kept MIT-X, but it's not clear, see COPYING +LIC_FILES_CHKSUM = "file://src/tslib.c;endline=28;md5=bd62eaef222dcf5cd59e490a12bd795e \ + file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94" + +PR = "${INC_PR}.1" + +SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2 \ + file://double-free-crash.patch \ + file://10-x11-input-tslib.fdi \ + file://xserver-174-XGetPointerControl.patch \ + file://99-xf86-input-tslib.rules \ + file://xf86-input-tslib-port-ABI-12-r48.patch \ + file://xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch \ +" + +SRC_URI[md5sum] = "b7a4d2f11637ee3fcf432e044b1d017f" +SRC_URI[sha256sum] = "5f46fdef095a6e44a69e0f0b57c7d665224b26d990d006611236d8332e85b105" + +do_configure_prepend() { + rm -rf ${S}/m4/ || true +} +do_install_append() { + install -d ${D}/${datadir}/hal/fdi/policy/20thirdparty + install -m 0644 ${WORKDIR}/10-x11-input-tslib.fdi ${D}/${datadir}/hal/fdi/policy/20thirdparty + install -d ${D}${nonarch_base_libdir}/udev/rules.d + install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}${nonarch_base_libdir}/udev/rules.d/ +} + +FILES_${PN} += "${datadir}/hal ${nonarch_base_libdir}/udev" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb new file mode 100644 index 000000000..ca0b48634 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb @@ -0,0 +1,8 @@ +require recipes-graphics/xorg-driver/xorg-driver-input.inc +SUMMARY = "X.Org X server -- void input driver" +PR = "${INC_PR}.0" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4be6a915bfbf111cd88706fc6a6f141b" + +SRC_URI[md5sum] = "5227013b52b3ca85d6b7ec8adea988d4" +SRC_URI[sha256sum] = "f96e4f0a622821bf43a74bd419f2a18423343996c9d243c7e1430ba2d142339c" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb new file mode 100644 index 000000000..d409a1863 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb @@ -0,0 +1,23 @@ +require recipes-graphics/xorg-driver/xorg-driver-video.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc" + +SUMMARY = "X.Org X server -- ATI Radeon video driver" + +DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics" + +DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \ + virtual/libgl xineramaproto libpciaccess" + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES += "opengl" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +SRC_URI[md5sum] = "f34d04a755e761e03b459155fa3ddcbb" +SRC_URI[sha256sum] = "401f5de772928f3dc4ce43a885adb0a47a2f61aa4a9e45d2ab3d184136a9d6fa" + +EXTRA_OECONF += "--disable-glamor" + +RDEPENDS_${PN} += "xserver-xorg-module-exa" +RRECOMMENDS_${PN} += "linux-firmware-radeon" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch new file mode 100644 index 000000000..ceae6dfba --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch @@ -0,0 +1,68 @@ +Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=57606] +Signed-off-by: Ross Burton <ross.burton@intel.com> + +From c9014a8f3c9b691b5aa7b1f3ec66cf7c84b8211b Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@intel.com> +Date: Thu, 29 Nov 2012 11:00:43 +0000 +Subject: [PATCH] build: dont use AC_CHECK_FILE when enabling DRI + +Automatically enabling or disabling a feature based on installed files isn't +deterministic, and AC_CHECK_FILE returns an error when cross-compiling. + +Fix this by enabling DRI by default, and removing the explicit file checks as +pkg-config is good enough. + +(#57606) + +Signed-off-by: Ross Burton <ross.burton@intel.com> +--- + configure.ac | 25 ++----------------------- + 1 file changed, 2 insertions(+), 23 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fca1a9c..d2aa2ed 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,9 +55,9 @@ AC_ARG_WITH(xorg-module-dir, + [moduledir="$libdir/xorg/modules"]) + + AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri], +- [Disable DRI support [[default=auto]]]), ++ [Disable DRI support [[default=enabled]]]), + [DRI="$enableval"], +- [DRI=auto]) ++ [DRI=yes]) + AC_ARG_ENABLE(exa, + AS_HELP_STRING([--disable-exa], + [Disable EXA support [[default=enabled]]]), +@@ -76,27 +76,6 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server` + + # Checks for libraries. + +-if test "x$DRI" != xno; then +- AC_CHECK_FILE([${sdkdir}/dri.h], +- [have_dri_h="yes"], [have_dri_h="no"]) +- AC_CHECK_FILE([${sdkdir}/sarea.h], +- [have_sarea_h="yes"], [have_sarea_h="no"]) +- AC_CHECK_FILE([${sdkdir}/dristruct.h], +- [have_dristruct_h="yes"], [have_dristruct_h="no"]) +-fi +- +-AC_MSG_CHECKING([whether to include DRI support]) +-if test "x$DRI" = xauto; then +- if test "x$have_dri_h" = xyes && \ +- test "x$have_sarea_h" = xyes && \ +- test "x$have_dristruct_h" = xyes; then +- DRI="yes" +- else +- DRI="no" +- fi +-fi +-AC_MSG_RESULT([$DRI]) +- + AM_CONDITIONAL(DRI, test "x$DRI" = xyes) + if test "x$DRI" = xyes; then + PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto]) +-- +1.7.10.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb new file mode 100644 index 000000000..cd680597c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb @@ -0,0 +1,21 @@ +require recipes-graphics/xorg-driver/xorg-driver-video.inc + +SUMMARY = "X.Org X server -- Matrox MGA display driver" + +DESCRIPTION = "mga is an Xorg driver for Matrox video cards" + +LIC_FILES_CHKSUM = "file://COPYING;md5=bc1395d2cd32dfc5d6c57d2d8f83d3fc" + +SRC_URI += "file://checkfile.patch" + +DEPENDS += "virtual/libx11 libpciaccess" + +COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)' + +SRC_URI[md5sum] = "3ee2549247e01de3e7bce52c27483118" +SRC_URI[sha256sum] = "b663cd8e6364f7c4e2637b9fcab9861d0e3971518c73b00d213f6545a1289422" + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}" +PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xf86driproto,xserver-xorg-extension-dri" + +RDEPENDS_${PN} = "xserver-xorg-module-exa" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb new file mode 100644 index 000000000..2746821cd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb @@ -0,0 +1,20 @@ +require recipes-graphics/xorg-driver/xorg-driver-video.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94" + +SUMMARY = "X.Org X server -- nouveau video driver" + +DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics" + +DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \ + virtual/libgl xineramaproto libpciaccess" +RDEPENDS_${PN} += "xserver-xorg-module-exa" + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES += "opengl" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +SRC_URI[md5sum] = "717203cb87029cddcbccf7398f9ad8c3" +SRC_URI[sha256sum] = "aede10fd395610a328697adca3434fb14e9afbd79911d6c8545cfa2c0e541d4c" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb new file mode 100644 index 000000000..29229bb51 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb @@ -0,0 +1,18 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "Adobe 100 DPI fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/adobe-100dpi/" +SECTION = "x11/font" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=5dfa0fdf45473b4ca0acf37d854df10e" + +DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util" +RDEPENDS_${PN} = "encodings font-util" +RDEPENDS_${PN}_class-native = "font-util-native" + +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "1347c3031b74c9e91dc4dfa53b12f143" +SRC_URI[sha256sum] = "b2c08433eab5cb202470aa9f779efefce8d9cab2534f34f3aa4a31d05671c054" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb new file mode 100644 index 000000000..898850bbc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb @@ -0,0 +1,18 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "Adobe Utopia 100 DPI fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/adobe-utopia-100dpi/" +SECTION = "x11/font" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=fa13e704b7241f60ef9105cc041b9732" + +DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util" +RDEPENDS_${PN} = "encodings font-util" +RDEPENDS_${PN}_class-native = "font-util-native" + +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "66fb6de561648a6dce2755621d6aea17" +SRC_URI[sha256sum] = "d16f5e3f227cc6dd07a160a71f443559682dbc35f1c056a5385085aaec4fada5" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb new file mode 100644 index 000000000..4976e527f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb @@ -0,0 +1,18 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "Bigelow & Holmes 100 DPI fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/bh-100dpi/" +SECTION = "x11/font" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=cffd5e9c4b61b3d74166ca74b99e460e" + +DEPENDS += "util-macros-native font-util-native bdftopcf-native font-util" +RDEPENDS_${PN} = "encodings font-util" +RDEPENDS_${PN}_class-native = "font-util-native" + +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "9f11ade089d689b9d59e0f47d26f39cd" +SRC_URI[sha256sum] = "23c07162708e4b79eb33095c8bfa62c783717a9431254bbf44863734ea239481" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb new file mode 100644 index 000000000..6e0b33ca3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb @@ -0,0 +1,18 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "Bigelow & Holmes Lucida Typewriter 100 DPI fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/bh-lucidatypewriter-100dpi/" +SECTION = "x11/font" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=0d221a9cd144806cb469735cc4775939" + +DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util" +RDEPENDS_${PN} = "encodings font-util" +RDEPENDS_${PN}_class-native = "font-util-native" + +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "c8b73a53dcefe3e8d3907d3500e484a9" +SRC_URI[sha256sum] = "62a83363c2536095fda49d260d21e0847675676e4e3415054064cbdffa641fbb" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb new file mode 100644 index 000000000..e8cfb615a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb @@ -0,0 +1,18 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "Bitstream 100 DPI fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/bitstream-100dpi/" +SECTION = "x11/font" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=30330812324ff9d9bd9ea645bb944427" + +DEPENDS = "util-macros-native font-util-native bdftopcf-native" +RDEPENDS_${PN} = "encodings font-util" +RDEPENDS_${PN}_class-native = "font-util-native" + +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "6b223a54b15ecbd5a1bc52312ad790d8" +SRC_URI[sha256sum] = "ebe0d7444e3d7c8da7642055ac2206f0190ee060700d99cd876f8fc9964cb6ce" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb new file mode 100644 index 000000000..d425ce515 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb @@ -0,0 +1,17 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "X.org cursor fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/cursor-misc/" +SECTION = "x11/font" +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=8b32ccac3ad25e75e68478deb7780265" + +DEPENDS = "util-macros-native font-util-native bdftopcf-native" +RDEPENDS_${PN} = "encodings font-util" + +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "3e0069d4f178a399cffe56daa95c2b63" +SRC_URI[sha256sum] = "17363eb35eece2e08144da5f060c70103b59d0972b4f4d77fd84c9a7a2dba635" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb new file mode 100644 index 000000000..e4cd90a7a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb @@ -0,0 +1,17 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "X.org miscellaneous fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/misc-misc/" +SECTION = "x11/font" +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=200c507f595ee97008c7c5c3e94ab9a8" + +DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util" +RDEPENDS_${PN} = "encodings font-util" + +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "c88eb44b3b903d79fb44b860a213e623" +SRC_URI[sha256sum] = "b8e77940e4e1769dc47ef1805918d8c9be37c708735832a07204258bacc11794" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb new file mode 100644 index 000000000..45e3f7b59 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb @@ -0,0 +1,14 @@ +SUMMARY = "Xorg 100 DPI font set" +LICENSE = "Custom" + +inherit packagegroup distro_features_check +# rdepends on font recipes with this restriction +REQUIRED_DISTRO_FEATURES = "x11" + +RDEPENDS_${PN} = "\ + font-adobe-100dpi \ + font-adobe-utopia-100dpi \ + font-bh-100dpi \ + font-bh-lucidatypewriter-100dpi \ + font-bitstream-100dpi \ +" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch new file mode 100644 index 000000000..f9f4a6382 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch @@ -0,0 +1,55 @@ +diff -uNr liblbxutil-1.1.0.orig/configure.ac liblbxutil-1.1.0/configure.ac +--- liblbxutil-1.1.0.orig/configure.ac 2009-12-04 23:52:04.000000000 +0100 ++++ liblbxutil-1.1.0/configure.ac 2009-12-16 10:45:00.000000000 +0100 +@@ -50,4 +50,5 @@ + + AC_OUTPUT([Makefile + src/Makefile ++ src/image/Makefile + lbxutil.pc]) +diff -uNr liblbxutil-1.1.0.orig/src/image/Makefile.am liblbxutil-1.1.0/src/image/Makefile.am +--- liblbxutil-1.1.0.orig/src/image/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ liblbxutil-1.1.0/src/image/Makefile.am 2009-12-16 10:45:00.000000000 +0100 +@@ -0,0 +1,15 @@ ++# evil hack ++CFLAGS=$(CFLAGS_FOR_BUILD) ++CPPFLAGS=$(CPPFLAGS_FOR_BUILD) ++LDFLAGS=$(LDFLAGS_FOR_BUILD) ++ ++CC=$(CC_FOR_BUILD) ++LIBTOOL = @LIBTOOL@ --tag=CC ++ ++noinst_PROGRAMS = mkg3states ++ ++mkg3states_SOURCES = \ ++ mkg3states.c ++ ++mkg3states_CFLAGS=$(CFLAGS_FOR_BUILD) ++mkg3states_LDFLAGS=$(LDFLAGS_FOR_BUILD) +diff -uNr liblbxutil-1.1.0.orig/src/Makefile.am liblbxutil-1.1.0/src/Makefile.am +--- liblbxutil-1.1.0.orig/src/Makefile.am 2009-12-16 10:48:11.000000000 +0100 ++++ liblbxutil-1.1.0/src/Makefile.am 2009-12-16 10:46:47.000000000 +0100 +@@ -3,10 +3,7 @@ + AM_CFLAGS = $(CWARNFLAGS) $(LBXUTIL_CFLAGS) + INCLUDES = -I$(top_srcdir)/include + +-noinst_PROGRAMS = mkg3states +- +-mkg3states_SOURCES = \ +- $(srcdir)/image/mkg3states.c ++SUBDIRS = image + + liblbxutil_la_SOURCES = \ + $(srcdir)/lbx_zlib/reqstats.h \ +@@ -38,9 +35,8 @@ + + $(srcdir)/image/dfaxg42d.c: g3states.h + +-g3states.h: mkg3states +- -rm -f g3states.h +- $(AM_V_GEN) ./mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h ++g3states.h: image/mkg3states ++ $(AM_V_GEN) ./image/mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h + + liblbxutil_la_LDFLAGS = -version-number 1:0:0 -no-undefined + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb new file mode 100644 index 000000000..7d26d141f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb @@ -0,0 +1,14 @@ +require recipes-graphics/xorg-lib/xorg-lib-common.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=b0d5bdc98f7ebab3b6c3791d9bf40907" + +SUMMARY = "XFIXES Extension" +DEPENDS += " xextproto xproto zlib" +PE = "1" +PR = "r11" + +SRC_URI += "file://mkg3states-1.1.patch" +SRC_URI[md5sum] = "273329a78c2e9ea189ac416c7fde94a1" +SRC_URI[sha256sum] = "c6b6ff7858ec619cafa8205debca6bf78c5610a2844a782ed643c7fd017cf8ae" + +export CC_FOR_BUILD = "gcc" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb new file mode 100644 index 000000000..8ba5ac354 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb @@ -0,0 +1,28 @@ +require recipes-graphics/xorg-lib/xorg-lib-common.inc +SUMMARY = "X Athena Widget Set" +DEPENDS += "xproto virtual/libx11 libxext xextproto libxt libxmu libxpm libxau xmlto-native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=1c65719d42900bb81b83e8293c20a364" + +PE = "1" +PR = "r2" + +SRC_URI[md5sum] = "e5e06eb14a608b58746bdd1c0bd7b8e3" +SRC_URI[sha256sum] = "8ef8067312571292ccc2bbe94c41109dcf022ea5a4ec71656a83d8cce9edb0cd" + +do_install_append () { + ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6 + ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7 + ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so +} + +PACKAGES =+ "libxaw6 libxaw7 libxaw8" + +FILES_libxaw6 = "${libdir}/libXaw*.so.6*" +FILES_libxaw7 = "${libdir}/libXaw*.so.7*" +FILES_libxaw8 = "${libdir}/libXaw8.so.8*" + +# Avoid dependency on libxaw as it is not build +RDEPENDS_${PN}-dev = "" + +XORG_PN = "libXaw" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb new file mode 100644 index 000000000..103da1f08 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb @@ -0,0 +1,10 @@ +require recipes-graphics/xorg-lib/xorg-lib-common.inc +SUMMARY = "X11 keyboard UI presentation library" +LICENSE = "SGI-1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94" +DEPENDS += "virtual/libx11 libxt libxkbfile" +PE = "1" +PR = "r10" + +SRC_URI[md5sum] = "1143e456f7429e18e88f2eadb2f2b6b1" +SRC_URI[sha256sum] = "20c23101d63234ee5f6d696dfa069b29c6c58e39eff433bcd7705b50b3ffa214" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch new file mode 100644 index 000000000..2bfe85b28 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch @@ -0,0 +1,362 @@ +From f919725918fad2b32504f89a28310fcae4ab0406 Mon Sep 17 00:00:00 2001 +From: Yu Ke <ke.yu@intel.com> +Date: Wed, 11 Apr 2012 14:26:16 +0200 +Subject: [PATCH] COPYING: add GPLv2 license file + +this is a local file recipe and the license file is missing.In order +to pass the license checksum checking, the license file is needed. So +this patch add the GPLv2 license file. + +Signed-off-by: Yu Ke <ke.yu@intel.com> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + COPYING | 339 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 339 insertions(+) + create mode 100644 COPYING + +diff --git a/COPYING b/COPYING +new file mode 100644 +index 0000000..d511905 +--- /dev/null ++++ b/COPYING +@@ -0,0 +1,339 @@ ++ GNU GENERAL PUBLIC LICENSE ++ Version 2, June 1991 ++ ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++License is intended to guarantee your freedom to share and change free ++software--to make sure the software is free for all its users. This ++General Public License applies to most of the Free Software ++Foundation's software and to any other program whose authors commit to ++using it. (Some other Free Software Foundation software is covered by ++the GNU Lesser General Public License instead.) You can apply it to ++your programs, too. ++ ++ When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++this service if you wish), that you receive source code or can get it ++if you want it, that you can change the software or use pieces of it ++in new free programs; and that you know you can do these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++anyone to deny you these rights or to ask you to surrender the rights. ++These restrictions translate to certain responsibilities for you if you ++distribute copies of the software, or if you modify it. ++ ++ For example, if you distribute copies of such a program, whether ++gratis or for a fee, you must give the recipients all the rights that ++you have. You must make sure that they, too, receive or can get the ++source code. And you must show them these terms so they know their ++rights. ++ ++ We protect your rights with two steps: (1) copyright the software, and ++(2) offer you this license which gives you legal permission to copy, ++distribute and/or modify the software. ++ ++ Also, for each author's protection and ours, we want to make certain ++that everyone understands that there is no warranty for this free ++software. If the software is modified by someone else and passed on, we ++want its recipients to know that what they have is not the original, so ++that any problems introduced by others will not reflect on the original ++authors' reputations. ++ ++ Finally, any free program is threatened constantly by software ++patents. We wish to avoid the danger that redistributors of a free ++program will individually obtain patent licenses, in effect making the ++program proprietary. To prevent this, we have made it clear that any ++patent must be licensed for everyone's free use or not licensed at all. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. ++ ++ GNU GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License applies to any program or other work which contains ++a notice placed by the copyright holder saying it may be distributed ++under the terms of this General Public License. The "Program", below, ++refers to any such program or work, and a "work based on the Program" ++means either the Program or any derivative work under copyright law: ++that is to say, a work containing the Program or a portion of it, ++either verbatim or with modifications and/or translated into another ++language. (Hereinafter, translation is included without limitation in ++the term "modification".) Each licensee is addressed as "you". ++ ++Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running the Program is not restricted, and the output from the Program ++is covered only if its contents constitute a work based on the ++Program (independent of having been made by running the Program). ++Whether that is true depends on what the Program does. ++ ++ 1. You may copy and distribute verbatim copies of the Program's ++source code as you receive it, in any medium, provided that you ++conspicuously and appropriately publish on each copy an appropriate ++copyright notice and disclaimer of warranty; keep intact all the ++notices that refer to this License and to the absence of any warranty; ++and give any other recipients of the Program a copy of this License ++along with the Program. ++ ++You may charge a fee for the physical act of transferring a copy, and ++you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Program or any portion ++of it, thus forming a work based on the Program, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) You must cause the modified files to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that in ++ whole or in part contains or is derived from the Program or any ++ part thereof, to be licensed as a whole at no charge to all third ++ parties under the terms of this License. ++ ++ c) If the modified program normally reads commands interactively ++ when run, you must cause it, when started running for such ++ interactive use in the most ordinary way, to print or display an ++ announcement including an appropriate copyright notice and a ++ notice that there is no warranty (or else, saying that you provide ++ a warranty) and that users may redistribute the program under ++ these conditions, and telling the user how to view a copy of this ++ License. (Exception: if the Program itself is interactive but ++ does not normally print such an announcement, your work based on ++ the Program is not required to print an announcement.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Program, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Program, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Program. ++ ++In addition, mere aggregation of another work not based on the Program ++with the Program (or with a work based on the Program) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may copy and distribute the Program (or a work based on it, ++under Section 2) in object code or executable form under the terms of ++Sections 1 and 2 above provided that you also do one of the following: ++ ++ a) Accompany it with the complete corresponding machine-readable ++ source code, which must be distributed under the terms of Sections ++ 1 and 2 above on a medium customarily used for software interchange; or, ++ ++ b) Accompany it with a written offer, valid for at least three ++ years, to give any third party, for a charge no more than your ++ cost of physically performing source distribution, a complete ++ machine-readable copy of the corresponding source code, to be ++ distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange; or, ++ ++ c) Accompany it with the information you received as to the offer ++ to distribute corresponding source code. (This alternative is ++ allowed only for noncommercial distribution and only if you ++ received the program in object code or executable form with such ++ an offer, in accord with Subsection b above.) ++ ++The source code for a work means the preferred form of the work for ++making modifications to it. For an executable work, complete source ++code means all the source code for all modules it contains, plus any ++associated interface definition files, plus the scripts used to ++control compilation and installation of the executable. However, as a ++special exception, the source code distributed need not include ++anything that is normally distributed (in either source or binary ++form) with the major components (compiler, kernel, and so on) of the ++operating system on which the executable runs, unless that component ++itself accompanies the executable. ++ ++If distribution of executable or object code is made by offering ++access to copy from a designated place, then offering equivalent ++access to copy the source code from the same place counts as ++distribution of the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 4. You may not copy, modify, sublicense, or distribute the Program ++except as expressly provided under this License. Any attempt ++otherwise to copy, modify, sublicense or distribute the Program is ++void, and will automatically terminate your rights under this License. ++However, parties who have received copies, or rights, from you under ++this License will not have their licenses terminated so long as such ++parties remain in full compliance. ++ ++ 5. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Program or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Program (or any work based on the ++Program), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Program or works based on it. ++ ++ 6. Each time you redistribute the Program (or any work based on the ++Program), the recipient automatically receives a license from the ++original licensor to copy, distribute or modify the Program subject to ++these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties to ++this License. ++ ++ 7. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Program at all. For example, if a patent ++license would not permit royalty-free redistribution of the Program by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Program. ++ ++If any portion of this section is held invalid or unenforceable under ++any particular circumstance, the balance of the section is intended to ++apply and the section as a whole is intended to apply in other ++circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system, which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 8. If the distribution and/or use of the Program is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Program under this License ++may add an explicit geographical distribution limitation excluding ++those countries, so that distribution is permitted only in or among ++countries not thus excluded. In such case, this License incorporates ++the limitation as if written in the body of this License. ++ ++ 9. The Free Software Foundation may publish revised and/or new versions ++of the General Public License from time to time. Such new versions will ++be similar in spirit to the present version, but may differ in detail to ++address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Program ++specifies a version number of this License which applies to it and "any ++later version", you have the option of following the terms and conditions ++either of that version or of any later version published by the Free ++Software Foundation. If the Program does not specify a version number of ++this License, you may choose any version ever published by the Free Software ++Foundation. ++ ++ 10. If you wish to incorporate parts of the Program into other free ++programs whose distribution conditions are different, write to the author ++to ask for permission. For software which is copyrighted by the Free ++Software Foundation, write to the Free Software Foundation; we sometimes ++make exceptions for this. Our decision will be guided by the two goals ++of preserving the free status of all derivatives of our free software and ++of promoting the sharing and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY ++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN ++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES ++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS ++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE ++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, ++REPAIR OR CORRECTION. ++ ++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING ++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR ++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, ++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED ++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY ++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER ++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs ++ ++ If you develop a new program, and you want it to be of the greatest ++possible use to the public, the best way to achieve this is to make it ++free software which everyone can redistribute and change under these terms. ++ ++ To do so, attach the following notices to the program. It is safest ++to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least ++the "copyright" line and a pointer to where the full notice is found. ++ ++ <one line to give the program's name and a brief idea of what it does.> ++ Copyright (C) <year> <name of author> ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License along ++ with this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++If the program is interactive, make it output a short notice like this ++when it starts in an interactive mode: ++ ++ Gnomovision version 69, Copyright (C) year name of author ++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. ++ This is free software, and you are welcome to redistribute it ++ under certain conditions; type `show c' for details. ++ ++The hypothetical commands `show w' and `show c' should show the appropriate ++parts of the General Public License. Of course, the commands you use may ++be called something other than `show w' and `show c'; they could even be ++mouse-clicks or menu items--whatever suits your program. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the program, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program ++ `Gnomovision' (which makes passes at compilers) written by James Hacker. ++ ++ <signature of Ty Coon>, 1 April 1989 ++ Ty Coon, President of Vice ++ ++This General Public License does not permit incorporating your program into ++proprietary programs. If your program is a subroutine library, you may ++consider it more useful to permit linking proprietary applications with the ++library. If this is what you want to do, use the GNU Lesser General ++Public License instead of this License. diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch new file mode 100644 index 000000000..0ed12d106 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch @@ -0,0 +1,28 @@ +From 1002a1137b140dad3319bf3206fec5b6c6b74fea Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Thu, 10 Nov 2016 14:33:05 +0200 +Subject: [PATCH] Don't install Xsession or Xserver + +The goal is to use Xsession and Xserver from xserver-nodm-init. +Xsession scripts and xserver-common from this recipe will still +be used as before. + +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> + +--- + Makefile | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/Makefile b/Makefile +index caa5de1..9428205 100644 +--- a/Makefile ++++ b/Makefile +@@ -20,8 +20,6 @@ install-program: + install -m 755 run-calibrate.sh $(DESTDIR)$(PREFIX)/bin/run-calibrate.sh + install -m 644 X11/Xdefaults $(DESTDIR)/etc/X11/Xdefaults + install -m 755 X11/Xinit $(DESTDIR)/etc/X11/Xinit +- install -m 755 X11/Xserver $(DESTDIR)/etc/X11/Xserver +- install -m 755 X11/Xsession $(DESTDIR)/etc/X11/Xsession + install -m 755 X11/xserver-common $(DESTDIR)/etc/X11/xserver-common + install -m 755 X11/functions $(DESTDIR)/etc/X11/functions + install -d $(DESTDIR)/etc/X11/xmodmap diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch new file mode 100644 index 000000000..0be3fa5b3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch @@ -0,0 +1,110 @@ +From 3b5f431a370054bfc090796e8d55de8c8cea46f4 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 11 Apr 2012 14:28:45 +0200 +Subject: [PATCH] add setdpi Xinit.d script + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + X11/Xinit.d/50setdpi | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 92 insertions(+) + create mode 100644 X11/Xinit.d/50setdpi + +diff --git a/X11/Xinit.d/50setdpi b/X11/Xinit.d/50setdpi +new file mode 100644 +index 0000000..04a2edd +--- /dev/null ++++ b/X11/Xinit.d/50setdpi +@@ -0,0 +1,92 @@ ++#! /bin/sh ++# ++# Copyright Matthias Hentges <devel@hentges.net> (c) 2006 ++# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license) ++# ++# Filename: setDPI.sh ++# Date: 09-Apr-06 ++ ++# This script configures Xft.dpi dependent on your screens DPI. This insures that the same font-size ++# setting of 7 can be used on all machines. ++ ++ ++XDEFAULTS="/etc/X11/Xdefaults" ++ ++ ++ ++set_dpi() { ++ ++ CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Xft.dpi\:/s/.*\:\(.*\)/\1/p" | sed -n "s/\ //p"`" ++ ++ if test "$CURRENT_SETTING" != "$1" ++ then ++ echo "Using Xft.dpi of $SET_SCREEN_DPI for your $SCREEN_DPI DPI screen" ++ ++ if grep -q "Xft.dpi" "$XDEFAULTS" ++ then ++ cat "${XDEFAULTS}" | sed "s/^Xft.dpi\:.*/Xft.dpi\: $SET_SCREEN_DPI/" > "${XDEFAULTS}_" ++ mv "${XDEFAULTS}_" "${XDEFAULTS}" ++ else ++ echo -e "Xft.dpi: $SET_SCREEN_DPI\n" >> "$XDEFAULTS" ++ fi ++ else ++ echo "Your $SCREEN_DPI DPI screen is already configured." ++ fi ++} ++ ++set_rxvt_font() { ++ ++ CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Rxvt\*font/s/\(.*\pixelsize=\)\(.*\)/\2/p"`" ++ ++ if test "$1" -gt 100 ++ then ++ ++ # Configure the rxvt font-size for your screen here: ++ test "$1" -gt 180 -a "$1" -lt "221" && RXVT_FONT_SIZE=16 ++ ++ if test -z "$RXVT_FONT_SIZE" ++ then ++ echo "WARNING: No rxvt font-size configured for a $SCREEN_DPI DPI screen!" ++ echo "Defaulting to size 9" ++ RXVT_FONT_SIZE=9 ++ fi ++ ++ if test "$CURRENT_SETTING" != "$RXVT_FONT_SIZE" ++ then ++ echo "Using a rxvt font-size of $RXVT_FONT_SIZE" ++ cat ${XDEFAULTS} | sed "/Rxvt\*font/s/\(.*\pixelsize\)\(=*.*\)/\1=$RXVT_FONT_SIZE/" > ${XDEFAULTS}_ ++ mv ${XDEFAULTS}_ ${XDEFAULTS} ++ else ++ echo "The rxvt font-size is already configured" ++ fi ++ fi ++} ++ ++if test -z "$DISPLAY" ++then ++ echo "DISPLAY is not set, aborting..." ++ exit 0 ++fi ++ ++SCREEN_DPI="`/usr/bin/xdpyinfo | grep "dots per inch" | awk '{print $2}'| sed -n "s/\(.*\)x\(.*\)/\2/p"`" ++ ++if test -z "$SCREEN_DPI" ++then ++ echo "WARNING: Couldn't read your screens DPI, defaulting to 100" ++ SCREEN_DPI=100 ++fi ++ ++# Configure your screen here: ++test "$SCREEN_DPI" -gt 180 -a "$SCREEN_DPI" -lt "221" && SET_SCREEN_DPI=160 ++test "$SCREEN_DPI" -gt 90 -a "$SCREEN_DPI" -lt "121" && SET_SCREEN_DPI=100 ++ ++ ++if test -z "$SET_SCREEN_DPI" ++then ++ echo "WARNING: No default configuration found for your $SCREEN_DPI DPI screen!" ++ echo "Using 100 DPI" ++ SET_SCREEN_DPI=100 ++fi ++ ++set_dpi "$SET_SCREEN_DPI" ++set_rxvt_font "$SCREEN_DPI" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch new file mode 100644 index 000000000..53a283fea --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch @@ -0,0 +1,24 @@ +From b60e364c35d56a2a3164254d98c9931bfa3feed4 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 11 Apr 2012 14:34:43 +0200 +Subject: [PATCH] add support for /etc/X11/xserver-system + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + X11/xserver-common | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/X11/xserver-common b/X11/xserver-common +index 52655cb..bb7c2ff 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -204,3 +204,8 @@ fi + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS $MOUSE $KDRIVEARGS" + fi ++ ++# let a local script modify the variables ++if [ -e /etc/X11/xserver-system ] ; then ++ . /etc/X11/xserver-system ++fi diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch new file mode 100644 index 000000000..94a35407a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch @@ -0,0 +1,85 @@ +From 492c65a32a4ae44c34580ed8ac5d3f50a155cfef Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 11 Apr 2012 14:36:02 +0200 +Subject: [PATCH] use own functions file instead /etc/init.d/functions + +* so we don't have to depend on initscripts + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + Makefile | 1 + + X11/Xinit.d/11zaurus | 2 +- + X11/Xinit.d/12keymap | 2 +- + X11/functions | 11 +++++++++++ + X11/xserver-common | 2 +- + 5 files changed, 15 insertions(+), 3 deletions(-) + create mode 100644 X11/functions + +diff --git a/Makefile b/Makefile +index e2d9af9..caa5de1 100644 +--- a/Makefile ++++ b/Makefile +@@ -23,6 +23,7 @@ install-program: + install -m 755 X11/Xserver $(DESTDIR)/etc/X11/Xserver + install -m 755 X11/Xsession $(DESTDIR)/etc/X11/Xsession + install -m 755 X11/xserver-common $(DESTDIR)/etc/X11/xserver-common ++ install -m 755 X11/functions $(DESTDIR)/etc/X11/functions + install -d $(DESTDIR)/etc/X11/xmodmap + install -m 644 X11/xmodmap/*.xmodmap $(DESTDIR)/etc/X11/xmodmap + install -m 644 X11/xmodmap/xmodmap-* $(DESTDIR)/etc/X11/xmodmap +diff --git a/X11/Xinit.d/11zaurus b/X11/Xinit.d/11zaurus +index 54ea6f5..23e7713 100644 +--- a/X11/Xinit.d/11zaurus ++++ b/X11/Xinit.d/11zaurus +@@ -8,7 +8,7 @@ else + CHCK=chkhinge + fi + +-. /etc/init.d/functions ++. /etc/X11/functions + + $CHCK -e + if [ $? = 12 ]; then +diff --git a/X11/Xinit.d/12keymap b/X11/Xinit.d/12keymap +index 7eac296..b7a7f2d 100644 +--- a/X11/Xinit.d/12keymap ++++ b/X11/Xinit.d/12keymap +@@ -1,6 +1,6 @@ + #!/bin/sh + +-. /etc/init.d/functions ++. /etc/X11/functions + + # since kdrive 1.4 there is no default keymap in server + xmodmap - </etc/X11/xmodmap/default.xmodmap +diff --git a/X11/functions b/X11/functions +new file mode 100644 +index 0000000..a1311ad +--- /dev/null ++++ b/X11/functions +@@ -0,0 +1,11 @@ ++# -*-Shell-script-*- ++# ++# functions This file contains functions shared by few X11 scripts ++# machine_id also exists in /etc/init.d/functions but some ++# people don't use initscripts anymore ++# ++ ++machine_id() { # return the machine ID ++ awk 'BEGIN { FS=": " } /Hardware/ \ ++ { gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo ++} +diff --git a/X11/xserver-common b/X11/xserver-common +index bb7c2ff..d622f2a 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -30,7 +30,7 @@ if [ -f /etc/profile ]; then + . /etc/profile + fi + +-. /etc/init.d/functions ++. /etc/X11/functions + + fallback_screen_arg() { + geom=`fbset | grep geometry` diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch new file mode 100644 index 000000000..90d0f2584 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch @@ -0,0 +1,38 @@ +From e2abbe110e71a7b4b56564e6b9d58ffa7f34a9e8 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 11 Apr 2012 14:37:29 +0200 +Subject: [PATCH] xserver-common: add dpi and nocursor params for gta01 and + gta02 + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + X11/xserver-common | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/X11/xserver-common b/X11/xserver-common +index d622f2a..a2c0591 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -133,15 +133,19 @@ else + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="225" ;; + "gta01" ) +- DPI="285" ++ DPI="280" + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS -screen 480x640" ++ else ++ ARGS="$ARGS -dpi ${DPI} -nocursor" + fi + ;; + "gta02") +- DPI="285" ++ DPI="280" + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS -screen ${SCREEN_SIZE}" ++ else ++ ARGS="$ARGS -dpi ${DPI} -nocursor" + fi + ;; + "motorola_ezx_platform") diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch new file mode 100644 index 000000000..8fb69b356 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch @@ -0,0 +1,29 @@ +From f2d808cea5b9f69158f82e16c06f882a6db10d63 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 11 Apr 2012 14:40:14 +0200 +Subject: [PATCH] xserver-common: add support for n900 alias nokia_rx-51_board + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + X11/xserver-common | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/X11/xserver-common b/X11/xserver-common +index a2c0591..b8c37e6 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -132,6 +132,13 @@ else + "nokia_n800" | "nokia_rx-44" | "nokia_n770") + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="225" ;; ++ "nokia_rx-51_board" ) ++ DPI="267" ++ if [ "$XSERVER" != "Xorg" ] ; then ++ ARGS="$ARGS -screen ${SCREEN_SIZE}" ++ else ++ ARGS="$ARGS -dpi ${DPI} -nocursor" ++ fi ;; + "gta01" ) + DPI="280" + if [ "$XSERVER" != "Xorg" ] ; then diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch new file mode 100644 index 000000000..d30c7bbdc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch @@ -0,0 +1,25 @@ +From a194ba2013f9e58cf73cd39b57be68386e501eda Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 11 Apr 2012 14:40:44 +0200 +Subject: [PATCH] xserver-common: add support for nexus S alias herring + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + X11/xserver-common | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/X11/xserver-common b/X11/xserver-common +index b8c37e6..9aa6b24 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -126,6 +126,9 @@ else + "htc_tornado") + ARGS="$ARGS -hide-cursor" + DPI="100" ;; ++ "herring") ++ DPI="235" ++ ARGS="$ARGS -dpi ${DPI} -nocursor";; + "generic_omap1510/1610/1710") + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="225" ;; diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch new file mode 100644 index 000000000..23e17f098 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch @@ -0,0 +1,25 @@ +From dfd832b35b6cb4cf2b6f2b51df7b0999f10c8ca1 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 11 Apr 2012 14:41:06 +0200 +Subject: [PATCH] xserver-common: add support for nexus one alias mahimahi + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + X11/xserver-common | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/X11/xserver-common b/X11/xserver-common +index 9aa6b24..8da926e 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -129,6 +129,9 @@ else + "herring") + DPI="235" + ARGS="$ARGS -dpi ${DPI} -nocursor";; ++ "mahimahi") ++ DPI="254" ++ ARGS="$ARGS -dpi ${DPI}";; + "generic_omap1510/1610/1710") + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="225" ;; diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch new file mode 100644 index 000000000..5e794f6b3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch @@ -0,0 +1,30 @@ +From d9e05e53b30c66705852256ff5c603252aa94b2c Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 11 Apr 2012 14:41:52 +0200 +Subject: [PATCH] xserver-common: add support for gta04 alias OpenPhoenux + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + X11/xserver-common | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/X11/xserver-common b/X11/xserver-common +index 8da926e..d9325dd 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -161,6 +161,14 @@ else + ARGS="$ARGS -dpi ${DPI} -nocursor" + fi + ;; ++ "gta04") ++ DPI="280" ++ if [ "$XSERVER" != "Xorg" ] ; then ++ ARGS="$ARGS -screen ${SCREEN_SIZE}" ++ else ++ ARGS="$ARGS -dpi ${DPI} -nocursor" ++ fi ++ ;; + "motorola_ezx_platform") + ARGS="$ARGS -screen 240x320" + DPI="170" ;; diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch new file mode 100644 index 000000000..78d2e4029 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch @@ -0,0 +1,30 @@ +From 57ab521ffc1024f21105ca14be2d041a477942b1 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 17 Aug 2012 13:00:56 +0200 +Subject: [PATCH] xserver-common: add support for tuna alias Galaxy Nexus + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + X11/xserver-common | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/X11/xserver-common b/X11/xserver-common +index d9325dd..017e5ae 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -169,6 +169,14 @@ else + ARGS="$ARGS -dpi ${DPI} -nocursor" + fi + ;; ++ "tuna") ++ DPI="316" ++ if [ "$XSERVER" != "Xorg" ] ; then ++ ARGS="$ARGS -screen ${SCREEN_SIZE}" ++ else ++ ARGS="$ARGS -dpi ${DPI} -nocursor" ++ fi ++ ;; + "motorola_ezx_platform") + ARGS="$ARGS -screen 240x320" + DPI="170" ;; diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch new file mode 100644 index 000000000..a73191700 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch @@ -0,0 +1,26 @@ +From 5236209e30e0f45113e140f0667c8ffcfe621536 Mon Sep 17 00:00:00 2001 +From: Javier Viguera <javier.viguera@digi.com> +Date: Wed, 26 Nov 2014 09:24:44 +0100 +Subject: [PATCH] xserver-common: disable TCP connections + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Javier Viguera <javier.viguera@digi.com> + +--- + X11/xserver-common | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/X11/xserver-common b/X11/xserver-common +index 017e5ae..4dc48c4 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -44,7 +44,7 @@ SCREEN_SIZE=`fallback_screen_arg` + export USER=root + export XSERVER_DEFAULT_ORIENTATION=normal + +-ARGS="-br -pn $INPUT_EXTRA_ARGS" ++ARGS="-br -pn -nolisten tcp $INPUT_EXTRA_ARGS" + DPI="100" + MOUSE="" + KDRIVEARGS="" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb new file mode 100644 index 000000000..a5ed21d45 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb @@ -0,0 +1,45 @@ +SUMMARY = "Common X11 scripts and support files" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +PR = "r9" + +# we are using a gpe-style Makefile +inherit distro_features_check gpe + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "82f2f84cd96610e8f7b92c700cd31c14" +SRC_URI[sha256sum] = "cd04c33418f776b1e13fcc7af3d6bd0c7cccd03fbabd7dbcd97f88166cc34210" + +SRC_URI_append = " \ + file://0001-COPYING-add-GPLv2-license-file.patch \ + file://0002-add-setdpi-Xinit.d-script.patch \ + file://0006-add-support-for-etc-X11-xserver-system.patch \ + file://0007-use-own-functions-file-instead-etc-init.d-functions.patch \ + file://0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch \ + file://0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch \ + file://0010-xserver-common-add-support-for-nexus-S-alias-herring.patch \ + file://0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch \ + file://0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch \ + file://0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch \ + file://0015-xserver-common-disable-TCP-connections.patch \ + file://0001-Don-t-install-Xsession-or-Xserver.patch \ +" + +do_install_append() { + sed -i 's:^BINDIR=.*$:BINDIR=${bindir}:' ${D}/etc/X11/xserver-common + # Rename all Xsession files not ending with .sh + # Unfortunatelly when xinput-calibrator was moved to oe-core + # its Xsession file got name 30xinput_calibrate.sh and ls -X sorts it + # last, not respecting numbers for sorting them + for i in ${D}/${sysconfdir}/X11/Xsession.d/*; do + echo $i | grep '.sh$' || mv $i $i.sh + done +} + +RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo fbset xinput-calibrator" + +RCONFLICTS_${PN} = "xserver-kdrive-common x11-common" +RREPLACES_${PN} = "xserver-kdrive-common x11-common" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh new file mode 100644 index 000000000..fa43617bd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +. /etc/formfactor/config + +if [ "$HAVE_TOUCHSCREEN" = "1" ]; then + n=1 + while [ ! -z $TSLIB_TSDEVICE ] && [ ! -f /etc/pointercal ] && [ $n -le 5 ] + do + /usr/bin/xtscal + sleep 1 + n=$(($n+1)) + done +fi diff --git a/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch new file mode 100644 index 000000000..1da771786 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch @@ -0,0 +1,18 @@ +Upstream-Status: Pending + +--- tmp/main.c.orig 2007-01-02 15:39:54.000000000 +0000 ++++ tmp/main.c 2007-01-02 15:39:54.000000000 +0000 +@@ -131,9 +131,10 @@ + { + XRenderFillRectangles (dpy, PictOpSrc, pict, &rect_color, rectangles, 2); + +- XFillArc (dpy, crosshair_w, crosshair_gc, (CROSSHAIR_SIZE / 2) - (WIDTH / 2) - 1, +- (CROSSHAIR_SIZE / 2) - (WIDTH / 2) - 1, +- WIDTH + 1, WIDTH + 1, 0, 360 * 64); ++ XFillRectangle (dpy, crosshair_w, crosshair_gc, ++ (CROSSHAIR_SIZE / 2) - (WIDTH / 2), ++ (CROSSHAIR_SIZE / 2) - (WIDTH / 2), ++ WIDTH, WIDTH); + } + + void diff --git a/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch new file mode 100644 index 000000000..f7b0854c3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch @@ -0,0 +1,621 @@ +--- + Makefile.am | 9 -- + configure.ac | 3 + gpe-dist.am | 12 --- + h3600_ts.h | 216 ----------------------------------------------------------- + main.c | 210 ++------------------------------------------------------- + xtscal.in | 19 ----- + 6 files changed, 14 insertions(+), 455 deletions(-) + +Upstream-Status: Pending + +Index: xtscal-0.6.3/xtscal.in +=================================================================== +--- xtscal-0.6.3.orig/xtscal.in 2004-09-10 20:10:36.000000000 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,19 +0,0 @@ +-#!/bin/sh +- +-module_id() { +- # Get model name +- echo `grep "^Hardware" /proc/cpuinfo | sed -e "s/.*: *//" | tr a-z A-Z` +-} +- +-case `module_id` in +- "HP IPAQ H3100" | "HP IPAQ H3800" ) +- ARGS="-rotate 90" ;; +- "HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE | *POODLE) +- ARGS="-rotate 270" ;; +- # H2200: works without rotation +-esac +- +-# the things we do for autoconf +-prefix=@prefix@ +-exec_prefix=@exec_prefix@ +-exec @libexecdir@/xtscal.bin $ARGS $* +Index: xtscal-0.6.3/main.c +=================================================================== +--- xtscal-0.6.3.orig/main.c 2007-07-01 01:12:52.000000000 +0100 ++++ xtscal-0.6.3/main.c 2007-07-01 01:12:55.000000000 +0100 +@@ -22,12 +22,10 @@ + #include <X11/Xlib.h> + + #include <X11/extensions/Xrender.h> +-#include <X11/extensions/Xrandr.h> + #include <X11/Xft/Xft.h> + #include <X11/extensions/xcalibrate.h> + #include <X11/keysym.h> + +-#include "h3600_ts.h" + #include "calibrate.h" + + Display *dpy; +@@ -45,15 +43,11 @@ XftColor xftcol; + XftDraw *xftdraw; + XftFont *xftfont; + int screen_x, screen_y; +-int ts_fd; + int samples; + Pixmap bg_pixmap; + int flag_debug; +-int rotation = 0; + int error_base, event_base; + +-int using_xcalibrate; +- + int moving; + + #define CROSSHAIR_SIZE 25 +@@ -63,7 +57,6 @@ int moving; + #define ENOUGH 5 + #define MAX_SAMPLES 40 + +-#define RAW_DEVICE "/dev/h3600_tsraw" + #define FONTNAME "sans-10" + + struct point +@@ -287,12 +280,8 @@ sort_by_y (const void* a, const void *b) + void + set_calibration (calibration *cal) + { +- TS_CAL tc; +- int xtrans, ytrans, xscale, yscale, xyscale, yxscale; + calibration ocal = *cal; + +- if (using_xcalibrate) +- { + FILE *fp; + if (flag_debug) + printf ("constants are: %d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]); +@@ -304,29 +293,6 @@ set_calibration (calibration *cal) + } + fprintf (fp, "%d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]); + fclose (fp); +- return; +- } +- +- xtrans = cal->a[0] / cal->a[6]; +- ytrans = cal->a[3] / cal->a[6]; +- xscale = cal->a[1] * 256 / cal->a[6]; +- yscale = cal->a[5] * 256 / cal->a[6]; +- xyscale = cal->a[2] * 256 / cal->a[6]; +- yxscale = cal->a[4] * 256 / cal->a[6]; +- +- tc.xtrans = xtrans; +- tc.ytrans = ytrans; +- tc.xscale = xscale; +- tc.yscale = yscale; +- tc.xyswap = 0; +- +- printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap); +- +- if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0) +- { +- perror ("TS_SET_CAL"); +- exit (1); +- } + } + + void +@@ -398,80 +364,13 @@ handle_ts_event (int x, int y, int press + } + + void +-read_ts (void) +-{ +- TS_EVENT ts_ev; +- int r; +- +- r = read (ts_fd, &ts_ev, sizeof (ts_ev)); +- if (r == sizeof (ts_ev)) +- handle_ts_event (ts_ev.x, ts_ev.y, ts_ev.pressure); +-} +- +-void +-do_cal (char **args) +-{ +- TS_CAL tc; +- +- tc.xscale = atoi (args[0]); +- tc.xtrans = atoi (args[1]); +- tc.yscale = atoi (args[2]); +- tc.ytrans = atoi (args[3]); +- tc.xyswap = atoi (args[4]); +- +- if (flag_debug) +- fprintf (stderr, "setting: %d %d %d %d %d\n", +- tc.xtrans, tc.ytrans, tc.xscale, tc.yscale, tc.xyswap); +- +- if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0) +- { +- perror ("TS_SET_CAL"); +- exit (1); +- } +- +- exit (0); +-} +- +-void +-show_cal (void) +-{ +- TS_CAL tc; +- +- if (ioctl (ts_fd, TS_GET_CAL, (void *)&tc) != 0) +- { +- perror ("TS_GET_CAL"); +- exit (1); +- } +- +- printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap); +-} +- +-void + usage (const char *name) + { +- fprintf (stderr, "usage: %s -view\n", name); +- fprintf (stderr, " %s [-rotate <0 | 90 | 180 | 270>]\n", name); +- fprintf (stderr, " %s -cal <xs> <xt> <ys> <yt> <xyswap>\n", name); +- ++ fprintf (stderr, "usage: %s [-debug]\n", name); + exit (1); + } + + int +-xrr_supported (void) +-{ +- int xrr_event_base, xrr_error_base; +- int xrr_major, xrr_minor; +- +- if (XRRQueryExtension (dpy, &xrr_event_base, &xrr_error_base) == False +- || XRRQueryVersion (dpy, &xrr_major, &xrr_minor) == 0 +- || xrr_major != 1 +- || xrr_minor < 1) +- return 0; +- +- return 1; +-} +- +-int + main (int argc, char *argv[]) + { + XSetWindowAttributes attributes; +@@ -480,31 +379,11 @@ main (int argc, char *argv[]) + int max_fd; + GC bg_gc; + int i; +- int have_xrandr; + + for (i = 1; i < argc; i++) + { +- if (!strcmp (argv[i], "-view")) +- { +- show_cal (); +- exit (0); +- } +- else if (!strcmp (argv[i], "-debug")) ++ if (!strcmp (argv[i], "-debug")) + flag_debug = 1; +- else if (!strcmp (argv[i], "-cal")) +- { +- if (argc > (i + 5)) +- do_cal (argv + i + 1); +- else +- usage (argv[0]); +- } +- else if (!strcmp (argv[i], "-rotate")) +- { +- if (argc > (i + 1)) +- rotation = atoi (argv[++i]); +- else +- usage (argv[0]); +- } + else + usage (argv[0]); + } +@@ -531,48 +410,11 @@ main (int argc, char *argv[]) + fprintf (stderr, "failed to set raw mode: error %d\n", r); + exit (1); + } +- +- using_xcalibrate = 1; +- } +- +- have_xrandr = xrr_supported (); +- if (have_xrandr) +- { +- XRRScreenConfiguration *rr_screen; +- Rotation current_rotation; +- +- if (flag_debug) +- fprintf (stderr, "XRANDR is supported\n"); +- +- rr_screen = XRRGetScreenInfo (dpy, RootWindow (dpy, screen)); +- +- XRRRotations (dpy, screen, ¤t_rotation); +- +- XRRFreeScreenConfigInfo (rr_screen); +- +- if (flag_debug) +- fprintf (stderr, "Current RANDR rotation is %d\n", current_rotation); +- +- switch (current_rotation) +- { +- case RR_Rotate_270: +- rotation += 90; +- case RR_Rotate_180: +- rotation += 90; +- case RR_Rotate_90: +- rotation += 90; +- rotation %= 360; +- case RR_Rotate_0: +- break; +- default: +- fprintf (stderr, "Unknown RANDR rotation: %d\n", current_rotation); +- break; +- } + } + else + { +- if (flag_debug) +- fprintf (stderr, "XRANDR not supported\n"); ++ perror ("XCALIBRATE extension missing"); ++ exit (1); + } + + attributes.override_redirect = flag_debug ? False : True; +@@ -666,45 +508,17 @@ main (int argc, char *argv[]) + + for (i = 0; i < NR_POINTS; i++) + { +- switch (rotation) +- { +- case 0: +- cal.xfb[i] = cal.xscr[i]; +- cal.yfb[i] = cal.yscr[i]; +- break; +- case 90: +- cal.xfb[i] = cal.yscr[i]; +- cal.yfb[i] = screen_x - cal.xscr[i]; +- break; +- case 180: +- cal.xfb[i] = screen_x - cal.xscr[i]; +- cal.yfb[i] = screen_y - cal.yscr[i]; +- break; +- case 270: +- cal.xfb[i] = screen_y - cal.yscr[i]; +- cal.yfb[i] = cal.xscr[i]; +- break; +- } ++ cal.xfb[i] = cal.xscr[i]; ++ cal.yfb[i] = cal.yscr[i]; ++ XCalibrateScreenToCoord (dpy, &cal.xfb[i], &cal.yfb[i]); + + if (flag_debug) +- printf ("rotation %d: (%d,%d) -> (%d,%d)\n", rotation, ++ printf ("rotation conversion: (%d,%d) -> (%d,%d)\n", + cal.xscr[i], cal.yscr[i], cal.xfb[i], cal.yfb[i]); + } + + next_event (); + +- if (!using_xcalibrate) +- { +- ts_fd = open (RAW_DEVICE, O_RDONLY); +- if (ts_fd < 0) +- { +- perror (RAW_DEVICE); +- exit (1); +- } +- } +- +- max_fd = (xfd > ts_fd) ? xfd : ts_fd; +- + for (;;) + { + fd_set fds; +@@ -713,12 +527,8 @@ main (int argc, char *argv[]) + + FD_ZERO (&fds); + FD_SET (xfd, &fds); +- if (ts_fd != -1) +- FD_SET (ts_fd, &fds); + +- select (max_fd + 1, &fds, NULL, NULL, NULL); +- +- if (ts_fd != -1 && FD_ISSET (ts_fd, &fds)) +- read_ts (); ++ select (xfd + 1, &fds, NULL, NULL, NULL); + } + } ++ +Index: xtscal-0.6.3/configure.ac +=================================================================== +--- xtscal-0.6.3.orig/configure.ac 2004-09-10 20:11:12.000000000 +0100 ++++ xtscal-0.6.3/configure.ac 2007-07-01 01:12:55.000000000 +0100 +@@ -9,8 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) + # Checks for programs. + AC_PROG_CC + +-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xrandr xcalibrate) ++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate) + + AC_CONFIG_FILES([Makefile]) +-AC_CONFIG_FILES([xtscal]) + AC_OUTPUT +Index: xtscal-0.6.3/gpe-dist.am +=================================================================== +--- xtscal-0.6.3.orig/gpe-dist.am 2004-06-02 23:07:13.000000000 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,12 +0,0 @@ +-CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_]) +- +-dist-upload: dist +- scp $(PACKAGE)-$(VERSION).tar.bz2 $(USER)@handhelds.org:/home/ftp/pub/projects/gpe/source/ +- +-tag: +- cvs tag $(CVSTAG) +- +-retag: +- cvs tag -F $(CVSTAG) +- +-source: tag dist-upload +Index: xtscal-0.6.3/h3600_ts.h +=================================================================== +--- xtscal-0.6.3.orig/h3600_ts.h 2003-07-05 17:27:10.000000000 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,216 +0,0 @@ +-/* +-* +-* Driver for the H3600 Touch Screen and other Atmel controlled devices. +-* +-* Copyright 2000 Compaq Computer Corporation. +-* +-* Use consistent with the GNU GPL is permitted, +-* provided that this copyright notice is +-* preserved in its entirety in all copies and derived works. +-* +-* COMPAQ COMPUTER CORPORATION MAKES NO WARRANTIES, EXPRESSED OR IMPLIED, +-* AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS +-* FITNESS FOR ANY PARTICULAR PURPOSE. +-* +-* Author: Charles Flynn. +-* +-*/ +- +- +-#ifndef __H3600_TS_H__ +-#define __H3600_TS_H__ +- +-#include <linux/ioctl.h> +- +-enum h3600_ts_minor_devices { +- TS_MINOR = 0, +- TSRAW_MINOR = 1, +- KEY_MINOR = 2 +-}; +- +-typedef struct h3600_ts_calibration { +- int xscale; +- int xtrans; +- int yscale; +- int ytrans; +- int xyswap; +-} TS_CAL; +- +-typedef struct h3600_ts_event { +- unsigned short pressure; +- unsigned short x; +- unsigned short y; +- unsigned short pad; +-} TS_EVENT; +- +-/* Deprecated - do not use */ +-typedef struct h3600_ts_return { +- unsigned short pressure; +- unsigned short x; +- unsigned short y; +- unsigned short pad; +-} TS_RET; +- +-enum power_button_mode { +- PBM_SUSPEND = 0, +- PBM_GENERATE_KEYPRESS = 1 +-}; +- +- +-/* ++++++++++++++ +++++++++++++++++++++++++++++++++++++ */ +- +-typedef struct therm_dev { +- short data; +-} THERM_DEV; +- +-#define H3600_BATT_CHEM_ALKALINE 0x01 +-#define H3600_BATT_CHEM_NICD 0x02 +-#define H3600_BATT_CHEM_NIMH 0x03 +-#define H3600_BATT_CHEM_LION 0x04 +-#define H3600_BATT_CHEM_LIPOLY 0x05 +-#define H3600_BATT_CHEM_NOT_INSTALLED 0x06 +-#define H3600_BATT_CHEM_UNKNOWN 0xff +- +-/* These should match the apm_bios.h definitions */ +-#define H3600_AC_STATUS_AC_OFFLINE 0x00 +-#define H3600_AC_STATUS_AC_ONLINE 0x01 +-#define H3600_AC_STATUS_AC_BACKUP 0x02 /* What does this mean? */ +-#define H3600_AC_STATUS_AC_UNKNOWN 0xff +- +-/* These bitfields are rarely "or'd" together */ +-#define H3600_BATT_STATUS_HIGH 0x01 +-#define H3600_BATT_STATUS_LOW 0x02 +-#define H3600_BATT_STATUS_CRITICAL 0x04 +-#define H3600_BATT_STATUS_CHARGING 0x08 +-#define H3600_BATT_STATUS_CHARGE_MAIN 0x10 +-#define H3600_BATT_STATUS_DEAD 0x20 /* Battery will not charge */ +-#define H3600_BATT_NOT_INSTALLED 0x20 /* For expansion pack batteries */ +-#define H3600_BATT_STATUS_FULL 0x40 /* Battery fully charged (and connected to AC) */ +-#define H3600_BATT_STATUS_NOBATT 0x80 +-#define H3600_BATT_STATUS_UNKNOWN 0xff +- +-struct battery_data { +- unsigned char chemistry; +- unsigned char status; +- unsigned short voltage; /* Voltage for battery #0; unknown for battery #1 */ +- unsigned short percentage; /* Percentage of full charge */ +- unsigned short life; /* Life remaining in minutes */ +-}; +- +-struct h3600_battery { +- unsigned char ac_status; +- unsigned char battery_count; /* How many batteries we have */ +- struct battery_data battery[2]; +-}; +- +-/* -------- EEPROM and SPI Interfaces ---------------*/ +- +-#define EEPROM_RD_BUFSIZ 6 /* EEPROM reads are 16 bits */ +-#define EEPROM_WR_BUFSIZ 5 /* Allow room for 8bit 'addr' field in buffer*/ +-#define SPI_RD_BUFSIZ 16 /* SPI reads are 8 bits */ +-#define SPI_WR_BUFSIZ 7 +- +-/* The EEPROM is where internal programs are stored on the Amtel. +- You probably don't want to read or write these values */ +- +-typedef struct h3600_eeprom_read_request { +- unsigned char addr; /* 8bit Address Offset 0-255 */ +- unsigned char len; /* Number of 16bit words to read 0-128 */ +- unsigned short buff[EEPROM_RD_BUFSIZ]; +-} EEPROM_READ; +- +-typedef struct h3600_eeprom_write_request { +- unsigned char len; /* used only to compute the number of bytes to send */ +- unsigned char addr; /* 0-128 */ +- unsigned short buff[EEPROM_WR_BUFSIZ]; +-} EEPROM_WRITE; +- +-/* The SPI bus connects to EEPROMs located on sleeves plugged into +- the iPAQ. You may want to read these values */ +- +-typedef struct h3600_spi_read_request { +- unsigned short addr; /* 16bit Address Offset 0-128 */ +- unsigned char len; /* Number of bytes to read */ +- unsigned char buff[SPI_RD_BUFSIZ]; +-} SPI_READ; +- +-#define SPI_READ_STATUS_BYTE 0xffff /* Use this address to read the status byte */ +- +-typedef struct h3600_spi_write_request { +- unsigned short len; /* used only to compute the number of bytes to send */ +- unsigned short addr; /* this 16bit address accesses a single byte */ +- unsigned char buff[SPI_WR_BUFSIZ]; +-} SPI_WRITE; +- +- +-/* -------- end of EEPROM and SPI Interfaces ---------------*/ +- +-/* User space structures for IOCTL calls */ +- +-typedef struct h3600_ts_version { +- unsigned char host_version[8]; /* ascii "x.yy" */ +- unsigned char pack_version[8]; /* ascii "x.yy" */ +- unsigned char boot_type; /* TODO ?? */ +-} VER_RET; +- +-typedef struct h3600_ts_led { +- unsigned char OffOnBlink; /* 0=off 1=on 2=Blink */ +- unsigned char TotalTime; /* Units of 5 seconds */ +- unsigned char OnTime; /* units of 100m/s */ +- unsigned char OffTime; /* units of 100m/s */ +-} LED_IN; +- +-enum flite_mode { +- FLITE_MODE1 = 1, +- FLITE_AUTO_MODE = 1, /* for reference only */ +- FLITE_MANUAL_MODE = 2, /* Use this normally? */ +- FLITE_GET_LIGHT_SENSOR = 3 /* Returns light reading in "brightness" field */ +-}; +-enum flite_pwr { +- FLITE_PWR_OFF = 0, +- FLITE_PWR_ON = 1 +-}; +- +-typedef struct h3600_ts_flite { +- unsigned char mode; +- unsigned char pwr; +- unsigned char brightness; +-} FLITE_IN; +- +-/*************************** Updated "universal" structures *******************/ +- +-/* Sets backlight for both H3100 and H3600 models - technically "frontlight" for H3600 */ +-struct h3600_ts_backlight { +- enum flite_pwr power; /* 0 = off, 1 = on */ +- unsigned char brightness; /* 0 - 255 */ +-}; +- +-struct h3600_ts_contrast { /* Only useful on H3100 model */ +- unsigned char contrast; /* 0 - 255 */ +-}; +- +-/* IOCTL cmds user or kernel space */ +- +-/* Use 'f' as magic number */ +-#define IOC_H3600_TS_MAGIC 'f' +- +-/* TODO: Some of these IOWR values are just plain wrong */ +-#define GET_VERSION _IOR(IOC_H3600_TS_MAGIC, 1, struct h3600_ts_version ) +-#define READ_EEPROM _IOWR(IOC_H3600_TS_MAGIC, 2, struct h3600_eeprom_read_request) +-#define WRITE_EEPROM _IOWR(IOC_H3600_TS_MAGIC, 3, struct h3600_eeprom_write_request) +-#define GET_THERMAL _IOR(IOC_H3600_TS_MAGIC, 4, struct therm_dev) +-#define LED_ON _IOW(IOC_H3600_TS_MAGIC, 5, struct h3600_ts_led) +-#define GET_BATTERY_STATUS _IOR(IOC_H3600_TS_MAGIC, 6, struct h3600_battery) +-#define FLITE_ON _IOW(IOC_H3600_TS_MAGIC, 7, struct h3600_ts_flite) +-#define READ_SPI _IOWR(IOC_H3600_TS_MAGIC, 8, struct h3600_spi_read_request) +-#define WRITE_SPI _IOWR(IOC_H3600_TS_MAGIC, 9, struct h3600_spi_write_request) +-#define TS_GET_CAL _IOR(IOC_H3600_TS_MAGIC, 10, struct h3600_ts_calibration) +-#define TS_SET_CAL _IOW(IOC_H3600_TS_MAGIC, 11, struct h3600_ts_calibration) +- +-/* New IOCTL interfaces - defined to be more user friendly */ +-#define TS_GET_BACKLIGHT _IOR(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight) +-#define TS_SET_BACKLIGHT _IOW(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight) +-#define TS_GET_CONTRAST _IOR(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast) +-#define TS_SET_CONTRAST _IOW(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast) +- +-#endif +Index: xtscal-0.6.3/Makefile.am +=================================================================== +--- xtscal-0.6.3.orig/Makefile.am 2004-06-02 23:07:13.000000000 +0100 ++++ xtscal-0.6.3/Makefile.am 2007-07-02 12:51:02.000000000 +0100 +@@ -1,11 +1,8 @@ +-libexec_PROGRAMS = xtscal.bin +-bin_SCRIPTS = xtscal ++bin_PROGRAMS = xtscal + +-xtscal_bin_SOURCES = main.c calibrate.c calibrate.h h3600_ts.h ++xtscal_SOURCES = main.c calibrate.c calibrate.h + +-xtscal_bin_LDADD = @XTSCAL_LIBS@ ++xtscal_LDADD = @XTSCAL_LIBS@ + + INCLUDES = @XTSCAL_CFLAGS@ -DNR_POINTS=5 + +-include gpe-dist.am +- diff --git a/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch new file mode 100644 index 000000000..3e4533f78 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch @@ -0,0 +1,27 @@ +after gcc linking has changed, all the libraries must be explicitely specified +This patch avoids this linking error: + +| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o xtscal main.o calibrate.o -lX11 -lXft -lXext -lXcalibrate^M +| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: ^?: invalid DSO for symbol `XRenderChangePicture' definition^M +| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so.1: could not read symbols: Bad value^M +| collect2: ld returned 1 exit status^M +| make: *** [xtscal] Error 1 + +Nitin A Kamble <nitin.a.kamble@intel.com> +Date: 2011/01/11 + +Upstream-Status: Pending + +Index: xtscal-0.6.3/configure.ac +=================================================================== +--- xtscal-0.6.3.orig/configure.ac ++++ xtscal-0.6.3/configure.ac +@@ -9,7 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) + # Checks for programs. + AC_PROG_CC + +-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate) ++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate xrender) + + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT diff --git a/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb new file mode 100644 index 000000000..4bfddf06b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb @@ -0,0 +1,33 @@ +SUMMARY = "Touchscreen calibration utility" + +DESCRIPTION = "Basic touchscreen calibration utility" + +HOMEPAGE = "http://gpe.linuxtogo.org" +BUGTRACKER = "http://bugs.linuxtogo.org" +LICENSE = "GPLv2 & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://main.c;endline=10;md5=8721bcb08ae9f24e5fe4c82941873c87" + +SECTION = "x11/base" + +DEPENDS = "virtual/libx11 libxft libxcalibrate" + +PR = "r13" + +SRC_URI = "${GPE_MIRROR}/xtscal-${PV}.tar.bz2 \ + file://change-cross.patch \ + file://cleanup.patch \ + file://dso_linking_change_build_fix.patch \ + file://30xTs_Calibrate.sh" + +SRC_URI[md5sum] = "9bcab80b474d5454477d1ca166a68c34" +SRC_URI[sha256sum] = "27b9dc2203de9b1706ca39fa6ca80ecab8807909ec901c4a345b8e41178800a1" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +do_install_append() { + install -d ${D}${sysconfdir}/X11/Xsession.d/ + install -m 0755 ${WORKDIR}/30xTs_Calibrate.sh ${D}${sysconfdir}/X11/Xsession.d/ +} |