1. 28 2月, 2012 1 次提交
  2. 22 2月, 2012 1 次提交
  3. 21 2月, 2012 2 次提交
  4. 07 2月, 2012 2 次提交
    • N
      HID: waltop: Add support for Waltop Q Pad · 4fdc18d1
      Nikolai Kondrashov 提交于
      Add support for Waltop Q Pad by fixing its report descriptor.
      
      This tablet is also sold as Aiptek HyperPen Mini. Other possible names
      include: NGS Flexi Style, VisTablet PenPad, iVistaTablet Q Flex Pad, Bravod
      Q-PD65-S.
      Signed-off-by: NNikolai Kondrashov <spbnick@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      4fdc18d1
    • J
      HID: add support for tivo slide remote · 44ea35c1
      Jarod Wilson 提交于
      This patch finishes off adding full support for the TiVo Slide remote,
      which is a mostly pure HID device from the perspective of the kernel.
      There are a few mappings that use a vendor-specific usage page, and a
      few keys in the consumer usage page that I think make sense to remap
      slightly, to better fit their key labels' intended use. Doing this in a
      stand-alone hid-tivo.c makes the modifications only matter for this
      specific device.
      
      What's actually connected to the computer is a Broadcom-made usb dongle,
      which has an embedded hub, bluetooth adapter, mouse and keyboard
      devices. You pair with the dongle, then the remote sends data that its
      converted into HID on the keyboard interface (the mouse interface
      doesn't do anything interesting, so far as I can tell).
      
      lsusb for this device:
      Bus 004 Device 005: ID 0a5c:2190 Broadcom Corp.
      Bus 004 Device 004: ID 0a5c:4503 Broadcom Corp.
      Bus 004 Device 003: ID 150a:1201
      Bus 004 Device 002: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
      
      Speaking of the keyboard interface, the remote actually does contain a
      keyboard as well. The top slides away, revealing a reasonably functional
      qwerty keyboard (not unlike many slide cell phones), thus the product
      name.
      
      CC: Jiri Kosina <jkosina@suse.cz>
      Signed-off-by: NJarod Wilson <jarod@redhat.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      44ea35c1
  5. 02 2月, 2012 1 次提交
  6. 08 1月, 2012 1 次提交
  7. 05 1月, 2012 1 次提交
  8. 15 12月, 2011 2 次提交
  9. 06 12月, 2011 1 次提交
  10. 30 11月, 2011 1 次提交
  11. 23 11月, 2011 4 次提交
  12. 20 11月, 2011 1 次提交
  13. 16 11月, 2011 1 次提交
  14. 14 11月, 2011 1 次提交
  15. 29 10月, 2011 1 次提交
  16. 28 10月, 2011 1 次提交
  17. 21 10月, 2011 1 次提交
  18. 17 10月, 2011 1 次提交
    • T
      HID: support primax keyboards violating USB HID spec · f6a04605
      Terry Lambert 提交于
      Primax keyboards with the issue this driver addresses report modifier
      keys as in band key events instead of as out of band modifier bits,
      resulting in the modifier keys generating key up events immediately
      before the keys they are intended to modify.  This driver rewrites
      the raw report data from such keyboards into USB HID 1.11 compliant
      report data.  It only matches the USB vendor and product IDs for the
      keyboard it has been tested on. Since there are several keyboards,
      notably a number of laptops and folding USB keyboards known to have
      similar unresolved problem reports, the list is expected to grow.
      Signed-off-by: NTerry Lambert <tlambert@chromium.org>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      f6a04605
  19. 04 10月, 2011 1 次提交
  20. 03 10月, 2011 1 次提交
  21. 26 9月, 2011 1 次提交
  22. 22 9月, 2011 1 次提交
  23. 20 9月, 2011 1 次提交
  24. 15 9月, 2011 1 次提交
    • N
      HID: Add full support for Logitech Unifying receivers · 534a7b8e
      Nestor Lopez Casado 提交于
      With this driver, all the devices paired to a single Unifying
      receiver are exposed to user processes in separated /input/dev
      nodes.
      
      Keyboards with different layouts can be treated differently,
      Multiplayer games on single PC (like home theater PC) can
      differentiate input coming from different kbds paired to the
      same receiver.
      
      Up to now, when Logitech Unifying receivers are connected to a
      Linux based system, a single keyboard and a single mouse are
      presented to the HID Layer, even if the Unifying receiver can
      pair up to six compatible devices. The Unifying receiver by default
      multiplexes all incoming events (from multiple keyboards/mice)
      into these two.
      Signed-off-by: NNestor Lopez Casado <nlopezcasad@logitech.com>
      Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      534a7b8e
  25. 24 8月, 2011 1 次提交
  26. 16 8月, 2011 2 次提交
  27. 10 8月, 2011 3 次提交
    • J
      HID: add MacBookAir4,2 to hid_have_special_driver[] · f6f554f0
      Jiri Kosina 提交于
      Otherwise the generic driver wouldn't unbind from it and wouldn't
      let hid-apple to automatically take over.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      f6f554f0
    • J
      HID: propagate return value correctly in hid_input_report() · 45dc1ac7
      Jiri Kosina 提交于
      Fix a return value propagation that was omitted in David Herrmann's
      locking fix around hid_input_report().
      Reported-by: NDavid Herrmann <dh.herrmann@googlemail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      45dc1ac7
    • D
      HID: Fix race condition between driver core and ll-driver · 4ea54542
      David Herrmann 提交于
      HID low level drivers register new devices with the HID core which then
      adds the devices to the HID bus. The HID bus normally immediately probes
      an appropriate driver which then handles HID input for this device.
      The ll driver now uses the hid_input_report() function to report input
      events for a specific device. However, if the HID bus unloads the driver
      at the same time (for instance via a call to
       /sys/bus/hid/devices/<dev>/unbind) then the hdev->driver pointer may be
      used by hid_input_report() and hid_device_remove() at the same time
      which may cause hdev->driver to point to invalid memory.
      
      This fix adds a semaphore to every hid device which protects
      hdev->driver from asynchronous access. This semaphore is locked during
      driver *_probe and *_remove and also inside hid_input_report(). The
      *_probe and *_remove functions may sleep so the semaphore is good here,
      however, hid_input_report() is in atomic context and hence only uses
      down_trylock(). If it cannot acquire the lock it simply drops the input
      package.
      
      The low-level drivers report input events synchronously so
      hid_input_report() should never be entered twice at the same time on the
      same device. Hence, the lock should always be available. But if the
      driver is currently probed/removed then the lock is not available and
      dropping the package should be safe because this is what would have
      happened if the package arrived some milliseconds earlier/later.
      
      This also fixes another race condition while probing drivers:
      First the *_probe function of the driver is called and only if that
      succeeds, the related input device of hidinput is registered. If the low
      level driver reports input events after the *_probe function returned
      but before the input device is registered, then a NULL pointer
      dereference will occur. (Equivalently on driver remove function).
      This is not possible anymore, since the semaphore lock drops all
      incoming packages until the driver/device is fully initialized.
      Signed-off-by: NDavid Herrmann <dh.herrmann@googlemail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      4ea54542
  28. 02 8月, 2011 1 次提交
  29. 22 7月, 2011 1 次提交
  30. 21 7月, 2011 1 次提交
  31. 11 7月, 2011 1 次提交