1. 20 12月, 2010 1 次提交
    • H
      Input: introduce device properties · 85b77200
      Henrik Rydberg 提交于
      Today, userspace sets up an input device based on the data it emits.
      This is not always enough; a tablet and a touchscreen may emit exactly
      the same data, for instance, but the former should be set up with a
      pointer whereas the latter does not need to. Recently, a new type of
      touchpad has emerged where the buttons are under the pad, which
      changes logic without changing the emitted data. This patch introduces
      a new ioctl, EVIOCGPROP, which enables user access to a set of device
      properties useful during setup. The properties are given as a bitmap
      in the same fashion as the event types, and are also made available
      via sysfs, uevent and /proc/bus/input/devices.
      Acked-by: NPing Cheng <pingc@wacom.com>
      Acked-by: NChase Douglas <chase.douglas@canonical.com>
      Acked-by: NDmitry Torokhov <dtor@mail.ru>
      Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
      85b77200
  2. 16 12月, 2010 3 次提交
  3. 04 11月, 2010 1 次提交
  4. 10 9月, 2010 1 次提交
    • M
      Input: add support for large scancodes · 8613e4c2
      Mauro Carvalho Chehab 提交于
      Several devices use a high number of bits for scancodes. One important
      group is the Remote Controllers. Some new protocols like RC-6 define a
      scancode space of 64 bits.
      
      The current EVIO[CS]GKEYCODE ioctls allow replace the scancode/keycode
      translation tables, but it is limited to up to 32 bits for scancode.
      
      Also, if userspace wants to clean the existing table, replacing it by
      a new one, it needs to run a loop calling the ioctls over the entire
      sparse scancode space.
      
      To solve those problems, this patch extends the ioctls to allow drivers
      handle scancodes up to 32 bytes long (the length could be extended in
      the future should such need arise) and allow userspace to query and set
      scancode to keycode mappings not only by scancode but also by index.
      
      Compatibility code were also added to handle the old format of
      EVIO[CS]GKEYCODE ioctls.
      
      Folded fixes by:
      - Dan Carpenter: locking fixes for the original implementation
      - Jarod Wilson: fix crash when setting keycode and wiring up get/set
                      handlers in original implementation.
      - Dmitry Torokhov: rework to consolidate old and new scancode handling,
                         provide options to act either by index or scancode.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NJarod Wilson <jarod@redhat.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      8613e4c2
  5. 06 9月, 2010 1 次提交
  6. 20 8月, 2010 1 次提交
  7. 03 8月, 2010 2 次提交
  8. 16 7月, 2010 2 次提交
  9. 24 6月, 2010 1 次提交
  10. 21 5月, 2010 1 次提交
  11. 14 4月, 2010 1 次提交
    • B
      Input: add Analog Devices AD714x captouch input driver · 31a62963
      Bryan Wu 提交于
      AD7142 and AD7147 are integrated capacitance-to-digital converters
      (CDCs) with on-chip environmental calibration for use in systems
      requiring a novel user input method. The AD7142 and AD7147 can interface
      to external capacitance sensors implementing functions such as buttons,
      scrollwheels, sliders, touchpads and so on.
      
      The chips don't restrict the specific usage. Depending on the hardware
      connection, one special target board can include one or several these
      components. The platform_data for the device's "struct device" holds
      these information. The data-struct defined in head file descript the
      hardware feature of button/scrollwheel/slider/touchpad components on
      target boards, which need be filled in the arch/mach-/.
      
      As the result, the driver is independent of boards. It gets the
      components layout from the platform_data, registers related devices,
      fullfills the algorithms and state machines for these components and
      report related input events to up level.
      Signed-off-by: NBryan Wu <cooloney@kernel.org>
      Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: NBarry Song <21cnbao@gmail.com>
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      31a62963
  12. 09 3月, 2010 1 次提交
  13. 26 2月, 2010 2 次提交
  14. 18 2月, 2010 1 次提交
    • M
      Input: add KEY_RFKILL · 3b77fd8e
      Matthew Garrett 提交于
      Most laptops have keys that are intended to toggle all device state, not
      just wifi. These are currently generally mapped to KEY_WLAN. As a result,
      rfkill will only kill or enable wifi in response to the key press. This
      confuses users and can make it difficult for them to enable bluetooth
      and wwan devices.
      
      This patch adds a new keycode, KEY_RFKILL. It indicates that the system
      should toggle the state of all rfkillable devices.
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      Acked-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      3b77fd8e
  15. 04 2月, 2010 1 次提交
  16. 30 1月, 2010 1 次提交
    • D
      Input: implement input filters · ef7995f4
      Dmitry Torokhov 提交于
      Sometimes it is desirable to suppress certain events from reaching
      input handlers and thus user space. One such example is Mac mouse
      button emulation code which catches certain key presses and converts
      them into button clicks as if they were emitted by a virtual mouse.
      The original key press events should be completely suppressed,
      otherwise user space will be confused, and while keyboard driver
      does it on its own evdev is blissfully unaware of this arrangement.
      
      This patch adds notion of 'filter' to the standard input handlers,
      which may flag event as filtered thus preventing it from reaching
      other input handlers. Filters don't (nor will they ever) have a
      notion of priority relative to each other, input core will run all
      of them first and any one of them may mark event as filtered.
      
      This patch is inspired by similar patch by Matthew Garret but the
      implementation and intended usage are quite different.
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      ef7995f4
  17. 29 1月, 2010 1 次提交
  18. 04 1月, 2010 1 次提交
    • J
      HID: handle joysticks with large number of buttons · cf2f765f
      Jiri Kosina 提交于
      Current HID code doesn't properly handle HID joysticks which have
      larger number of buttons than what fits into current range reserved
      for BTN_JOYSTICK.
      
      One such joystick reported to not work properly is Saitek X52 Pro
      Flight System.
      
      We can't extend the range to fit more buttons in, because of backwards
      compatibility reasons.
      
      Therefore this patch introduces a new BTN_TRIGGER_HAPPY range, and
      uses these to map the buttons which are over BTN_JOYSTICK limit.
      
      Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> [for the input.h part]
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      cf2f765f
  19. 02 12月, 2009 1 次提交
  20. 23 11月, 2009 1 次提交
  21. 20 11月, 2009 1 次提交
  22. 11 11月, 2009 1 次提交
  23. 06 11月, 2009 1 次提交
  24. 03 11月, 2009 1 次提交
  25. 18 9月, 2009 1 次提交
  26. 20 6月, 2009 1 次提交
  27. 24 5月, 2009 1 次提交
  28. 29 4月, 2009 2 次提交
    • H
      Input: add detailed multi-touch finger data report protocol · 5e5ee686
      Henrik Rydberg 提交于
      In order to utilize the full power of the new multi-touch devices, a
      way to report detailed finger data to user space is needed. This patch
      adds a multi-touch (MT) protocol which allows drivers to report details
      for an arbitrary number of fingers.
      
      The driver sends a SYN_MT_REPORT event via the input_mt_sync() function
      when a complete finger has been reported.
      
      In order to stay compatible with existing applications, the data
      reported in a finger packet must not be recognized as single-touch
      events. In addition, all finger data must bypass input filtering,
      since subsequent events of the same type refer to different fingers.
      
      A set of ABS_MT events with the desired properties are defined. The
      events are divided into categories, to allow for partial implementation.
      The minimum set consists of ABS_MT_TOUCH_MAJOR, ABS_MT_POSITION_X and
      ABS_MT_POSITION_Y, which allows for multiple fingers to be tracked.
      If the device supports it, the ABS_MT_WIDTH_MAJOR may be used to provide
      the size of the approaching finger. Anisotropy and direction may be
      specified with ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MINOR and
      ABS_MT_ORIENTATION. Devices with more granular information may specify
      general shapes as blobs, i.e., as a sequence of rectangular shapes
      grouped together by a ABS_MT_BLOB_ID. Finally, the ABS_MT_TOOL_TYPE
      may be used to specify whether the touching tool is a finger or a pen.
      Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      5e5ee686
    • H
      Input: bcm5974 - add quad-finger tapping · 6916d97f
      Henrik Rydberg 提交于
      The integrated button on the new unibody Macbooks presents a need to
      report explicit four-finger actions. Evidently, the finger pressing
      the button is also touching the trackpad, so in order to fully support
      three-finger actions, the driver must be able to report four-finger
      actions. This patch adds a new button, BTN_TOOL_QUADTAP, which
      achieves this.
      Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      6916d97f
  29. 16 1月, 2009 1 次提交
  30. 07 1月, 2009 1 次提交
  31. 10 12月, 2008 1 次提交
  32. 13 11月, 2008 1 次提交
  33. 27 10月, 2008 1 次提交
  34. 30 7月, 2008 1 次提交