Jason Gerecke writes: > On Thu, Feb 13, 2014 at 2:10 PM, Peter Hutterer > <peter.hutte...@who-t.net> wrote: > > On Wed, Feb 12, 2014 at 08:04:07PM +0100, Egbert Eich wrote: > >> From: Egbert Eich <e...@suse.com> > >> > >> If the initial pressure of a device is != 0 the driver recalibrates > >> the pressure range. This is to account for worn out devices. > >> The downside is that when the user hits the tablet very hard the > >> initial pressure reading may be unequal to zero even for a perfectly > >> good pen. If the consecutive pressure readings are not higher than > >> the initial pressure by a threshold no button event will be generated. > >> This option allows to disable the recalibration. > > > > can we be smarter about this? e.g. disable worn-out pen detection once a > > tool has shown that it repeatedly sent events below the threshold. I don't > > think an option is the right way to go here, with the driver and desktop > > environments repeatedly interfering with each other I'm hesitant to add > > options for something that we could probably solve for the >90% use-case.
Peter, I thought about this but wasn't able to come up with a satisfactory solution for the use case I had to deal with. Point is, we don't keep a history for the pens we see. Whenever a pen comes into proximity it is treated like a new pen once it goes out of proximity it is forgotten. Let me give a bit more insight on the use case I'm dealing with: These Wacom tablets are used for air traffic controlling - you may remember XDC in Toulouse where we visited a development center for air traffic control software. Here pens are only used for klicking and dragging. Thus the pressure information is never evaluated by software, it is only used to synthesize klick events in the driver. Moreover air traffic controllers do not use pens like artists do: in situations with heavy traffic it happens that the controller taps the pen quite fast and hard. This is what happens then: the pen comes from far away, thus is out of proximity. It will come into proximity, immediately have a non-zero pressure reading then, when the hand pulls back quickly, it will go out of proximity again. Here the tablet will frequently only get a single pressure event sent immediately when the pen comes into proximity> Here recalibration kicks in and no click will be generated. In this situation we have too little data to determine if the pen is worn or not. Moreover, what will happen in this situation is what will always happen in such situations: in order to trigger a press event the pen will be hit against the tablet even harder only exaggerating the problem. Thus for air traffic safety it is a requirement that pressure recalibration can be turned off. Instead pens will be exchanged routinely and in situations where the logs indicate they are worn. > > Agreed. > > Based on how the pressure transducer works, I would think that a drop > in pressure of more than a few percent should be a clear indication > that the pen isn't simply worn out. Once its clear that the user has > triggered this condition, we could send the click and temporarily > disable remapping. If we wanted to get fancy, we could remember the > last "good" pressure that the pen entered with and use that value for > remapping instead. > I've thought about a similar scenario already and I'm happy to explore if the algorithm can be designed a bit smarter ie if it has initially recalibrated and thus not synthesized a pressure event but later detects that the pressure falls below the initial pressure by more than 10 percent the 'dropped' klick event will 'emulated' if the pressure readings meets the threshold criteria. I have not implemented this so far as from the tests I've done here I was not convinced that this will will reliably fix the issue for our use case. Moreover this feature would be a bit experimental. Thus the requirement to be able to turn off calibration completely will remain. I would therefore suggest to make this an option with multiple values: on/smart/off. If you want, we can make 'smart' the default. Even if disabling recalibration is only meant for < 10 percent of the use cases would this an acceptible compromise? Cheers, Egbert. ------------------------------------------------------------------------------ Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel