On Tue, Nov 7, 2017 at 4:15 PM, Peter Hutterer <peter.hutte...@who-t.net> wrote: > On Tue, Nov 07, 2017 at 08:49:04AM -0800, Jason Gerecke wrote: >> The new "Pro Pen 3D" is sufficiently different from the other pen types >> that it deserves new type. This makes it easier for userspace to provide >> appropriate UI and suggested button assignments. > > is it really that different though? afaict it's just another button on the > pen and while the button may be used for zoom/pan/.., there's no real > requirement for it. And judging by the way the pen looks, it's almost > identical to previous pens. So i'm quite unsure about the need for this > patch. > > Cheers, > Peter >
I had the same concerns that maybe a new type wasn't necessary, but felt that it was justified when considering the existing types. The type seems to just be a moniker that helps to group related families of pens. Two pens with different type can have the same/similar features or the same/similar industrial design: * The only difference between a "General" pen and a "Classic" pen is a slimmer industrial design. * The only difference between an "Inking" pen and a "Classic" pen is the lack of an eraser. * The only difference between a "General" pen and a "Marker" pen is support for rotation. The distinction between the various types is already pretty fine, and it wouldn't be out of place to have one for "3D" pens which are intended (but don't /have/ to be) used in specific circumstances. I don't know how /valuable/ the distinctions are to applications, but the difference between General/3D is larger than the existing difference between General/Classic or General/Marker. Jason --- Now instead of four in the eights place / you’ve got three, ‘Cause you added one / (That is to say, eight) to the two, / But you can’t take seven from three, / So you look at the sixty-fours.... >> >> Signed-off-by: Jason Gerecke <jason.gere...@wacom.com> >> --- >> data/libwacom.stylus | 2 +- >> libwacom/libwacom-database.c | 2 ++ >> libwacom/libwacom.c | 1 + >> libwacom/libwacom.h | 3 ++- >> 4 files changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/data/libwacom.stylus b/data/libwacom.stylus >> index d030bf0..2a6d6c2 100644 >> --- a/data/libwacom.stylus >> +++ b/data/libwacom.stylus >> @@ -97,7 +97,7 @@ Name=Pro Pen 3D >> HasEraser=false >> Buttons=3 >> Axes=Tilt;Pressure;Distance; >> -Type=General >> +Type=3D >> >> [0x852] >> # Intuos2 >> diff --git a/libwacom/libwacom-database.c b/libwacom/libwacom-database.c >> index 1241e99..c89e4ba 100644 >> --- a/libwacom/libwacom-database.c >> +++ b/libwacom/libwacom-database.c >> @@ -93,6 +93,8 @@ type_from_str (const char *type) >> return WSTYLUS_STROKE; >> if (strcmp (type, "Puck") == 0) >> return WSTYLUS_PUCK; >> + if (strcmp (type, "3D") == 0) >> + return WSTYLUS_3D; >> return WSTYLUS_UNKNOWN; >> } >> >> diff --git a/libwacom/libwacom.c b/libwacom/libwacom.c >> index 5ab0ab5..262c400 100644 >> --- a/libwacom/libwacom.c >> +++ b/libwacom/libwacom.c >> @@ -1147,6 +1147,7 @@ libwacom_print_stylus_description (int fd, const >> WacomStylus *stylus) >> case WSTYLUS_MARKER: type = "Marker"; break; >> case WSTYLUS_STROKE: type = "Stroke"; break; >> case WSTYLUS_PUCK: type = "Puck"; break; >> + case WSTYLUS_3D: type = "3D"; break; >> default: g_assert_not_reached(); break; >> } >> >> diff --git a/libwacom/libwacom.h b/libwacom/libwacom.h >> index d4c94ef..c01389b 100644 >> --- a/libwacom/libwacom.h >> +++ b/libwacom/libwacom.h >> @@ -156,7 +156,8 @@ typedef enum { >> WSTYLUS_CLASSIC, >> WSTYLUS_MARKER, >> WSTYLUS_STROKE, >> - WSTYLUS_PUCK >> + WSTYLUS_PUCK, >> + WSTYLUS_3D, >> } WacomStylusType; >> >> /** >> -- >> 2.15.0 >> ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel