summaryrefslogtreecommitdiffstats
path: root/sys/dev/pckbc
AgeCommit message (Collapse)AuthorFilesLines
2020-10-231. Work around a firmware bug of some Elantech-v1 touchpads.bru1-7/+20
2. Remove obsolete code from the v1-/v2-packet handlers (coordinate values are ignored if z is 0).
2020-08-10Get Elantech v1 touchpad with fw version 0x20022 working.mglocker1-2/+7
From sxvghd (at) firemail (dot) cc, on tech@
2020-07-04Fix intermittent failing device initialization seen on some Synapticsmglocker1-9/+10
devices which has been re-introduced by pms.c revision 1.92. ok tb@
2020-03-181. Run Synaptics touchpads in plain W-mode. 2. Update the AGM-check.bru2-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@
2020-01-22Unbreak !DIAGNOSTIC build.mpi1-1/+3
From Andrius V vezhlys (at) gmail, on bugs@
2019-09-20Extend the identification and validation of elantech-v4 packets to thebru2-20/+41
"crc-enabled" format. ok awolk@
2019-08-19Accept more elantech-v4 models, and apply a test for external buttons.bru1-7/+8
Thanks to Alexander Cronheim. ok mpi@
2019-05-11Add the colemak keyboard layout.abieber1-1/+25
OK deraadt@
2019-01-26Wait a bit for the set mode command to complete for Synaptics devices tomglocker1-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@
2018-05-22Do not overwrite `table' in the non-translating case.mpi1-3/+3
This ensures the keyboard is using the expected scancode. From miod@, problem also noticed by Markus Hennecke, ok otto@
2018-05-13Add support for Elantech trackpoints to pms. Extend the list ofbru2-9/+63
"IC types" that identify Elantech-V4 touchpads. Thanks to Ryan Lennox for help and testing. ok mpi@
2018-04-29'juming' -> 'jumping' in comment.krw1-2/+2
Pointed out by Ryan Lennox via tech@
2018-01-29pms: minor cleanups in the alps code.bru2-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.
2018-01-06pckbd: don't change translation mode if controller is in table 2jcs1-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.
2017-12-04add the alps touchpad that can be found in the ideapad 710srobert1-1/+2
ok mpi@
2017-11-14Detect touchpad reset announcements. On rare occasions, the touchpad is resetanton1-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@
2017-11-14Print out the offending data causing pms sync to fail.anton1-3/+5
ok bru@, mpi@ (as part of a larger diff)
2017-10-28Adapt the Elantech handlers (v1-3) to the new wsmouse infrastructure.bru1-93/+86
The new versions use wsmouse_configure, and leave compat-mode handling to wsmouse. ok stsp
2017-08-26bug fixbru1-2/+2
2017-08-25Query the lower coordinate limits.bru2-20/+31
2017-07-21Show Synaptics Model IDs.bru1-3/+5
2017-06-18pms/alps: configure compat modebru1-58/+48
2017-06-06Set the weak variant of hysteresis as default.bru1-7/+2
2017-05-08improved coordinate filtersbru1-2/+7
ok mpi@
2017-03-06Use nitems() when passing all known parameters to wsmouse_configure().mpi1-4/+3
ok bru@
2017-02-27pms/elantech-v4: configure wsmouse for handling compat-modebru1-30/+25
ok @matthieu @stsp @mpi
2017-02-27pms/synaptics: configure wsmouse for handling compat-modebru1-61/+56
ok @matthieu @stsp @mpi
2016-10-23Improved parameter handling in wsmouse and new ioctls for reading andbru1-6/+10
setting parameter values. ok matthieu@
2016-08-31sys/arch/sgi/hpc/wskbdmap_sgi.c should be regen'd too.jca1-1/+2
Requested by miod
2016-08-31Estonian keymapjca1-1/+37
Original diff from Taavi Tani in 2005 (!), adapted to -current by Mart Tonso. ok mpi@
2016-05-22Use the new input functions of wsmouse in mouse and touchscreen drivers.bru1-3/+2
ok kettenis@
2016-04-14Re-enable pckbd on resume (similar to what we do on boot). Fixes problemsmlarkin1-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.
2016-03-30Add support for multitouch input to wsmouse.bru1-127/+79
This change adds new input-processing functions to wsmouse and adapts the touchpad drivers. ok mpi@, shadchin@
2016-02-27pakets -> packetsmmcc1-2/+2
2015-09-05Support Synaptics touchpads without W mode.bru2-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@
2015-09-05Improve tap-and-drag detection for ALPS touchpads.bru2-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@
2015-08-23fairly trivial sizes for free()deraadt1-7/+12
2015-07-20Tweak previous; the Synaptics TrackPoint in my ThinkPad T500 works again.kspillner1-2/+5
ok krw@
2015-07-19Don't emit values for 'width' thatkrw1-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@
2015-06-08pms(4): Don't match Elantech v4 devices with firmware versions 0xX7XXXX.stsp1-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@
2015-05-25Match newer elantech v4 touchpads, logic taken from Linux.mpi1-2/+2
Based on a submission from and ok jcs@.
2015-05-04Print irq informations in pckbc_set_inputhandler().mpi2-6/+6
ok miod@
2015-04-10Add support for CRC-enabled elantech v3 touchpads.stsp1-12/+29
Patch by Fasse <fasse.f2@gmail.com> ok mpi@
2015-03-26Use the 0x10 extended capability to determine if the trackstickjsg2-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@
2015-03-16Revert 1.39. Resetting after specifically putting the keyboard in ajcs1-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
2015-03-14Remove some includes include-what-you-use claims don'tjsg1-2/+1
have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels. ok tedu@ deraadt@
2015-03-12On first cnpoll, reset the keyboard and pms hard. This is requiredderaadt1-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
2015-02-09Complete rewrite of the Elantech clickpads v4 packet parser in order tompi1-56/+86
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.
2015-01-15Define a new wscons mouse type for Synaptics clickpad devices that lackjsg1-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@
2015-01-07Only MS IntelliMouse have a Z axis, prevent a false positive triggeredmpi1-8/+4
by -Wuninitialized reported by jsg@. ok stsp@