summaryrefslogtreecommitdiffstats
path: root/sys/dev/pckbc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 1. Work around a firmware bug of some Elantech-v1 touchpads.bru2020-10-231-7/+20
| | | | | 2. Remove obsolete code from the v1-/v2-packet handlers (coordinate values are ignored if z is 0).
* Get Elantech v1 touchpad with fw version 0x20022 working.mglocker2020-08-101-2/+7
| | | | From sxvghd (at) firemail (dot) cc, on tech@
* Fix intermittent failing device initialization seen on some Synapticsmglocker2020-07-041-9/+10
| | | | | | devices which has been re-introduced by pms.c revision 1.92. ok tb@
* 1. Run Synaptics touchpads in plain W-mode. 2. Update the AGM-check.bru2020-03-182-13/+24
| | | | | | | | | Enabling extended W-mode is unnecessary as long as pms does not process the additional packets properly. Thanks to David Demelier for his reports and tests. ok anton@ mpi@
* Unbreak !DIAGNOSTIC build.mpi2020-01-221-1/+3
| | | | From Andrius V vezhlys (at) gmail, on bugs@
* Extend the identification and validation of elantech-v4 packets to thebru2019-09-202-20/+41
| | | | | | "crc-enabled" format. ok awolk@
* Accept more elantech-v4 models, and apply a test for external buttons.bru2019-08-191-7/+8
| | | | | | Thanks to Alexander Cronheim. ok mpi@
* Add the colemak keyboard layout.abieber2019-05-111-1/+25
| | | | OK deraadt@
* Wait a bit for the set mode command to complete for Synaptics devices tomglocker2019-01-261-1/+7
| | | | | | | | | make sure that the device doesn't get enabled before, which would make it fail. Fixes regular occurring 'not in sync yet, discard input' issue seen on ThinkPad X1 Gen6. ok deraadt@
* Do not overwrite `table' in the non-translating case.mpi2018-05-221-3/+3
| | | | | | This ensures the keyboard is using the expected scancode. From miod@, problem also noticed by Markus Hennecke, ok otto@
* Add support for Elantech trackpoints to pms. Extend the list ofbru2018-05-132-9/+63
| | | | | | | | "IC types" that identify Elantech-V4 touchpads. Thanks to Ryan Lennox for help and testing. ok mpi@
* 'juming' -> 'jumping' in comment.krw2018-04-291-2/+2
| | | | Pointed out by Ryan Lennox via tech@
* pms: minor cleanups in the alps code.bru2018-01-292-7/+9
| | | | | | | | | | | 1. Update the ALPS_*_BEZEL values, which don't match the actual limits accurately. The new values are used by Linux for all models with the protocols "V1" and "V2". 2. Models with the ID 0x7331 are not supported properly, remove it from the list. 3. Report to wsmouse that multiple contacts aren't recognized.
* pckbd: don't change translation mode if controller is in table 2jcs2018-01-061-5/+13
| | | | | | | | | | | | | | | | This was changed a decade ago to forcibly try table 3 first in order to make some now-long-gone hardware work. Newer Lenovo machines seem to have trouble being asked to change modes which manifests as a long boot delay as it waits for each request to timeout, or by causing the keyboard to generate junk when typing. Assume table 2 by default and just leave it alone if it's already there. This is how Linux has operated for quite a while and seems to help on these Lenovo machines. Tested by a few with these machines and has been in snaps for a bit.
* add the alps touchpad that can be found in the ideapad 710srobert2017-12-041-1/+2
| | | | ok mpi@
* Detect touchpad reset announcements. On rare occasions, the touchpad is resetanton2017-11-141-1/+83
| | | | | | | | | | | | | due to power failure and an announcement is transmitted as input by the device making it detectable. At this point, the device must be re-enabled to continue working since any configuration done prior to the reset is lost. Detection is implemented using a watchdog and enabled for all protocols. So far, the announcement has been observed on Synaptics by me and on Elantech v4 by bru@. Extra care has been taken to handle potential false positives: when the announcement byte sequence is part of a valid input packet. with help and ok bru@, mpi@
* Print out the offending data causing pms sync to fail.anton2017-11-141-3/+5
| | | | ok bru@, mpi@ (as part of a larger diff)
* Adapt the Elantech handlers (v1-3) to the new wsmouse infrastructure.bru2017-10-281-93/+86
| | | | | | | The new versions use wsmouse_configure, and leave compat-mode handling to wsmouse. ok stsp
* bug fixbru2017-08-261-2/+2
|
* Query the lower coordinate limits.bru2017-08-252-20/+31
|
* Show Synaptics Model IDs.bru2017-07-211-3/+5
|
* pms/alps: configure compat modebru2017-06-181-58/+48
|
* Set the weak variant of hysteresis as default.bru2017-06-061-7/+2
|
* improved coordinate filtersbru2017-05-081-2/+7
| | | | ok mpi@
* Use nitems() when passing all known parameters to wsmouse_configure().mpi2017-03-061-4/+3
| | | | ok bru@
* pms/elantech-v4: configure wsmouse for handling compat-modebru2017-02-271-30/+25
| | | | ok @matthieu @stsp @mpi
* pms/synaptics: configure wsmouse for handling compat-modebru2017-02-271-61/+56
| | | | ok @matthieu @stsp @mpi
* Improved parameter handling in wsmouse and new ioctls for reading andbru2016-10-231-6/+10
| | | | | | setting parameter values. ok matthieu@
* sys/arch/sgi/hpc/wskbdmap_sgi.c should be regen'd too.jca2016-08-311-1/+2
| | | | Requested by miod
* Estonian keymapjca2016-08-311-1/+37
| | | | | Original diff from Taavi Tani in 2005 (!), adapted to -current by Mart Tonso. ok mpi@
* Use the new input functions of wsmouse in mouse and touchscreen drivers.bru2016-05-221-3/+2
| | | | ok kettenis@
* Re-enable pckbd on resume (similar to what we do on boot). Fixes problemsmlarkin2016-04-141-2/+30
| | | | | | | | | | on (at least) various HP laptops that previously had no working keyboard after resuming from 'zzz'. Reported by Aleksandar Lakic, who also verified several versions of the diff during development, thanks. discussed with miod and kettenis, tested by many others on tech@ - thanks.
* Add support for multitouch input to wsmouse.bru2016-03-301-127/+79
| | | | | | | This change adds new input-processing functions to wsmouse and adapts the touchpad drivers. ok mpi@, shadchin@
* pakets -> packetsmmcc2016-02-271-2/+2
|
* Support Synaptics touchpads without W mode.bru2015-09-052-26/+19
| | | | | | | Emulate W mode if a Synaptics model doesn't provide it, and check for the success of the resolution query during setup. ok shadchin@, mpi@
* Improve tap-and-drag detection for ALPS touchpads.bru2015-09-052-23/+43
| | | | | | | | | | | The ALPS mechanism for gesture detection can produce long delays between a packet that signals a tap and the next packet, which either signals the end of the gesture or the start of a drag-operation. The time spans can exceed the timeouts used by the generic detection mechanism in the synaptics driver. Reporting both the touch and the release event when the second packet has arrived ensures that the tap will be recognized. ok mpi@ shadchin@
* fairly trivial sizes for free()deraadt2015-08-231-7/+12
|
* Tweak previous; the Synaptics TrackPoint in my ThinkPad T500 works again.kspillner2015-07-201-2/+5
| | | | ok krw@
* Don't emit values for 'width' thatkrw2015-07-191-1/+21
| | | | | | | | | | | | /usr/xenocara/driver/xf86-input-synaptics/src/wsconscomm.c doesn't understand. 'Fixes' synaptics trackpad in Dell L400 laptop so the cursor can be moved in X. Problem noted and experimental Dell L400 donated by Paolo Aglialoro. Thanks! ok miod@ mpi@ jcs@
* pms(4): Don't match Elantech v4 devices with firmware versions 0xX7XXXX.stsp2015-06-081-2/+3
| | | | | | | | Apparently we don't support these touchpads properly so leave them in PS/2 compat mode. Regression reported by Remi Locherer on bugs@. And stop matching devices with firmware versions higher than 0xX8XXXX since we cannot be sure they work. ok mpi@
* Match newer elantech v4 touchpads, logic taken from Linux.mpi2015-05-251-2/+2
| | | | Based on a submission from and ok jcs@.
* Print irq informations in pckbc_set_inputhandler().mpi2015-05-042-6/+6
| | | | ok miod@
* Add support for CRC-enabled elantech v3 touchpads.stsp2015-04-101-12/+29
| | | | | Patch by Fasse <fasse.f2@gmail.com> ok mpi@
* Use the 0x10 extended capability to determine if the trackstickjsg2015-03-262-4/+43
| | | | | | | | | | | | | buttons are wired to the trackpad and need to be re-routed to the trackstick. Without this change the buttons on 2015 thinkpads get picked up as extended buttons that show up as scroll up/down. Remove the X1 Carbon 2015 (LEN0048) and X250 (LEN0046) from the top button area/soft buttons quirks list. Also avoid using the quirk list entirely if the capability bit is set. Based on work from jcs@ with feedback from mpi@ ok mpi@ jcs@
* Revert 1.39. Resetting after specifically putting the keyboard in ajcs2015-03-161-5/+2
| | | | | | | | | | | | different table will most likely just revert the keyboard to its default table anyway. Instead, just flush the kbd slot before choosing a table and then still forcefully enable the slot, which is enough to fix UKC on the 3rd gen X1 carbon while having a much smaller chance of breaking anything else. ok deraadt
* Remove some includes include-what-you-use claims don'tjsg2015-03-141-2/+1
| | | | | | | have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels. ok tedu@ deraadt@
* On first cnpoll, reset the keyboard and pms hard. This is requiredderaadt2015-03-121-1/+6
| | | | | | | to make "boot -c" support work on a variety of newer machines. Do not anticipate this harming older machines, but we'll have to wait and see with this change in the tree. with jcs
* Complete rewrite of the Elantech clickpads v4 packet parser in order tompi2015-02-091-59/+89
| | | | | | | | | | | support "click-and-drag". This implements a simple filter to keep track of a moving finger on the clickpad. For the moment wsmouse(4) and wscons(4) are still unaware of multitouch events and pms(4) has to do the translation, but this is a small steps in this direction. All the good work has been done by Ulf Brosziewski.
* Define a new wscons mouse type for Synaptics clickpad devices that lackjsg2015-01-151-2/+16
| | | | | | | | | | physical buttons. This will be used if the acpi pnpid for the mouse matches a list provided by Synaptics found in Linux. Combined with the xenocara changes this will remove the need for an xorg config file for the x240/t440/t540 generation of thinkpads. ok matthieu@ shadchin@ kettenis@
* Only MS IntelliMouse have a Z axis, prevent a false positive triggeredmpi2015-01-071-8/+4
| | | | | | by -Wuninitialized reported by jsg@. ok stsp@