06 Aug, 2011

1 commit


05 Jul, 2011

1 commit

  • Put parentheses around macro argument uses. This avoids pitfalls
    for the programmer, where the argument expansion does not give the
    expected result, for example:

    ioctl (fd, EVIOCGABS (have_mt ? ABS_MT_POSITION_X : ABS_X), &abs);

    Signed-off-by: Simon Budig
    Signed-off-by: Dmitry Torokhov

    Simon Budig
     

19 Apr, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: xen-kbdfront - fix mouse getting stuck after save/restore
    Input: estimate number of events per packet
    Input: evdev - indicate buffer overrun with SYN_DROPPED
    Input: document event types and codes and their intended use
    Input: add KEY_IMAGES specifically for AL Image Browser
    Input: twl4030_keypad - fix potential NULL dereference in twl4030_kp_probe()
    Input: h3600_ts - fix error handling at connect
    Input: twl4030_keypad - avoid potential NULL-pointer dereference

    Linus Torvalds
     

13 Apr, 2011

2 commits

  • Add a new EV_SYN code, SYN_DROPPED, to inform the client when input
    events have been dropped from the evdev input buffer due to a
    buffer overrun. The client should use this event as a hint to
    reset its state or ignore all following events until the next
    packet begins.

    Signed-off-by: Jeff Brown
    [dtor@mail.ru: Implement Henrik's suggestion and drop old events in
    case of overflow.]
    Signed-off-by: Dmitry Torokhov

    Jeff Brown
     
  • Many media center remotes have buttons intended for jumping straight to
    one type of media browser or another -- commonly, images/photos/pictures,
    audio/music, television, and movies. At present, remotes with an images
    or photos or pictures button use any number of different keycodes which
    sort of maybe fit. I've seen at least KEY_MEDIA, KEY_CAMERA,
    KEY_GRAPHICSEDITOR and KEY_PRESENTATION. None of those seem quite right.
    In my mind, KEY_MEDIA should be something more like a media center
    application launcher (and I'd like to standardize on that for things
    like the windows media center button on the mce remotes). KEY_CAMERA is
    used in a lot of webcams, and typically means "take a picture now".
    KEY_GRAPHICSEDITOR implies an editor, not a browser. KEY_PRESENTATION
    might be the closest fit here, if you think "photo slide show", but it
    may well be more intended for "run application in full-screen
    presentation mode" or to launch something like magicpoint, I dunno.
    And thus, I'd like to have a KEY_IMAGES, which matches the HID Usage AL
    Image Browser, the meaning of which I think is crystal-clear. I believe
    AL Audio Browser is already covered by KEY_AUDIO, and AL Movie Browser
    by KEY_VIDEO, so I'm also adding appropriate comments next to those
    keys.

    Signed-off-by: Jarod Wilson
    Signed-off-by: Dmitry Torokhov

    Jarod Wilson
     

28 Mar, 2011

1 commit

  • These keys are supposed to be handled by any software
    using the camera (like webKam or cheese...). They can
    also be used to actually move the camera when possible.

    Signed-off-by: Corentin Chary
    Signed-off-by: Matthew Garrett

    Corentin Chary
     

01 Feb, 2011

1 commit


14 Jan, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: add SW_ROTATE_LOCK switch type
    Input: fix force feedback capability query example
    Input: wacom_w8001 - add single-touch support
    Input: add Austria Microsystem AS5011 joystick driver
    Input: remove aaed2000 keyboard driver
    Input: i8042 - introduce 'notimeout' blacklist for Dell Vostro V13
    Input: cy8ctmg110_ts - Convert to dev_pm_ops
    Input: migor_ts - convert to dev_pm_ops
    Input: mcs5000_ts - convert to dev_pm_ops
    Input: eeti_ts - convert to dev_pm_ops
    Input: ad7879 - convert I2C to dev_pm_ops

    Linus Torvalds
     

12 Jan, 2011

2 commits


08 Jan, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (58 commits)
    Input: wacom_w8001 - support pen or touch only devices
    Input: wacom_w8001 - use __set_bit to set keybits
    Input: bu21013_ts - fix misuse of logical operation in place of bitop
    Input: i8042 - add Acer Aspire 5100 to the Dritek list
    Input: wacom - add support for digitizer in Lenovo W700
    Input: psmouse - disable the synaptics extension on OLPC machines
    Input: psmouse - fix up Synaptics comment
    Input: synaptics - ignore bogus mt packet
    Input: synaptics - add multi-finger and semi-mt support
    Input: synaptics - report clickpad property
    input: mt: Document interface updates
    Input: fix double equality sign in uevent
    Input: introduce device properties
    hid: egalax: Add support for Wetab (726b)
    Input: include MT library as source for kerneldoc
    MAINTAINERS: Update input-mt entry
    hid: egalax: Add support for Samsung NB30 netbook
    hid: egalax: Document the new devices in Kconfig
    hid: egalax: Add support for Wetab
    hid: egalax: Convert to MT slots
    ...

    Fixed up trivial conflict in drivers/input/keyboard/Kconfig

    Linus Torvalds
     

07 Jan, 2011

1 commit


29 Dec, 2010

1 commit

  • The patch fixes the rc-tbs-nec table after converting
    drivers/media/video/cx88 to ir-core
    (commit ba7e90c9f878e0ac3c0614a5446fe5c62ccc33ec).

    It is also adds two missing buttons (10- and 10+) with
    its definition (KEY_10CHANNELSUP and KEY_10CHANNELSDOWN).

    [mchehab@redhat.com: move keycode numbers to 0x1b8/0x1b9 as requested by the input Maintainer]
    Signed-off-by: Mariusz Białończyk
    Signed-off-by: Mauro Carvalho Chehab

    Mariusz Białończyk
     

