1. 27 1月, 2017 2 次提交
    • J
      HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface · 4922cd26
      Jason Gerecke 提交于
      In addition to its USB interface, the second-generation Intuos Pro
      includes a Bluetooth radio that offers two pairing interfaces: classic
      and low-energy. The classic interface functions just like the earlier
      Bluetooth-enabled Intuos4 and Graphire4 tablets, appearing as a HID device
      that our driver can work with. The low-energy interface is intented to
      be used by userspace applications that make use of its paper-to-digital
      capabilities.
      
      Despite the USB interface using Wacom's new vendor-defined HID usages,
      the Bluetooth interface provides us with useless black-box "blob"
      report descriptors like past devices. We thus have to explicitly add
      support for the PIDs and reports used.
      
      These devices pack a /lot/ of information into a single Bluetooth
      input report. Each report contains up to seven snapshots of the pen
      state, four snapshots of the touch state (of five touches each), pad
      state, and battery data. Thankfully this isn't too hard for the driver
      to report -- it just takes a fair amount of code to extract!
      Signed-off-by: NJason Gerecke <jason.gerecke@wacom.com>
      Reviewed-by: NPing Cheng <pingc@wacom.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      4922cd26
    • J
      HID: wacom: Move WAC_CMD_* into wacom_wac.h · 5ba13c64
      Jason Gerecke 提交于
      Centralize our definition of report IDs by moving those for device commands
      into wacom_wac.h alongside those for input reports.
      Signed-off-by: NJason Gerecke <jason.gerecke@wacom.com>
      Reviewed-by: NPing Cheng <pingc@wacom.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      5ba13c64
  2. 23 1月, 2017 3 次提交
  3. 19 1月, 2017 1 次提交
    • J
      HID: wacom: Fix sibling detection regression · a9ce7856
      Jason Gerecke 提交于
      Commit 345857bb ("HID: wacom: generic: Add support for sensor offsets") included
      a change to the operation and location of the call to 'wacom_add_shared_data'
      in 'wacom_parse_and_register'. The modifications included moving it higher up
      so that it would occur before the call to 'wacom_retrieve_hid_descriptor'. This
      was done to prevent a crash that would have occured when the report containing
      tablet offsets was fed into the driver with 'wacom_hid_report_raw_event'
      (specifically: the various 'wacom_wac_*_report' functions were written with the
      assumption that they would only be called once tablet setup had completed;
      'wacom_wac_pen_report' in particular dereferences 'shared' which wasn't yet
      allocated).
      
      Moving the call to 'wacom_add_shared_data' effectively prevented the crash but
      also broke the sibiling detection code which assumes that the HID descriptor
      has been read and the various device_type flags set.
      
      To fix this situation, we restore the original 'wacom_add_shared_data'
      operation and location and instead implement an alternative change that can
      also prevent the crash. Specifically, we notice that the report functions
      mentioned above expect to be called only for input reports.  By adding a check,
      we can prevent feature reports (such as the offset report) from
      causing trouble.
      
      Fixes: 345857bb ("HID: wacom: generic: Add support for sensor offsets")
      Signed-off-by: NJason Gerecke <jason.gerecke@wacom.com>
      Tested-by: NPing Cheng <pingc@wacom.com>
      Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      a9ce7856
  4. 20 10月, 2016 5 次提交
  5. 10 8月, 2016 1 次提交
  6. 05 8月, 2016 27 次提交
  7. 03 5月, 2016 1 次提交
    • J
      HID: wacom: Add fuzz factor to distance and tilt axes · bef7e200
      Jason Gerecke 提交于
      The fuzz present on the distance and tilt axes is noticable when a puck is
      present, and userspace (specifically libinput) would like the ability to
      filter out the noise. To facilitate this, we assign a fuzz value of '1'
      for the distance and tilt axes. This is large enough to cover most of the
      natural variation in distance value as the puck is moved around, and
      enough to cover the jitter in rotation (reported through tilt axes) when
      the puck is left alone.
      Signed-off-by: NJason Gerecke <jason.gerecke@wacom.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      bef7e200