[PATCH 00/13] HID: add support of Logitech touchpads and special devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Well this patch series is really an old guy:
- I started on this back in 2011 during my short appearance at Logitech
- it has been updated a few time since
- part of it is already shipped in ChromeOS
- now is the time to push it upstream (hopefully)

So, basically, this patch series aims at supporting the touchpads made by
Logitech (i.e. report the raw multi touch events), plus it also gives a driver
to enable special "features" of other various Logitech devices as reported
here[1].

There are couple of changes I introduced in this submission compared to what
Logitech and ChromeOS used to see:
- there will be only one driver for HID++ devices: hid-logitech-hidpp (this way,
  we are trying to stay in the line of the HID subsystem, one HID driver per
  vendor)
- hid-logitech-dj only deals with the transport layer, so it does not depend on
  hid-logitech-hidpp
- there is no more callbacks mechanism in hidpp and the specific drivers, all
  is handled in one place
- there is no need of a blacklist in hid-logitech-dj to decide if the device has
  a subdriver or not.
- there is no support of the mice with raw touch. This can be added in a future
  patch series.

I am finally finding this ready to be sent upstream, so I hope some of you would
be kind enough to review the code.

Regarding the features, here is what end user will expect/see:
- all the DJ devices (connected through the unifying wirelees receiver) have a
  proper name now (T400, M325, ...). This name is retrieved from the receiver
  which has a short buffer for it, thus the short name.
- the touchpads input devices will be created once the device is actually
  connected. For bluetooth device, it's a normal HID process. For DJ devices,
  the receiver is created, the hidraw device of the touchpad is created, but the
  input device, with the full name (asked from the device) appears on the first
  connection (or events).
- The TK820 - keyboard/touchpad combo presents now 2 input devices. One for the
  keyboard part, one for the touchpad. So X and libinput can deal with it
  easily.

Jiri, This patch series can be split in 2 if you would like:
- patches 1 to 4 can be scheduled easily for 3.18 IMO
- patches 5 to 13 might need some more reviews, so either 3.18 or 3.19

Cheers,
Benjamin

[1] https://www.mail-archive.com/linux-input@xxxxxxxxxxxxxxx/msg11831.html

Benjamin Tissoires (13):
  HID: fix merge from wacom into the HID tree
  HID: core: do not scan reports if the group is already set
  HID: logitech-dj: rely on hid groups to separate receivers from dj
    devices
  HID: logitech-dj: merge header file into the source
  HID: Introduce hidpp, a module to handle Logitech hid++ devices
  HID: logitech: move dj devices to the HID++ module
  HID: logitech-dj: allow transfer of HID++ reports from/to the correct
    dj device
  HID: logitech: allow the DJ device to request the unifying name
  HID: logitech-dj: enable notifications on connect/disconnect
  HID: logitech-hidpp: late bind the input device on wireless connection
  HID: logitech-hidpp: Add Wireless Touchpad T650 support
  HID: logitech-hidpp: add support of the first Logitech Wireless
    Touchpad
  HID: logitech-hidpp: support combo keyboard touchpad TK820

 drivers/hid/Kconfig              |   12 +
 drivers/hid/Makefile             |    1 +
 drivers/hid/hid-core.c           |   21 +-
 drivers/hid/hid-ids.h            |    1 +
 drivers/hid/hid-logitech-dj.c    |  397 ++++++++++---
 drivers/hid/hid-logitech-dj.h    |  125 ----
 drivers/hid/hid-logitech-hidpp.c | 1201 ++++++++++++++++++++++++++++++++++++++
 include/linux/hid.h              |    5 +-
 8 files changed, 1526 insertions(+), 237 deletions(-)
 delete mode 100644 drivers/hid/hid-logitech-dj.h
 create mode 100644 drivers/hid/hid-logitech-hidpp.c

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux