aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/mouse
Commit message (Collapse)AuthorAge
* Input: ALPS - add interleaved protocol support (Dell E6x00 series)Sebastian Kapfer2009-12-16
| | | | | | | | | | | | | | | | | | Properly handle version of the protocol where standard PS/2 packets from trackpoint are stuffed into middle (byte 3-6) of the standard ALPS packets when both the touchpad and trackpoint are used together. The patch is based on work done by Matthew Chapman and additional research done by David Kubicek and Erik Osterholm: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/296610 Many thanks to David Kubicek for his efforts in researching fine points of this new version of the protocol, especially interaction between pad and stick in these models. Signed-off-by: Sebastian Kapfer <sebastian_kapfer@gmx.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ALPS - do not set REL_X/REL_Y capabilities on the touchpadDmitry Torokhov2009-12-12
| | | | | | | Relative events are only reported via secondary device therefore device associated with the touchpad should not advertise these capabilities. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - remove identification strings from DMI tablesDmitry Torokhov2009-12-05
| | | | | | | | The driver does not reference identification strings in DMI tables and since these strings are no longer required by DMI core we can safely remove them and save some memory. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - do not carry DMI data aroundDmitry Torokhov2009-12-04
| | | | | | | DMI tables use considerable amount of memory. Mark them as __initconst so they will be discarded once module is loaded. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge commit 'v2.6.32' into nextDmitry Torokhov2009-12-03
|\
| * Input: lifebook - fix settings for CF-72Abner Holsinger2009-11-17
| | | | | | | | | | | | | | | | Panasonic CF-72 uses 6-byte protocol and does not need to be tied to a particular port. Signed-off-by: Abner Holsinger <9zabner@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: psmouse - fix breakage introduced by b7802c5c1eaJiri Kosina2009-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit b7802c5c1ea ("Input: psmouse - use boolean type") caused the synaptics_hardware variable to be completely useless, as it is constantly set to 'true' throughout the whole psmouse_extensions(). This was caused by the following hunk in the commit in question - int synaptics_hardware = 0; + bool synaptics_hardware = true; which is wrong and causes driver to issue extra reset when falling back to bare PS/2 protocol. Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: psmouse - remove unneeded '\n' from psmouse.proto parameterTakashi Iwai2009-11-13
| | | | | | | | | | | | | | | | The get parameter function should return a string without a life-feed. Otherwise you'll see additional empty line in sysfs parameters file. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ALPS - add support for touchpads with 4-directional buttonMaxim Levitsky2009-11-20
| | | | | | | | | | | | | | | | | | | | | | | | The touchpad on Acer Aspire 5720, 5520 and some other Aspire models (signature 0x73, 0x02, 0x50) has a button that can be rocked in 4 different directions. Make the driver to generate BTN_0..BTN_3 events in response. The Synaptics driver by default maps BTN_0 and BTN_1 to up and down, so there should be no visible changes with the old setup that generated BTN_FORWARD and BTN_BACK (also mapped to up and down). Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: psmouse - rework setting of BTN_MIDDLE capabilityDmitry Torokhov2009-11-20
| | | | | | | | | | | | | | | | | | | | Do not start protocol detection assuming that middle mouse is present, instead let individual protocols explicitly set this capability. This fixes issue with Synaptics touchpads pretending that they have middle button when hardware clearly reports otherwise. Reported-and-tested-by: Andrey Borzenkov <arvidjaar@mail.ru> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: lifebook - do not advertise unsupported buttonsDmitry Torokhov2009-11-20
| | | | | | | | | | | | | | | | The main input device of Lifebook touchscreens does not generate left/right/middle button events and therefore should not be advertising them in its capabilities. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: elantech - do not advertise relative eventsDmitry Torokhov2009-11-20
| | | | | | | | | | | | | | Elantech touchpads work in absolute mode and do not generate relative events so they should not be advertising them. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: touchkit_ps2 - do not advertise unsupported buttonsDmitry Torokhov2009-11-20
| | | | | | | | | | | | | | Touchkit PS/2 touchscreen does not have left/right/middle buttons and should not be advertising as capable of generating these events. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge commit 'v2.6.32-rc6' into nextDmitry Torokhov2009-11-06
|\|
| * Input: logips2pp - model 73 is actually TrackMan FXDmitry Torokhov2009-10-18
| | | | | | | | | | Reported-and-tested-by: Harald Dunkel <harald.dunkel@t-online.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: synaptics - add another Protege M300 to rate blacklistDmitry Torokhov2009-10-13
| | | | | | | | | | | | | | | | | | | | | | Apparently some of Toshiba Protege M300 identify themselves as "Portable PC" in DMI so we need to add that to the DMI table as well. We need DMI data so we can automatically lower Synaptics reporting rate from 80 to 40 pps to avoid over-taxing their keyboard controllers. Tested-by: Rod Davison <roddavison@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: synaptic_i2c - make unnecessarily global functions staticDmitry Torokhov2009-11-03
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: vsxxxaa - change formatting style to match the rest of the kernelDmitry Torokhov2009-10-14
|/ | | | | | | | | - no spaces between function name and opening parenthesis - switch statements were indented too much This makes checkpatch (and me) happy. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: synaptics_i2c - switch to using __cancel_delayed_work()Dmitry Torokhov2009-09-18
| | | | | | | | cancel_delayed_work() may spin and therefore should not be used in interrupt contexts. Acked-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: libps2 - additional locking for i8042 portsDmitry Torokhov2009-09-18
| | | | | | | | | | | | | | | | | The serio ports on i8042 are not completely isolated; while we provide enough locking to ensure proper serialization when accessing control and data registers AUX and KBD ports can still have an effect on each other on PS/2 protocol level. The most prominent effect is that issuing a command for the device connected to one port may cause abort of the command currently executing by the device connected to another port. Since i8042 nor serio subsystem are not aware of the details of the PS/2 protocol (length of the commands and their replies and so on) the locking should be done on libps2 level by adding special handling when we see that we are dealing with serio port on i8042. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: bcm5974 - silence uninitialized variables warningsHenrik Rydberg2009-09-13
| | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - use boolean typeDmitry Torokhov2009-09-11
| | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: add new driver for Sentelic Finger Sensing PadTai-hwa Liang2009-08-20
| | | | | | | | This is the driver for Sentelic Finger Sensing Pad which can be found on MSI WIND Netbook. Signed-off-by: Tai-hwa Liang <avatar@sentelic.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - allow defining read-only attributesDmitry Torokhov2009-08-20
| | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: combine hil_kbd and hil_ptr driversDmitry Torokhov2009-08-09
| | | | | | | | | hil_kbd and hil_ptr look like twins so it makes sense to combine them into a single driver. [deller@gmx.de: add MODULE_ALIAS() entry for mouse] Tested-by: Helge Deller <deller@gmx.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: serio - don't use serio->write() directlyDmitry Torokhov2009-08-05
| | | | | | We have a nice wrapper for that. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: hgpk - forced recalibration for the OLPC touchpadPaul Fox2009-08-05
| | | | | | | | | | | | | | | | | | | The OLPC XO laptop incorporates a combination touchpad/tablet device which unfortunately requires frequent recalibration. The driver will force this automatically when various suspicious behaviors are observed, and the user can recalibrate manually (with a special keyboard sequence). There's currently no way, however, for an external program to cause recalibration. We can not use the reconnect capability which is already available in /sys because full reset of the touchpad takes 1.1 - 1.2 secons which is too long. This patch creates a new node in /sys which, when written with '1', will force a touchpad recalibration; no other writes (or reads) of this node are supported. Signed-off-by: Paul Fox <pgf@laptop.org> Acked-by: Andres Salomon <dilinger@collabora.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: gpio_mouse - use standard driver registration methodSaeed Bishara2009-07-08
| | | | | | | | This patch is needed when the gpio's became available only at late stages, for example, when using i2c gpio expander. Signed-off-by: Saeed Bishara <saeed@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: add driver for Synaptics I2C touchpadMike Rapoport2009-06-20
| | | | | | | | | | This driver supports Synaptics I2C touchpad controller on eXeda mobile device. Unfortunaltely it only works in relative mode and thus is not comaptible with Xorg Synaptics driver. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: synaptics - add support for reporting x/y resolutionTero Saarni2009-06-20
| | | | | | | | | | Synaptics uses anisotropic coordinate system. On some wide touchpads vertical resolution can be twice as high as horizontal which causes unequal sensitivity on x/y directions. Add support for reading the resolution with EVIOCGABS ioctl. Signed-off-by: Tero Saarni <tero.saarni@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ALPS - handle touchpoints buttons correctlyUlrich Dangel2009-06-11
| | | | | | | | | | | When pressing any button belonging to the touchpoint, the generated click events don't belong to the touchpoint but to the touchpad. This patch fixes this behaviour, the events will be sent via the correct device, so scrolling with touchpoint is possible. Signed-off-by: Ulrich Dangel <uli@spamt.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: appletouch - improve finger detectionJeremy Huddleston2009-06-03
| | | | | | | | | | | | | | | | | The appletouch driver is prone to reporting multiple fingers when only one is pressing. The appletouch driver queries an array of pressure sensors and counts local maxima in pressure to determine the number of fingers. It just does this on the raw values, so a data stream like: 0 100 250 300 299 300 250 100 0 actually registers as 2 fingers. This patch updates the logic to ignore small dips in pressure that are less than the threshold. Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - ESD workaround fix for OLPC XO touchpadZephaniah E. Hull2009-05-15
| | | | | | | | | | | | | | It appears that when the XO touchpad unit resets from ESD, it sends AA AA instead of AA 00, the psmouse-base code handles the case of AA 00 by triggering a serio reconnect for the port, causing a full reprobe of the device. Testing with OFW shows that this is likely to solve the problem, so the attached patch simply expands the existing test to also catch AA AA. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Deepak Saxena <dsaxena@laptop.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: lifebook - don't send incomplete eventsDmitry Torokhov2009-05-08
| | | | | | | | | | | When we get a relative packet from trackpoint (when we deal with touchscreen/trackpoint combo) we should not send events for the device corresponding to touchscreen as it confuses evtouch driver (it looks like it keeps previously reported absolute coordinates and the cursor stays in the same place). Reported-by: Marcin Drewka <laimoriel@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ALPS - Dell Latitude D630/D800 have DualPointDmitry Torokhov2009-05-08
| | | | | | | | Dell Latitude D630/D800 have DualPoint (touchpad plus trackpoint) instead of a simple touchpad and a pass-through port for external PS/2 mouse. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Merge branch 'for-linus' of ↵Linus Torvalds2009-05-02
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: document the multi-touch (MT) protocol Input: add detailed multi-touch finger data report protocol Input: allow certain EV_ABS events to bypass all filtering Input: bcm5974 - add documentation for the driver Input: bcm5974 - augment debug information Input: bcm5974 - Add support for the Macbook 5 (Unibody) Input: bcm5974 - add quad-finger tapping Input: bcm5974 - prepare for a new trackpad header type Input: appletouch - fix DMA to/from stack buffer Input: wacom - fix TabletPC touch bug Input: lifebook - add DMI entry for Fujitsu B-2130 Input: ALPS - add signature for Toshiba Satellite Pro M10 Input: elantech - make sure touchpad is really in absolute mode Input: elantech - provide a workaround for jumpy cursor on firmware 2.34 Input: ucb1400 - use disable_irq_nosync() in irq handler Input: tsc2007 - use disable_irq_nosync() in irq handler Input: sa1111ps2 - use disable_irq_nosync() in irq handlers Input: omap-keypad - use disable_irq_nosync() in irq handler
| * Input: bcm5974 - augment debug informationHenrik Rydberg2009-04-28
| | | | | | | | | | | | | | Add more button and finger data to the debug output. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: bcm5974 - Add support for the Macbook 5 (Unibody)Henrik Rydberg2009-04-28
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the new unibody Macbook, with physically integrated button and trackpad. Since the integrated button changes the logic for touch-and-click, a device capability bit mask is now reported in input_id.version, which can be picked up by user space via a EVIOCGID call. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Tested-by: David M. Lary <dmlary@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: bcm5974 - add quad-finger tappingHenrik Rydberg2009-04-28
| | | | | | | | | | | | | | | | | | | | | | | | 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 <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: bcm5974 - prepare for a new trackpad header typeHenrik Rydberg2009-04-28
| | | | | | | | | | | | | | | | | | | | | | The new unibody Macbooks are equipped with an integrated button and trackpad. The package header of the trackpad interface has changed to also contain information about the integrated button. This patch performs the necessary preparations to allow for the new package header. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: appletouch - fix DMA to/from stack bufferBob Copeland2009-04-28
| | | | | | | | | | | | | | | | | | | | CONFIG_DMA_API_DEBUG spotted an instance of appletouch using an array on the stack as a DMA buffer for certain hardware. Change it to use a kmalloc()ed buffer instead. Signed-off-by: Bob Copeland <me@bobcopeland.com> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: lifebook - add DMI entry for Fujitsu B-2130Dmitry Torokhov2009-04-24
| | | | | | | | | | | | | | | | Although we already have entry for ZEPHYR the match is done on product name whereas B-2130 BIOS has it in board name. Reported-by: Yuriy Zhuravlev <stalkerg@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: ALPS - add signature for Toshiba Satellite Pro M10Dmitry Torokhov2009-04-23
| | | | | | | | | | | | | | This toshiba has a touchpad with trackpoint and 2 sets of left and right buttons (above and below touchpad). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: elantech - make sure touchpad is really in absolute modeArjan Opmeer2009-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There exist laptops with Elantech touchpads where switching to absolute mode does not happen, although writing the configuration register succeeds without error. Reading back the register afterwards reveils that the absolute mode bit is not set as if masked out by the touchpad firmware. Always read back register 0x10, make sure that for hardware version 1 the absolute mode bit is actually set and fail otherwise. This prevents the case where the touchpad is claimed by the Elantech driver but is nonetheless not working. Signed-off-by: Arjan Opmeer <arjan@opmeer.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: elantech - provide a workaround for jumpy cursor on firmware 2.34Arjan Opmeer2009-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that Elantech touchpad firmware version 2.34 on the Hercules eCAFÉ suffers from a problem where bogus coordinates get reported at the beginning of a touch action. This causes the mouse cursor or the scrolled page to jump. Included patch provides a workaround that discards mouse packets that are likely to contain bogus coordinates. The workaround is activated when we detect touchpad with fimware version 2.34. Signed-off-by: Arjan Opmeer <arjan@opmeer.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | maple: input: fix up maple mouse driverAdrian McMenamin2009-04-26
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The maple mouse driver currently in mainline is broken: bash-3.1# modprobe maplemouse [ 56.886378] input: Dreamcast Mouse as /devices/virtual/input/input3 [ 56.918379] Unable to handle kernel NULL pointer dereference at virtual address 00000004 [ 56.930543] pc = c003304e [ 56.934973] *pde = 00000000 [ 56.944948] Oops: 0000 [#1] [ 56.947867] Modules linked in: maplemouse(+) [ 56.952353] [ 56.953921] Pid : 1157, Comm: \0x09\0x09modprobe [ 56.958021] CPU : 0 \0x09\0x09Not tainted (2.6.30-rc2-00130-g3e98f9f #1) [ 56.958052] [ 56.966567] PC is at dc_mouse_open+0xe/0x40 [maplemouse] [ 56.972125] PR is at input_open_device+0x8a/0xc0 [ 56.976944] PC : c003304e SP : 8c88bdcc SR : 40008100 TEA : c0033834 [ 56.983854] R0 : 000006c4 R1 : 00000000 R2 : 40008101 R3 : 00000000 [ 56.990744] R4 : 8c8db800 R5 : c0033080 R6 : 00000005 R7 : 00000200 [ 56.997635] R8 : 8c8db800 R9 : 8c8dbe3c R10 : 00000000 R11 : 8c98881c [ 57.004525] R12 : 8c8dbe64 R13 : 8ca50140 R14 : 8c88bdd4 [ 57.010063] MACH: 00000497 MACL: 00000348 GBR : 29674440 PR : 8c1b4d0a [ 57.016939] ... Here is a fix for this, keeping an open and close, so reducing the load on the system when the mouse is not in use, and also properly referencing the maple device buffer following the recent update. Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'next' into for-linusDmitry Torokhov2009-04-16
|\
| * Input: pc110pad - remove unused variable devIlpo Järvinen2009-04-15
| | | | | | | | | | | | | | | | dev is leftover from b0ee0d3eb31a163c958f2960906c44bcdfdc607b (Input: pc110pad - use no_pci_devices()). Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge branch 'next' into for-linusDmitry Torokhov2009-04-08
|\|
| * Merge commit 'v2.6.29-rc7' into nextDmitry Torokhov2009-03-08
| |\