28 Dec, 2010

1 commit


20 Dec, 2010

1 commit

  • 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: Ping Cheng
    Acked-by: Chase Douglas
    Acked-by: Dmitry Torokhov
    Signed-off-by: Henrik Rydberg

    Henrik Rydberg
     

17 Dec, 2010

1 commit


16 Dec, 2010

3 commits

  • Touch devices capable of hovering, i.e., fingers detected a
    distance from the surface, are not supported by the current
    input MT protocol. This patch adds ABS_MT_DISTANCE, which may
    be used to indicate the distance between the contact and the
    surface.

    Signed-off-by: Henrik Rydberg

    Henrik Rydberg
     
  • The drivers using the type B protocol all report tracking information
    the same way. The contact id is semantically equivalent to
    ABS_MT_SLOT, and the handling of ABS_MT_TRACKING_ID only complicates
    the driver. The situation can be improved upon by providing a common
    pointer emulation code, thereby removing the need for the tracking id
    in the driver. This patch moves all tracking event handling over to
    the input core, simplifying both the existing drivers and the ones
    currently in preparation.

    Acked-by: Ping Cheng
    Acked-by: Jiri Kosina
    Signed-off-by: Henrik Rydberg

    Henrik Rydberg
     
  • In preparation for common code to handle a larger set of MT slots
    devices, move the slots handling over to a separate file.

    Signed-off-by: Henrik Rydberg

    Henrik Rydberg
     

15 Dec, 2010

1 commit

  • The desire to keep old names for the EVIOCGKEYCODE/EVIOCSKEYCODE while
    extending them to support large scancodes was a mistake. While we tried
    to keep ABI intact (and we succeeded in doing that, programs compiled
    on older kernels will work on newer ones) there is still a problem with
    recompiling existing software with newer kernel headers.

    New kernel headers will supply updated ioctl numbers and kernel will
    expect that userspace will use struct input_keymap_entry to set and
    retrieve keymap data. But since the names of ioctls are still the same
    userspace will happily compile even if not adjusted to make use of the
    new structure and will start miraculously fail in the field.

    To avoid this issue let's revert EVIOCGKEYCODE/EVIOCSKEYCODE definitions
    and add EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 so that userspace can explicitly
    select the style of ioctls it wants to employ.

    Reviewed-by: Henrik Rydberg
    Acked-by: Jarod Wilson
    Acked-by: Mauro Carvalho Chehab
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

01 Dec, 2010

2 commits

  • Add documentation for struct input_absinfo that is used in EVIOCGABS
    and EVIOCSABS ioctl and specify units of measure used for reporting
    resolution for an axis.

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

    Dmitry Torokhov
     
  • Some laptops will have a "touchpad toggle" soft button, which expects
    user-space to turn off the touchpad themselves, some other devices will
    do this in hardware, but send key events telling us that the touchpad
    has been turned off/on.

    KEY_TOUCHPAD_ON/KEY_TOUCHPAD_OFF will be used by user-space to show a
    popup with the status of the touchpad.

    Signed-off-by: Bastien Nocera
    Signed-off-by: Dmitry Torokhov

    Bastien Nocera
     

04 Nov, 2010

1 commit

  • KGDB, much like the resume process, needs to be able to mark all keys that
    were pressed at the time we dropped into the debuggers as "released", since
    it is unlikely that the keys stay pressed for the entire duration of the
    debug session.

    Also we need to make sure that input_reset_device() and input_dev_suspend()
    only attempt to change state of currenlt opened devices since closed devices
    may not be ready to accept IO requests.

    Tested-by: Jason Wessel
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

25 Oct, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (75 commits)
    Input: wacom - specify Cinitq supported tools
    Input: ab8500-ponkey - fix IRQ freeing in error path
    Input: adp5588-keys - use more obvious i2c_device_id name string
    Input: ad7877 - switch to using threaded IRQ
    Input: ad7877 - use attribute group to control visibility of attributes
    Input: serio - add support for PS2Mult multiplexer protocol
    Input: wacom - properly enable runtime PM
    Input: ad7877 - filter events where pressure is beyond the maximum
    Input: ad7877 - implement EV_KEY:BTN_TOUCH reporting
    Input: ad7877 - implement specified chip select behavior
    Input: hp680_ts_input - use cancel_delayed_work_sync()
    Input: mousedev - correct lockdep annotation
    Input: ads7846 - switch to using threaded IRQ
    Input: serio - support multiple child devices per single parent
    Input: synaptics - simplify pass-through port handling
    Input: add ROHM BU21013 touch panel controller support
    Input: omap4-keypad - wake-up on events & long presses
    Input: omap4-keypad - fix interrupt line configuration
    Input: omap4-keypad - SYSCONFIG register configuration
    Input: omap4-keypad - use platform device helpers
    ...

    Linus Torvalds
     

10 Sep, 2010

1 commit

  • 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: Mauro Carvalho Chehab
    Signed-off-by: Dan Carpenter
    Signed-off-by: Jarod Wilson
    Signed-off-by: Dmitry Torokhov

    Mauro Carvalho Chehab
     

06 Sep, 2010

1 commit


20 Aug, 2010

1 commit


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