1. 11 May, 2010 3 commits
    • Rafi Rubin's avatar
      HID: ntrig: add filtering module parameters · ab3f4980
      Rafi Rubin authored
      Signed-off-by: default avatarRafi Rubin <rafi@seas.upenn.edu>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      ab3f4980
    • Rafi Rubin's avatar
      HID: ntrig: add sysfs access to filter parameters · eab32f5f
      Rafi Rubin authored
      This should make it a little more convenient to tweak the filtering
      parameters on the fly.  Also unlike load-time parameters, this provides
      independent tuning for each device conntected.
      Signed-off-by: default avatarRafi Rubin <rafi@seas.upenn.edu>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      eab32f5f
    • Rafi Rubin's avatar
      HID: ntrig: add sensitivity and responsiveness support · 369db2a6
      Rafi Rubin authored
      The old rejection size thresholds were too high for the 12" devices.
      Larger surfaces like the Dell Studio17 exacerbated the problem since
      contact size is reported on the same logical scale, making a contact
      look smaller to the larger screen.
      
      Since we have observed erroneous ghost events from these devices we
      still need to filter the incoming stream.
      
      The prior size threshold filter is still in place, though with
      defaults set to leave it off.
      
      This patch adds the two new classes of filters, those that reject
      live frames before activation, and those that reject empty frames
      until deactivation.  These filters are expressed in terms of a
      simple state machine for clarity (I hope).
      
      The activation filter has two components, slack and size, events
      are discarded until either is satisfied.  Slack is defined as
      the number of seemingly good contacts to read before accepting the
      stream as valid (if the threshold is reached in the middle of a frame
      the remainder of that frame is still discarded).
      
      The deactivation filter discards empty frames until hitting a
      deactivate slack.  This time measured in frames.  N-Trig devices
      emit 5-8 (observed so far) empty frames at the end of multitouch
      activity.  Ignoring the first few enables us to safely and gracefully
      handle erroneous empty frames, thus preventing a change in the tool
      state which would otherwise result in things like broken lines or
      dragged objects being dropped in bad places.
      
      Also, now that devices with different logical densities have
      been observed, the aforementioned sizes are scaled from physical
      to logical scales once those scales are identified.  Hopefully this
      should mean that a given threshold value means the same thing across
      differing devices.
      Signed-off-by: default avatarRafi Rubin <rafi@seas.upenn.edu>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      369db2a6
  2. 10 May, 2010 8 commits
  3. 07 May, 2010 15 commits
  4. 06 May, 2010 14 commits