On Mon, Nov 30, 2015 at 04:31:06PM -0800, Aaron Skomra wrote:
> Signed-off-by: Aaron Skomra <aaron.sko...@wacom.com>
> ---
> -pass make check tests

pushed, thanks.

Cheers,
   Peter
> 
>  data/ek-remote.tablet        |  34 ++++
>  data/layouts/ek-remote.svg   | 430 
> +++++++++++++++++++++++++++++++++++++++++++
>  libwacom/libwacom-database.c |   2 +
>  libwacom/libwacom.c          |   1 +
>  libwacom/libwacom.h          |   1 +
>  test/dbverify.c              |   3 +
>  test/tablet-validity.c       |  11 +-
>  7 files changed, 479 insertions(+), 3 deletions(-)
>  create mode 100644 data/ek-remote.tablet
>  create mode 100644 data/layouts/ek-remote.svg
> 
> diff --git a/data/ek-remote.tablet b/data/ek-remote.tablet
> new file mode 100644
> index 0000000..a793bf4
> --- /dev/null
> +++ b/data/ek-remote.tablet
> @@ -0,0 +1,34 @@
> +# Wacom
> +# ExpressKey Remote
> +# ACK-411050
> +#
> +#    C D
> +#  B  A  E
> +#     F
> +#  G  H  I
> +#  J  K  L
> +#  M  N  O
> +#  P  Q  R
> +
> +[Device]
> +Name=Wacom ExpressKey Remote
> +DeviceMatch=usb:056a:0331
> +Layout=ek-remote.svg
> +Class=Remote
> +
> +[Features]
> +Stylus=false
> +Ring=true
> +NumStrips=0
> +Buttons=18
> +#StatusLEDs=Ring
> +
> +[Buttons]
> +Left=C;A;B;F;G;J;M;N;P;Q
> +Right=D;E;I;L;H;K;O;R
> +
> +#Note that though this device has 3 ring modes
> +#this mode selection does not function the same
> +#as previous devices. The EKR's mode is read-only.
> +#RingNumModes=3
> +Ring=A
> diff --git a/data/layouts/ek-remote.svg b/data/layouts/ek-remote.svg
> new file mode 100644
> index 0000000..9b6529a
> --- /dev/null
> +++ b/data/layouts/ek-remote.svg
> @@ -0,0 +1,430 @@
> +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> +<svg
> +   xmlns:dc="http://purl.org/dc/elements/1.1/";
> +   xmlns:cc="http://creativecommons.org/ns#";
> +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
> +   xmlns:svg="http://www.w3.org/2000/svg";
> +   xmlns="http://www.w3.org/2000/svg";
> +
> +   version="1.1"
> +   
> style="color:#000000;stroke:#7f7f7f;fill:none;stroke-width:.25;font-size:8"
> +   id="ek-remote"
> +   width="350"
> +   height="275"
> +>
> +  <metadata
> +     id="metadata3448">
> +    <rdf:RDF>
> +      <cc:Work
> +         rdf:about="">
> +        <dc:format>image/svg+xml</dc:format>
> +        <dc:type
> +           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
> +      </cc:Work>
> +    </rdf:RDF>
> +  </metadata>
> +  <defs
> +     id="defs3446" />
> +
> +  <title
> +     id="title">Wacom ExpressKey Remote</title>
> +
> +  <path
> +     id="ButtonB"
> +     class="B Button"
> +     d="m 111,39.5 a 30,30 0 0 0 0,40 l 8,-6 a 20,20 0 0 1 0,-28 l -8,-6"
> +      />
> +  <path
> +     id="ButtonE"
> +     class="E Button"
> +     d="m 157.87831,39.500803 a 30.478094,29.624531 0 0 1 0,39.499377 l 
> -8.12747,-5.92491 a 20.31873,19.749687 0 0 0 0,-27.64956 l 8.12747,-5.924907"
> +      />
> +  <path
> +     id="ButtonF"
> +     class="F Button"
> +     d="m 111.99446,80.28266 a 30.007371,27.700507 0 0 0 45.01106,0 l 
> -8.00197,-5.5401 a 20.004914,18.467004 0 0 1 -29.00712,0 l -8.00197,5.5401"
> +      />
> +  <path
> +     d="m 114.99747,35.267115 a 29.592561,29.014789 0 0 1 17.75554,-6.770118 
> l 0,10.638757 a 19.728374,19.343193 0 0 0 -10.85061,3.868638 l 
> -6.90493,-7.737277"
> +     id="ButtonC"
> +     class="C Button"
> +      />
> +  <path
> +     d="m 138,28.5 a 30,30 0 0 1 17,7 l -8,8 a 20,20 0 0 0 -10,-4 l 1,-11"
> +     id="ButtonD"
> +     class="D Button"
> +      />
> +
> +<g id="right side labels"
> +   >
> +    <path
> +       id="LeaderF"
> +       class="F Leader"
> +       d="m 132,83 -39,-6 -12,0"
> +       stroke="grey"
> +       />
> +    <text
> +       id="LabelF"
> +       class="F Label"
> +       x="69"
> +       y="76"
> +       style="text-anchor:start">F</text>
> +</g>
> +
> +  <g
> +     id="g3675">
> +    <circle
> +       id="Ring"
> +       class="Ring TouchRing"
> +       cx="134"
> +       cy="60"
> +       r="19.5" />
> +    <path
> +       id="LeaderRingCCW"
> +       class="RingCCW Ring Leader"
> +       stroke="grey"
> +       d="m 134,44 0,-2 67,0" />
> +    <text
> +       id="LabelRingCCW"
> +       class="RingCCW Ring Label"
> +       x="203"
> +       y="42"
> +       style="text-anchor:start">CCW</text>
> +    <path
> +       id="RingCCW"
> +       class="RingCCW Button"
> +       d="m 131,45 3,-1.5 0,1 a 7.5,7.5 0 0 1 5,1.5 6.5,6.5 0 0 0 -5,-0.5 l 
> 0,1 z" />
> +    <path
> +       id="LeaderRingCW"
> +       class="RingCW Ring Leader"
> +       stroke="grey"
> +       d="m 134,74 0,2 67,0" />
> +    <text
> +       id="LabelRingCW"
> +       class="RingCW Ring Label"
> +       x="203"
> +       y="76"
> +       style="text-anchor:start">CW</text>
> +    <path
> +       id="RingCW"
> +       class="RingCW Button"
> +       d="m 131,73 3,-1.5 0,1 a 7.5,7.5 0 0 0 5,-1 6.5,6.5 0 0 1 -5,2 l 0,1 
> z" />
> +  </g>
> +  <g
> +     id="g3699">
> +
> +    <path
> +       id="LeaderG"
> +       class="G Leader"
> +       stroke="grey"
> +       d="m 110,96 -27,0 " />
> +    <text
> +       id="LabelG"
> +       class="G Label"
> +       x="70"
> +       y="96"
> +       style="text-anchor:start">G</text>
> +     <path
> +     id="ButtonG"
> +     class="G Button"
> +     d="m 105,78 A 30,30 0 0 0 120,89
> +     L 120,104
> +     L 105,104
> +     L 105,78"
> +     />
> +    <path
> +       id="LeaderH"
> +       class="H Leader"
> +       stroke="grey"
> +       d="m 137,103 50,50 5,0"
> +       />
> +    <text
> +       id="LabelH"
> +       class="H Label"
> +       x="193"
> +       y="153"
> +       style="text-anchor:start">H</text>
> +     <path
> +     id="ButtonH"
> +     class="H Button"
> +     d="m 123,101 A 10,10 0 0 1 143,101 L 143,111 L 123, 111   L 123, 101"
> +     />
> +    <path
> +       id="LeaderI"
> +       class="I Leader"
> +       stroke="grey"
> +       d="m 156,93 48,0 "
> +       />
> +    <text
> +       id="LabelI"
> +       class="I Label"
> +       x="205"
> +       y="92"
> +       style="text-anchor:start">I</text>
> +     <path
> +     id ="ButtonI"
> +     class="I Button"
> +     d="m 146,89 A 30,30 0 0 0 161,78 L 161,104  L 146,104 L 146,89"
> +     />
> +    <path
> +       id="LeaderJ"
> +       class="J Leader"
> +       stroke="grey"
> +       d="m 110,122 -27,0 " />
> +    <text
> +       id="LabelJ"
> +       class="J Label"
> +       x="75"
> +       y="121"
> +       style="text-anchor:start">J</text>
> +     <path
> +     id="ButtonJ"
> +     class="J Button"
> +     d="m 105,106  L 120,106  L 120,126 L 105,126 L 105,106"
> +     />
> +    <path
> +       id="LeaderK"
> +       class="K Leader"
> +       stroke="grey"
> +       d="m 137,116 50,50 5,0"
> +       />
> +    <text
> +       id="LabelK"
> +       class="K Label"
> +       x="193"
> +       y="172"
> +       style="text-anchor:start">K</text>
> +     <path
> +     id="ButtonK"
> +     class="K Button"
> +     d="m 123, 113 L 143,113 L 143, 126   L 123, 126 L 123, 113"
> +     />
> +    <path
> +       id="LeaderL"
> +       class="L Leader"
> +       stroke="grey"
> +       d="m 157,112 50,0"
> +       />
> +    <text
> +       id="LabelL"
> +       class="L Label"
> +       x="204"
> +       y="110"
> +       style="text-anchor:start">L</text>
> +     <path
> +     id ="ButtonL"
> +     class="L Button"
> +     d="m 146,106  L 161,106  L 161,126 L 146,126 L 146,106"
> +     />
> +  </g>
> +
> +  <g
> +     id="g3700">
> +    <path
> +       id="LeaderM"
> +       class="M Leader"
> +       stroke="grey"
> +       d="m 110,142 -27,0 " />
> +    <text
> +       id="LabelM"
> +       class="M Label"
> +       x="70"
> +       y="140"
> +       style="text-anchor:start">M</text>
> +     <path
> +     id="ButtonM"
> +     class="M Button"
> +     d="m 105,128  L 120,128  L 120,148 L 105,148 L 105,128"
> +     />
> +    <path
> +       id="LeaderN"
> +       class="N Leader"
> +       stroke="grey"
> +       d="m 130,135  -40,30 -5,0"
> +       />
> +    <text
> +       id="LabelN"
> +       class="N Label"
> +       x="70"
> +       y="165"
> +       style="text-anchor:start">N</text>
> +     <path
> +     id="ButtonN"
> +     class="N Button"
> +     d="m 123, 128 L 143,128 L 143, 142 L 123, 142 L 123, 128"
> +     />
> +    <path
> +       id="LeaderO"
> +       class="O Leader"
> +       stroke="grey"
> +       d="m 152,140  40,56"
> +       />
> +    <text
> +       id="LabelO"
> +       class="O Label"
> +       x="190"
> +       y="208"
> +       style="text-anchor:start">O</text>
> +     <path
> +     id ="ButtonO"
> +     class="O Button"
> +     d="m 146,128
> +      L 161,128
> +      L 161,148
> +      L 146,148
> +     L 146,128"
> +     />
> +  </g>
> +
> +  <g
> +     id="g3701">
> +    <path
> +       id="LeaderQ"
> +       class="Q Leader"
> +       stroke="grey"
> +       d="m 117,175 0,20 "
> +       />
> +    <text
> +       id="LabelQ"
> +       class="Q Label"
> +       x="111"
> +       y="209"
> +       style="text-anchor:start">Q</text>
> +     <path
> +     id="ButtonQ"
> +     class="Q Button"
> +     d="m 105,150
> +     L 120,150 A 12,12 0 0 0 132,164
> +     L 132,180
> +     L 118, 180 A 15,15 0 0 1 105,164
> +     L 105,150"
> +     />
> +    <path
> +       id="LeaderP"
> +       class="P Leader"
> +       stroke="grey"
> +       d="m 130,155  -60,40"
> +       />
> +    <text
> +       id="LabelP"
> +       class="P Label"
> +       x="63"
> +       y="208"
> +       style="text-anchor:start">P</text>
> +     <path
> +     id="ButtonP"
> +     class="P Button"
> +     d="m 123,152 A 10,10 0 0 0 143,152
> +      L 143,144
> +      L 123,144
> +      L 123,152"
> +     />
> +    <path
> +       id="LeaderR"
> +       class="R Leader"
> +       stroke="grey"
> +       d="m 147,175 0,20 "
> +       />
> +    <text
> +       id="LabelR"
> +       class="R Label"
> +       x="141"
> +       y="209"
> +       style="text-anchor:start">R</text>
> +     <path
> +     id="ButtonR"
> +     class="R Button"
> +     d="m 161,150
> +      L 146,150 A 12,12 0 0 1 134,164
> +      L 134,180
> +     L 150, 180 A 15,15 0 0 0 161,164
> +     L 161,150"
> +     />
> +  </g>
> +  <g
> +     id="g3684">
> +    <circle
> +       id="ButtonA"
> +       class="A ModeSwitch Button"
> +       cx="134"
> +       cy="59"
> +       r="6.5" />
> +    <path
> +       id="LeaderA"
> +       class="A ModeSwitch Leader"
> +       stroke="grey"
> +       d="m 134,59 -30,-18 -24,0" />
> +    <text
> +       id="LabelA"
> +       class="A ModeSwitch Label"
> +       x="69"
> +       y="39"
> +       style="text-anchor:start">A</text>
> +  </g>
> +  <g
> +     id="g3689">
> +    <circle
> +       id="Ring Buttons"
> +       class="Ring TouchRing"
> +       cx="134"
> +       cy="59"
> +       r="0" />
> +    <path
> +       id="LeaderB"
> +       class="B Leader"
> +       stroke="grey"
> +       d="m 80,59 30,0" />
> +    <text
> +       id="LabelB"
> +       class="B Label"
> +       x="70"
> +       y="59"
> +       style="text-anchor:start">B</text>
> +    <path
> +       id="LeaderC"
> +       class="C Leader"
> +       stroke="grey"
> +       d="m 80,20 20,0 25,12"/>
> +    <text
> +       id="LabelC"
> +       class="C Label"
> +       x="70"
> +       y="20"
> +       style="text-anchor:start">C</text>
> +    <path
> +       id="LeaderD"
> +       class="D Leader"
> +       stroke="grey"
> +       d="m 145,35 0,-10 5,-5 50,0" />
> +    <text
> +       id="LabelD"
> +       class="D Label"
> +       x="203"
> +       y="20"
> +       style="text-anchor:start">D</text>
> +    <path
> +       id="LeaderE"
> +       class="E Leader"
> +       stroke="grey"
> +       d="m 162,59 39,0"
> +       />
> +    <text
> +       id="LabelE"
> +       class="E Label"
> +       x="203"
> +       y="59"
> +       style="text-anchor:start">E</text>
> +  </g>
> +  <path
> +     style="fill:white"
> +     d="m 114.13253,36.257524 6.85981,7.45701 -1.31919,1.028553 
> -7.91517,-6.171319 z"
> +     id="LED0" />
> +  <path
> +     style="fill:white"
> +     d="m 134.02961,38.991736 -0.27117,-10.733474 2.98286,0 
> -0.54234,10.733474 z"
> +     id="LED1" />
> +  <path
> +     style="fill:white"
> +     d="m 148,43.249999 7.25,-6.75 1.75,2.5 -7.5,5.75 z"
> +     id="LED2" />
> +</svg>
> diff --git a/libwacom/libwacom-database.c b/libwacom/libwacom-database.c
> index ed67de9..997b53f 100644
> --- a/libwacom/libwacom-database.c
> +++ b/libwacom/libwacom-database.c
> @@ -68,6 +68,8 @@ libwacom_class_string_to_enum(const char *class)
>               return WCLASS_ISDV4;
>       if (strcmp(class, "PenDisplay") == 0)
>               return WCLASS_PEN_DISPLAYS;
> +     if (strcmp(class, "Remote") == 0)
> +             return WCLASS_REMOTE;
>  
>       return WCLASS_UNKNOWN;
>  }
> diff --git a/libwacom/libwacom.c b/libwacom/libwacom.c
> index ba61764..d20b66c 100644
> --- a/libwacom/libwacom.c
> +++ b/libwacom/libwacom.c
> @@ -717,6 +717,7 @@ libwacom_print_device_description(int fd, const 
> WacomDevice *device)
>               case WCLASS_INTUOS:     class_name = "Intuos";  break;
>               case WCLASS_INTUOS2:    class_name = "Intuos2"; break;
>               case WCLASS_PEN_DISPLAYS:       class_name = "PenDisplay";      
> break;
> +             case WCLASS_REMOTE:     class_name = "Remote";  break;
>               default:                g_assert_not_reached(); break;
>       }
>  
> diff --git a/libwacom/libwacom.h b/libwacom/libwacom.h
> index 3d3cbb1..f36b2ac 100644
> --- a/libwacom/libwacom.h
> +++ b/libwacom/libwacom.h
> @@ -142,6 +142,7 @@ typedef enum {
>       WCLASS_INTUOS,          /**< Any Intuos series */
>       WCLASS_INTUOS2,         /**< Any Intuos2 series */
>       WCLASS_PEN_DISPLAYS,    /**< Any "interactive pen display" */
> +     WCLASS_REMOTE,          /**< Any Wacom Remote */
>  } WacomClass;
>  
>  /**
> diff --git a/test/dbverify.c b/test/dbverify.c
> index 5a4b687..799e717 100644
> --- a/test/dbverify.c
> +++ b/test/dbverify.c
> @@ -151,6 +151,9 @@ compare_written_database(WacomDeviceDatabase *db)
>               close(fd);
>               free(path);
>  
> +             if (!libwacom_has_stylus(*device))
> +                     continue;
> +
>               styli = libwacom_get_supported_styli(*device, &nstyli);
>               for (i = 0; i < nstyli; i++) {
>                       int fd_stylus;
> diff --git a/test/tablet-validity.c b/test/tablet-validity.c
> index 1fe741b..2fc1142 100644
> --- a/test/tablet-validity.c
> +++ b/test/tablet-validity.c
> @@ -133,21 +133,26 @@ static void verify_tablet(WacomDeviceDatabase *db, 
> WacomDevice *device)
>       assert(libwacom_get_matches(device) != NULL);
>  
>       /* ISDv4 are built-in, they may be of varying size */
> -     if (libwacom_get_class(device) != WCLASS_ISDV4) {
> +     if (libwacom_get_class(device) != WCLASS_ISDV4 &&
> +         libwacom_get_class(device) != WCLASS_REMOTE) {
>               assert(libwacom_get_width(device) > 0);
>               assert(libwacom_get_height(device) > 0);
>       }
>       assert(libwacom_get_num_buttons(device) >= 0);
>  
>       styli = libwacom_get_supported_styli(device, &nstyli);
> -     assert(styli != NULL);
> -     assert(nstyli >= 1);
> +
> +     if (libwacom_has_stylus(device)) {
> +             assert(styli != NULL);
> +             assert(nstyli >= 1);
> +     }
>  
>       switch(libwacom_get_class(device)) {
>               case WCLASS_BAMBOO:
>               case WCLASS_ISDV4:
>               case WCLASS_PEN_DISPLAYS:
>               case WCLASS_GRAPHIRE:
> +             case WCLASS_REMOTE:
>                       break;
>               case WCLASS_INTUOS:
>               case WCLASS_INTUOS2:
> -- 
> 2.5.0
> 
> 
> ------------------------------------------------------------------------------
> Go from Idea to Many App Stores Faster with Intel(R) XDK
> Give your users amazing mobile app experiences with Intel(R) XDK.
> Use one codebase in this all-in-one HTML5 development environment.
> Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
> _______________________________________________
> Linuxwacom-devel mailing list
> Linuxwacom-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
> 

------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to