03 Aug, 2010

2 commits


16 Jul, 2010

2 commits

  • Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • With the rapidly increasing number of intelligent multi-contact and
    multi-user devices, the need to send digested, filtered information
    from a set of different sources within the same device is imminent.
    This patch adds the concept of slots to the MT protocol. The slots
    enumerate a set of identified sources, such that all MT events
    can be passed independently and selectively per identified source.

    The protocol works like this: Instead of sending a SYN_MT_REPORT
    event immediately after the contact data, one sends an ABS_MT_SLOT
    event immediately before the contact data. The input core will only
    emit events for slots with modified MT events. It is assumed that
    the same slot is used for the duration of an initiated contact.

    Acked-by: Ping Cheng
    Acked-by: Chase Douglas
    Acked-by: Rafi Rubin
    Signed-off-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     

24 Jun, 2010

1 commit

  • Some devices, in particular MT devices, produce a lot of data. This
    may lead to overflowing of the event queues in evdev driver, which
    by default are fairly small. Let the drivers hint the average number
    of events per packet generated by the device, and use that information
    when computing the buffer size evdev should use for the device.

    Signed-off-by: Henrik Rydberg
    Acked-by: Chase Douglas
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     

21 May, 2010

1 commit


14 Apr, 2010

1 commit

  • 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: Bryan Wu
    Signed-off-by: Michael Hennerich
    Signed-off-by: Barry Song
    Signed-off-by: Mike Frysinger
    Signed-off-by: Dmitry Torokhov

    Bryan Wu
     

09 Mar, 2010

1 commit

  • The HID layer has some scan codes of the form 0xffbc0000 for logitech
    devices which do not work if scancode is typed as signed int, so we need
    to switch to unsigned it instead. While at it keycode being signed does
    not make much sense either.

    Acked-by: Márton Németh
    Acked-by: Matthew Garrett
    Acked-by: Jiri Kosina
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

02 Mar, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (62 commits)
    Input: atkbd - release previously reserved keycodes 248 - 254
    Input: add KEY_WPS_BUTTON definition
    Input: ads7846 - add regulator support
    Input: winbond-cir - fix suspend/resume
    Input: gamecon - use pr_err() and friends
    Input: gamecon - constify some of the setup structures
    Input: gamecon - simplify pad type handling
    Input: gamecon - simplify coordinate calculation for PSX
    Input: gamecon - fix some formatting issues
    Input: gamecon - add rumble support for N64 pads
    Input: wacom - add device type to device name string
    Input: s3c24xx_ts - report touch only when stylus is down
    Input: s3c24xx_ts - re-enable IRQ on resume
    Input: wacom - constify product features data
    Input: wacom - use per-device instance of wacom_features
    Input: sh_keysc - enable building on SH-Mobile ARM
    Input: wacom - get features from driver info
    Input: rotary-encoder - set gpio direction for each requested gpio
    Input: sh_keysc - update the driver with mode 6
    Input: sh_keysc - switch to using bitmaps
    ...

    Linus Torvalds
     

01 Mar, 2010

1 commit


26 Feb, 2010

3 commits

  • Keycodes in 248 - 254 range were reserved for special needs (scrolling)
    of atkbd driver. Now that the driver has been switched to use unsigned
    short keycodes instead of unsigned char we can release this range back
    into pull. We keep code 255 (ATKBD_KEY_NULL) reserved since users may
    have been using it to silence keys they do not care about since atkbd
    silently drops scancodes mapped to this keycode.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • The new key definition is supposed to be used for buttons that initiate
    WiFi Protected setup sequence:

    http://en.wikipedia.org/wiki/Wi-Fi_Protected_Setup

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (41 commits)
    HID: usbhid: initialize interface pointers early enough
    HID: extend mask for BUTTON usage page
    HID: hid-ntrig: Single touch mode tap
    HID: hid-ntrig: multitouch cleanup and fix
    HID: n-trig: remove unnecessary tool switching
    HID: hid-ntrig add multi input quirk and clean up
    HID: usbhid: introduce timeout for stuck ctrl/out URBs
    HID: magicmouse: coding style and probe failure fixes
    HID: remove MODULE_VERSION from new drivers
    HID: fix up Kconfig entry for MagicMouse
    HID: add a device driver for the Apple Magic Mouse.
    HID: Export hid_register_report
    HID: Support for MosArt multitouch panel
    HID: add pressure support for the Stantum multitouch panel
    HID: fixed bug in single-touch emulation on the stantum panel
    HID: fix typo in error message
    HID: add mapping for "AL Network Chat" usage
    HID: use multi input quirk for TouchPack touchscreen
    HID: make full-fledged hid-bus drivers properly selectable
    HID: make Wacom modesetting failures non-fatal
    ...

    Linus Torvalds
     

