On Thu, Feb 2, 2012 at 11:27 AM, Bastien Nocera <[email protected]> wrote: > On Thu, 2012-02-02 at 11:16 -0800, Jason Gerecke wrote: >> On Thu, Feb 2, 2012 at 7:56 AM, Bastien Nocera <[email protected]> wrote: >> > Jason Gerecke <killertofu@...> writes: >> >> Thankfully, not too terribly long. I've got representatives of most of >> >> the tablets handy, though some with different button layouts (e.g. >> >> Intuos4 Small) were guesses. >> > >> > I've updated 2 of the definitions you provided, which claimed to have both >> > a >> > builtin device and >> > one that was reversible. That's not possible, for those devices the tablet >> > rotation follows the >> > screen rotation, so you'd just change the screen's rotation instead. >> > >> It was a little unclear under what circumstances "reversible" should >> be set, but that makes sense. >> >> > I've also noticed problems with the "Ring" value. At least the Cintiq >> > 21UX2 has >> > touch rings on >> > each side of the device, but the definition says "Ring=false". >> > >> > I've also noticed that those rings weren't explicitely mentioned in the >> > schemas. >> The 21UX2 has two touch strips (on the back side of the tablet -- you >> won't usually see them in photos), but no touch rings. Looking at the >> metadata again, it all seems correct. > > What are the circular buttons between the groups of buttons here? > http://www.wacom.com/en/Products/Cintiq/~/media/Images/Products/DTK-2100-1.ashx > Those are just circular buttons. On Windows and Mac they have a hard-coded function (see the section about LEDs below), but on Linux they act like any other tablet button.
>> > Finally, those >> > schemas have the button numbering wrong. For example, the Intuos4 6x9 that >> > I >> > have in front of >> > me. In the definition, you have: >> > # Button Map: >> > # (A=1, B=2, C=3, ...) >> > # >> > # *-----------------------* >> > # | | >> > # B | | >> > # C | | >> > # D | | >> > # E | | >> > # A | TABLET | >> > # F | | >> > # G | | >> > # H | | >> > # I | | >> > # | | >> > # *-----------------------* >> > >> > When in reality it should be: >> > # Button Map: >> > # (A=1, B=2, C=3, ...) >> > # >> > # *-----------------------* >> > # | | >> > # B | | >> > # C | | >> > # H | | >> > # I | | >> > # (A) | TABLET | >> > # J | | >> > # K | | >> > # L | | >> > # M | | >> > # | | >> > # *-----------------------* >> > # (A) is a touch ring, middle-click 1, 4/5 through the scroll wheel >> > >> > Would it be possible for you to update the schematics to reflect that? >> > >> Those button maps are in terms of the physical reality of the tablet, >> which I think will be a better representation in the end. > > OK. > >> How >> xf86-input-wacom transforms the data for use by X applications is >> subject to change (indeed, we've discussed removing the artificial >> "gap" every tablet has from D-G) but the hardware isn't. Rather than >> hard-coding the effect of our driver's transformations in the .tablet >> definitions, it'd make more sense to put that knowledge into libwacom >> itself. > > I'm fine with doing that, but how do we get from the reality/that > definition to knowing that the bottom-left button is "mouse button 13" > so we can reassign it? > >> > I will probably also change the Ring property to a number of rings, rather >> > than >> > a simple >> > boolean. >> > >> Strips should follow the same convention as well. "HStrip" and >> "VStrip" always seemed poor labels anyway (especially since "HStrip" >> is often just another vertical strip!) > > I'm not familiar with strips. What should I change there? > Strips act identically to wheels (from the standpoint of 99% of X applications). As you move your finger up and down, scroll up and down events are synthesized in the driver. The number of strips you'll find on a tablet is either zero, one, or two (and there's no reason we couldn't add more ;)). There's no difference between the strips, and I imagine "H" and "V" are just references to our (ab)use of "X" and "Y" in the kernel driver and carry no other meaning. > Could you also mention to me which of the tablets have 2 rings, if any? > At the moment only the Cintiq 24HD has two touch rings. >> >> > I'll need to transform that data into something usable programmatically >> > soon to >> >> > get the button mapping on its way. >> > >> > This is going to get slightly complicated. >> > >> > In the definitions, we will need to: >> > - name all the buttons (that'll need to be translated) >> > - which mouse button they correspond to >> > - and possibly include some metadata for LED setting if necessary (which I >> > have >> > no idea what >> > this should look like) >> > >> > Does that sound appropriate? >> > >> It sounds like you're trying to define the default mouse button that >> is associated with each physical button. That's actually trivial -- >> xf86-input-wacom uses: (mouse_button = physical_button < 4 ? >> physical_button : physical_button + 4). > > I'm guessing that answers my above question. > So it would be: > - name all the buttons (that'll need to be translated) > - and which physical button it corresponds to > That seems right to me. > I think we're getting confused over the LEDs. I'm talking about the LEDs > next to the square buttons, with the pictograms in them: > http://www.wacom.com/en/Products/Intuos/~/media/Images/Products/ptk840-2.ashx > I see -- we refer to those as OLEDs to maintain the distinction. I hadn't even considered the OLEDs -- we'll definitely want to know if a tablet supports OLEDs or not. As for their location, it might be safe to link them to a physical button (since OLEDs are associated with a button on all our current products), but I don't know what the future holds. > I see now that there are LEDs next to the touchring on that device. What > are they used for? Is this something we will need to support too? > The Windows and Mac drivers are hard-coded to have the circular button (which is inside the touch ring on an Intuos4; merely centrally located on a 21UX2) change the current function of the touch ring/strip on that side of the tablet. Pressing the button cycles through a list of four possible functions. The four LEDs are used to indicate which function is currently active. Only one LED may be lit at a time, and on Linux can be controlled by poking at sysfs. The Cintiq 24HD is a little different. It also has LEDs, but they're embedded *inside* buttons. On Windows and Mac, pressing these buttons directly chooses the function (instead of having to cycle through a list) and lights the corresponding LED. Furthermore, despite only having 3 LEDs on each side ("bank" in my maps), the 24HD will accept LED4 as valid and (since only one logical LED can be lit) turn off all three physical LEDs... >> My maps were more intended to >> define the location of the physical buttons on the tablet, since it >> can at times be non-obvious how the hardware is actually wired up. >> Same for LEDs -- the correspondence between physical location and >> logical number isn't always clear. > > OK, thanks. > Jason --- Day xee-nee-svsh duu-'ushtlh-ts'it; nuu-wee-ya' duu-xan' 'vm-nvshtlh-ts'it. Huu-chan xuu naa~-gha. ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ Linuxwacom-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
