- 07 10月, 2011 1 次提交
-
-
由 Dmitry Torokhov 提交于
CONFIG_PM is defined when CONFIG_PM_SLEEP or CONFIG_PM_RUNTIME is defined, however suspend and resume methods are only valid in context of CONFIG_PM_SLEEP. If only CONFIG_PM_RUNTIME is defined we get the following warning (courtesy of Geerts randconfig builds): synaptics_i2c.c: warning: 'synaptics_i2c_resume' defined but not used Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 21 9月, 2011 2 次提交
-
-
由 JJ Ding 提交于
This essentially reverts commit f81bc788. With recent work on elantech driver, I believe we now have complete support for all elantech touchpads. So remove this hack. Signed-off-by: NJJ Ding <jj_ding@emc.com.tw> Reviewed-by: NÉric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 JJ Ding 提交于
V2 hardware has many variants. This patch adddresses two issues: - some model also has debounce packets, but with a different signature than v3. Now we just check debounce for all v2 hardware. - due to different scanning methods the hardware uses, x and y ranges have to be calculated differently. And for some specific versions, we can just see them as custom-made, so set {x, y} the same values as Windows driver does. Signed-off-by: NJJ Ding <jj_ding@emc.com.tw> Tested-by: NRichard Schütz <r.schtz@t-online.de> Reviewed-by: NÉric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 10 9月, 2011 8 次提交
-
-
由 JJ Ding 提交于
v4 hardware is a true multitouch capable touchpad (up to 5 fingers). The packet format is quite complex, please see protocol document for reference. Signed-off-by: NJJ Ding <jj_ding@emc.com.tw> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 JJ Ding 提交于
v3 hardware's packet format is almost identical to v2 (one/three finger touch), except when sensing two finger touch, the hardware sends 12 bytes of data. Signed-off-by: NJJ Ding <jj_ding@emc.com.tw> Acked-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NÉric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 JJ Ding 提交于
Group property setting code into elantech_set_properties. Signed-off-by: NJJ Ding <jj_ding@emc.com.tw> Acked-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NÉric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 JJ Ding 提交于
For v2 hardware, there is no real parity check, but we can still check some constant bits for data integrity. Also rename elantech_check_parity_v1 to elantech_packet_check_v1 to make these packet checking function names consistent. Signed-off-by: NJJ Ding <jj_ding@emc.com.tw> Acked-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NÉric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 JJ Ding 提交于
Don't try to be too clever and remove ETP_EDGE_FUZZ_V2. X, Y ranges should be just the raw resolution of the device. Otherwise, they can cause underflow on the Y axis. Suggested-by: NÉric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NJJ Ding <jj_ding@emc.com.tw> Acked-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NÉric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 JJ Ding 提交于
With newer hardware, the touchpad provides range info. Let's use it. Signed-off-by: NJJ Ding <jj_ding@emc.com.tw> Acked-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NÉric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 JJ Ding 提交于
For two finger touches the coordinate of each finger gets reported separately but with reduced resolution. With this change, we now have the same range for ST and MT data and scale MT data because it has lower resolution to match ST. Suggested-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NJJ Ding <jj_ding@emc.com.tw> Acked-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NÉric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 JJ Ding 提交于
x, y values are actually 12-bit long. Also update protocol document to reflect the change. Signed-off-by: NJJ Ding <jj_ding@emc.com.tw> Acked-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NÉric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 08 9月, 2011 1 次提交
-
-
由 Yong Zhang 提交于
This flag is a NOOP and can be removed now. Signed-off-by: NYong Zhang <yong.zhang0@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 24 8月, 2011 7 次提交
-
-
由 Daniel Kurtz 提交于
Synaptics image sensor touchpads track up to 5 fingers, but only report 2. They use a special "TYPE=2" (AGM-CONTACT) packet type that reports the number of tracked fingers and which finger is reported in the SGM and AGM packets. With this new packet type, it is possible to tell userspace when 4 or 5 fingers are touching. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Synaptics image sensor touchpads track 5 fingers, but only report 2. This patch attempts to deal with some idiosyncrasies of these touchpads: * When there are 3 or more fingers, only two are reported. * The touchpad tracks the 5 fingers in slot[0] through slot[4]. * It always reports the lowest and highest valid slots in SGM and AGM packets, respectively. * The number of fingers is only reported in the SGM packet. However, the number of fingers can change either before or after an AGM packet. * Thus, if an SGM reports a different number of fingers than the last SGM, it is impossible to tell whether the intervening AGM corresponds to the old number of fingers or the new number of fingers. * For example, when going from 2->3 fingers, it is not possible to tell whether tell AGM contains slot[1] (old 2nd finger) or slot[2] (new 3rd finger). * When fingers are added one at at time, from 1->2->3, it is possible to track which slots are contained in the SGM and AGM packets: 1 finger: SGM = slot[0], no AGM 2 fingers: SGM = slot[0], AGM = slot[1] 3 fingers: SGM = slot[0], AGM = slot[2] * It is also possible to track which slot is contained in the SGM when 1 of 2 fingers is removed. This is because the touchpad sends a special (0,0,0) AGM packet whenever all fingers are removed except slot[0]: Last AGM == (0,0,0): SGM contains slot[1] Else: SGM contains slot[0] * However, once there are 3 fingers, if exactly 1 finger is removed, it is impossible to tell which 2 slots are contained in SGM and AGM. The (SGM,AGM) could be (0,1), (0,2), or (1,2). There is no way to know. * Similarly, if two fingers are simultaneously removed (3->1), then it is only possible to know if SGM still contains slot[0]. * Since it is not possible to reliably track which slot is being reported, we invalidate the tracking_id every time the number of fingers changes until this ambiguity is resolved when: a) All fingers are removed. b) 4 or 5 fingers are touched, generates an AGM-CONTACT packet. c) All fingers are removed except slot[0]. In this special case, the ambiguity is resolved since by the (0,0,0) AGM packet. Behavior of the driver: When 2 or more fingers are present on the touchpad, the kernel reports up to two MT-B slots containing the position data for two of the fingers reported by the touchpad. If the identity of a finger cannot be tracked when the number-of-fingers changes, the corresponding MT-B slot will be invalidated (track_id set to -1), and a new track_id will be assigned in a subsequent input event report. The driver always reports the total number of fingers using one of the EV_KEY/BTN_TOOL_*TAP events. This could differ from the number of valid MT-B slots for two reasons: a) There are more than 2 fingers on the pad. b) During ambiguous number-of-fingers transitions, the correct track_id for one or both of the slots cannot be determined, so the slots are invalidated. Thus, this is a hybrid singletouch/MT-B scheme. Userspace can detect this behavior by noting that the driver supports more EV_KEY/BTN_TOOL_*TAP events than its maximum EV_ABS/ABS_MT_SLOT. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
A Synaptics image sensor tracks 5 fingers, but can only report 2. The algorithm for choosing which 2 fingers to report and in which packet: Touchpad maintains 5 slots, numbered 0 to 4 Initially all slots are empty As new fingers are detected, assign them to the lowest available slots The touchpad always reports: SGM: lowest numbered non-empty slot AGM: highest numbered non-empty slot, if there is one In addition, these touchpads have a special AGM packet type which reports the number of fingers currently being tracked, and which finger is in each of the two slots. Unfortunately, these "TYPE=2" packets are only used when more than 3 fingers are being tracked. When less than 4 fingers are present, the 'w' value must be used to track how many fingers are present, and knowing which fingers are being reported is much more difficult, if not impossible. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Synaptics makes (at least) two kinds of touchpad sensors: * Older pads use a profile sensor that could only infer the location of individual fingers based on the projection of their profiles onto row and column sensors. * Newer pads use an image sensor that can track true finger position using a two-dimensional sensor grid. Both sensor types support an "Advanced Gesture Mode": When multiple fingers are detected, the touchpad sends alternating "Advanced Gesture Mode" (AGM) and "Simple Gesture Mode" (SGM) packets. The AGM packets have w=2, and contain reduced resolution finger data The SGM packets have w={0,1} and contain full resolution finger data Profile sensors try to report the "upper" (larger y value) finger in the SGM packet, and the lower (smaller y value) in the AGM packet. However, due to the nature of the profile sensor, they easily get confused when fingers cross, and can start reporting the x-coordinate of one with the y-coordinate of the other. Thus, for profile sensors, "semi-mt" was created, which reports a "bounding box" created by pairing min and max coordinates of the two pairs of reported fingers. Image sensors can report the actual coordinates of two of the fingers present. This patch detects if the touchpad is an image sensor and reports finger data using the MT-B protocol. NOTE: This patch only adds partial support for 2-finger gestures. The proper interpretation of the slot contents when more than two fingers are present is left to later patches. Also, handling of 'number of fingers' transitions is incomplete. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
When a Synaptics touchpad is in "AGM" mode, and multiple fingers are detected, the touchpad sends alternating "Advanced Gesture Mode" (AGM) and "Simple Gesture Mode" (SGM) packets. The AGM packets have w=2, and contain reduced resolution finger data. The SGM packets have w={0,1} and contain full resolution finger data. Refactor the parsing of agm packets to its own function, and rename the synaptics_data.mt field to .agm to indicate that it contains the contents of the last agm packet. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Synaptics touchpads report increasing y from bottom to top. This is inverted from normal userspace "top of screen is 0" coordinates. Thus, the kernel driver reports inverted y coordinates to userspace. This patch refactors this inversion. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 17 8月, 2011 1 次提交
-
-
由 Andrew Drake 提交于
New MacBook Pro devices reporting product name MacBookPro8,2 come with newer/higher resolution touchpads than others with the same product name with USB ID 05ac:0252. This patch adds support for these devices. Signed-off-by: NAndrew Drake <adrake@adrake.org> Reviewed-by: NWanlong Gao <gaowanlong@cn.fujitsu.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 09 8月, 2011 1 次提交
-
-
由 Joshua V. Dillon 提交于
Added USB device IDs for MacBookAir4,2 trackpad. Device constants were copied from the MacBookAir3,2 constants. The 4,2 device specification is reportedly unchanged from the 3,2 predecessor and seems to work well. Signed-off-by: NJoshua V Dillon <jvdillon@gmail.com> Signed-off-by: NChase Douglas <chase.douglas@canonical.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 31 7月, 2011 1 次提交
-
-
由 Randy Dunlap 提交于
hgpk.c uses interfaces from linux/module.h, so it should include that file. This fixes build errors. Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 25 7月, 2011 1 次提交
-
-
由 Dmitry Torokhov 提交于
We were testing wrong bit in the extended capability query. Reported-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 13 7月, 2011 1 次提交
-
-
由 Axel Lin 提交于
We only care about if there is a successful match from the table (or no match at all), so let's make dmi_check_system return immediately instead of iterating thorough the whole table. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 10 7月, 2011 1 次提交
-
-
由 Dmitry Torokhov 提交于
Newer Synaptics firmware allows to query minimum coordinates reported by the device, let's use this data. Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 07 7月, 2011 4 次提交
-
-
由 Daniel Kurtz 提交于
AGM packets contain valid button bits, too. This patch refactors packet processing to parse button bits in AGM packets. However, they aren't actually used or reported. The point is to more completely process AGM packets, and prepare for future patches that may actually use AGM packet button bits. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Synaptics touchpads indicate via a capability bit when they perform reduced filtering on position data. In such a case, use a non-zero fuzz value. Fuzz = 8 was chosen empirically by observing the raw position data reported by a clickpad indicating it had reduced filtering. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Daniel Kurtz 提交于
Set resolution for MT_POSITION_X and MT_POSITION_Y to match ABS_X and ABS_Y, respectively. Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NChase Douglas <chase.douglas@canonical.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 29 6月, 2011 1 次提交
-
-
由 Hans-Christian Egtvedt 提交于
This patch updates the email address of the gpio_mouse, at32psif, and atmel-wm97xx drivers supported by me to an email account I will use on a more regular basis in the future. Signed-off-by: NHans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 28 6月, 2011 1 次提交
-
-
由 Jesper Juhl 提交于
It was pointed out by 'make versioncheck' that some includes of linux/version.h are not needed in drivers/input/. This patch removes them. Signed-off-by: NJesper Juhl <jj@chaosbits.net> Acked-by: NMike Frysinger <vapier@gentoo.org> Acked-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 20 5月, 2011 3 次提交
-
-
由 Geert Uytterhoeven 提交于
Up and down movements were reversed, left and right buttons were swapped. Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Michael Schmitz 提交于
Atarimouse fails to load as a module (with ENODEV), due to a brown paper bag bug, misinterpreting the semantics of atari_keyb_init(). [geert] Propagate the return value of atari_keyb_init() everywhere Signed-off-by: NMichael Schmitz <schmitz@debian.org> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
由 Michael Schmitz 提交于
The Atari keyboard driver calls atari_mouse_interrupt_hook if it's set, not atari_input_mouse_interrupt_hook. Fix below. [geert] Killed off atari_mouse_interrupt_hook completely, after fixing another incorrect assignment in atarimouse.c. Signed-off-by: NMichael Schmitz <schmitz@debian.org> Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
-
- 17 5月, 2011 3 次提交
-
-
由 Éric Piel 提交于
Apparently somewhere someone had a proprietary X driver. To get the multitouch info, it uses some hack on the normal API instead of using the multitouch protocol. Now that the multitouch info is transmitted correctly it makes not much sense to keep it. Especially because it's impossible to find this proprietary X driver anywhere, so the number of users must be very low. Signed-off-by: NÉric Piel <eric.piel@tremplin-utc.net> Reviewed-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Éric Piel 提交于
Multitouch info was reported only via a old protocol used by the proprietary X driver from elantech. Let's report the multitouch info also following the official MT protocol. It's semi-mt because the device only reports the lowest/highest coordinates. This was done following the multi-touch-protocol.txt documentation, and inspired by the bcm5974 and elantech implementations. Testing was light as there is not many applications using this protocol yet, but the X synaptics driver didn't complain and the X multitouch driver behaved correctly. Signed-off-by: NÉric Piel <eric.piel@tremplin-utc.net> Reviewed-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Éric Piel 提交于
Using the info of the Dell/Ubuntu driver, described in the protocol document, report both width and pressure when pressing 1 and 3 fingers, for the versions of the touchpad which support it. Signed-off-by: NÉric Piel <eric.piel@tremplin-utc.net> Reviewed-by: NHenrik Rydberg <rydberg@euromail.se> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 31 3月, 2011 2 次提交
-
-
由 Lucas De Marchi 提交于
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
-
由 Jan Beulich 提交于
'struct dmi_system_id' arrays must always have a terminator to keep dmi_check_system() from looking at data (and possibly crashing) it isn't supposed to look at. The issue went unnoticed until ef8313bb, but was introduced about a year earlier with 7705d548 (which also similarly changed lifebook.c, but the problem there got eliminated shortly afterwards). The first hunk therefore is a stable candidate back to 2.6.33, while the full change is needed only on 2.6.38. Signed-off-by: NJan Beulich <jbeulich@novell.com> Cc: stable@kernel.org Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 13 3月, 2011 1 次提交
-
-
由 Andy Botting 提交于
This patch add multitouch support for the MacBookPro8,1 and MacBookPro8,2 models. Cc: stable@kernel.org Signed-off-by: NAndy Botting <andy@andybotting.com> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se> Acked-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-