18 Feb, 2010

1 commit

  • 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: Matthew Garrett
    Acked-by: Marcel Holtmann
    Signed-off-by: Dmitry Torokhov

    Matthew Garrett
     

04 Feb, 2010

1 commit


03 Feb, 2010

1 commit


30 Jan, 2010

1 commit

  • 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: Dmitry Torokhov

    Dmitry Torokhov
     

29 Jan, 2010

1 commit

  • For pressure-based multi-touch devices, a direct way to send sensor
    intensity data per finger is needed. This patch adds the ABS_MT_PRESSURE
    event to the MT protocol.

    Requested-by: Yoonyoung Shim
    Requested-by: Mika Kuoppala
    Requested-by: Peter Hutterer
    Signed-off-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     

04 Jan, 2010

1 commit

  • 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 [for the input.h part]
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     

03 Dec, 2009

1 commit


02 Dec, 2009

1 commit

  • Keyboard handler should not attempt to traverse handler->h_list on
    its own, without any locking, otherwise it races with registering
    and unregistering of input handles which leads to crashes.

    Introduce input_handler_for_each_handle() helper that allows safely
    iterate over all handles attached to a particular handler and switch
    keyboard handler to use it.

    Reported-by: Jim Paradis
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

20 Nov, 2009

1 commit


11 Nov, 2009

1 commit

  • Now that input core acquires dev->event_lock spinlock and disables
    interrupts when propagating input events, using spin_lock_bh() in
    ff-memless driver is not allowed. Actually, the timer_lock itself
    is not needed anymore, we should simply use dev->event_lock
    as well.

    Also do a small cleanup in force-feedback core.

    Reported-by: kerneloops.org
    Reported-by: http://www.kerneloops.org/searchweek.php?search=ml_ff_set_gain
    Reported-by: Arjan van de Ven
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

06 Nov, 2009

1 commit


03 Nov, 2009

1 commit


18 Sep, 2009

1 commit


20 Jun, 2009

1 commit


24 May, 2009

1 commit

  • There are a few multi-touch devices that support finger tracking
    well in hardware, Stantum being the prime example. By exposing the
    tracking ID in the MT protocol, evdev bandwidth and cpu usage in
    user space can be reduced.

    This patch adds the ABS_MT_TRACKING_ID to the MT protocol.

    Signed-off-by: Henrik Rydberg
    Tested-by: Stéphane Chatty
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     

29 Apr, 2009

2 commits

  • 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: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    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: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     

24 Mar, 2009

1 commit


16 Jan, 2009

1 commit


07 Jan, 2009

1 commit


25 Dec, 2008

1 commit


19 Dec, 2008

1 commit


10 Dec, 2008

1 commit

  • Some systems support both mechanical and electrical jack detection,
    allowing them to report that a jack is physically present but does
    not have any functioning connections. Add a new jack type for these,
    allowing user space to report faulty connections.

    Thanks to Guillem Jover for the suggestion.

    Signed-off-by: Mark Brown
    Signed-off-by: Takashi Iwai

    Mark Brown
     

13 Nov, 2008

1 commit

  • On macbooks there are specific keys for the user-space functions Expose
    and Dashboard, which currently has no counterpart in input.h. This patch
    adds KEY_SCALE and KEY_DASHBOARD, and maps the keyboard accordingly.

    Acked-by: Dmitry Torokhov
    Signed-off-by: Henrik Rydberg
    Signed-off-by: Jiri Kosina

    Henrik Rydberg
     

27 Oct, 2008

1 commit


30 Jul, 2008

2 commits