summaryrefslogtreecommitdiff
path: root/sys/dev/pckbc
AgeCommit message (Collapse)Author
2014-07-24Speed up the boot sequence by deferring the scan of xt keyboard code set.Martin Pieuchot
If you were wondering why there's a pause of 5 seconds after loading the kernel and before seeing the copyright in blue when booting some of your machines, well this is for you! mlarkin@ found that this delay is caused by some code probing for xt scan code tables when pckbd(4) initialize the console keyboard. So this diff implements an idea from deraadt@ to only do the scan once, either during *attach() or if we enter ddb> or ukc> before that! ok miod@, mlarkin@, deraadt@, shadchin@
2014-07-12add a size argument to free. will be used soon, but for now default to 0.Ted Unangst
after discussions with beck deraadt kettenis.
2014-05-18Fix tail packet check in elantech v3 touchpad code. Due to a typo thisStefan Sperling
code was masking out bits which were also tested in the same expression. Reported by cppcheck via jsg@ (Expression '(X & 0xfc) != 0x2' is always true). Tested with Elantech Touchpad, version 3, firmware 0x250f00.
2014-04-25Do no reprobe for a supported protocol when enabling a pointingMartin Pieuchot
device of type PMS_STANDARD, probing during autoconf(9) is enough!. In such case, the device can be a simple PS/2 mouse, a unsupported touchpad or a downgraded touchpad if something bad happened. But it is very unlikely that reprobing will improve the situation and transform a standard mouse into a multitouch-aware touchpad ;) This fixes the 12 seconds delay seen on various Dell laptops (E4310 and Latitude D630) when starting Xorg, reported by Kārlis Miķelsons on bugs@. ok stsp@, dcoppa@, shadchin@
2014-03-23my bad, last commit was not ok deraadt, revert it.Alexandre Ratchov
2014-03-13Don't use volume keys when in raw-mode (this doesn't work), and letAlexandre Ratchov
Xorg driver do the translation and handle them as regular keys. Fixes confusion caused by the volume being changed twice in contradictory ways: once by X programs and once by the pckbd(4) driver. ok deraadt, kettenis
2014-01-26Attempt to make user changes of keyboard layout a bit more `sticky' on wsmuxMiod Vallat
kernels: - keyboard drivers will now tell wskbd if the keyboard layout they ask for is a default value, or a value they are 100% sure of (either because your kernel has a XXXKBD_LAYOUT option, or because the driver can tell the keyboard layout, e.g. by the country code on USB keyboards which provide it, such as Sun's) - when attaching a keyboard with a non-default layout, the layout will become the default layout of the mux for new keyboard attachments if the mux doesn't have a layout set already. - when changing the keyboard layout of a particular keyboard with an ioctl (i.e. using kbd(8) or wsconsctl(8)), the layout will become the default layout of the mux for new keyboard attachments. ok mpi@
2013-10-30Fix jagged diagonal lines (kernel part)Alexandr Shadchin
Send WSCONS_EVENT_SYNC every time you call wsmouse_input(). Used to synchronize and separate events into packets of input data changes occurring at the same moment in time. For example, motion of a mouse may set the DELTA_X and DELTA_Y values for one motion, then emit a SYNC. ok matthieu@. tested edd@, Henri Kemppainen and Alf Schlichting.
2013-09-20Use a working magic sequence to configure absolute mode for elantech v2.Stefan Sperling
The synaptics driver now attaches to elantech v2 touchpads. It seems these pads were always falling back to compat mode, which went unnoticed until r1.47. Fix based on a patch submitted by Cedric Tessier: http://marc.info/?l=openbsd-bugs&m=136904396518528&w=2 which in turn was probably based on parts of this patch: https://launchpadlibrarian.net/73099683/elantech.patch which updates the Linux driver code but isn't part of Torvald's Linux. Behaviour of elantech firmware versions seems to vary quite a bit so print the firmware version at attach time for reference in future bug reports. Fix tested by frantisek holop and Peter J. Philipp. ok mpi@
2013-09-03When /dev/wsmouse is opened right after resume, some synaptics touchpadsStefan Sperling
are still taking time to wake up. So make the pms(4) driver wait a little longer before giving up on them. Fixes mouse after resume on my x130e TP. ok mpi, earlier versions tested by weerd with no regressions seen
2013-09-03Only free the per-protocol descriptor if a touchpad cannot be correctlyMartin Pieuchot
identified during attach. This prevents the driver to downgrade itself to use the standard mouse protocol and reattach a new wsmouse child if something bad happens when we re-query the hardware (during resume for example). Discussed with and ok stsp@
2013-07-16Correctly initialized the width value to 0 instead of passing garbageMartin Pieuchot
to wsmouse_input() when no finger are reported. Pointed out by Maxime Villard.
2013-06-28send proper z value to elantech_send_input in previous v4 commitjoshua stein
pointed out by Owain G. Ainsworth
2013-05-31add elantech v4 (clickpad) supportjoshua stein
tested on an asus ux21a ok mpi@ stsp@
2013-05-23Revert Active PS/2 support for now, until we find a solution suitableTobias Stoeckmann
for chipsets which stopped working. ok mpi
2013-04-20Enable active PS/2 multiplexing if available.Tobias Stoeckmann
Supported for i386 and amd64 except SMALL_KERNEL. Based on Miod's former work on this subject. ok mpi
2013-04-15Revert r1.37 now that we stop after the first matching protocol, testedMartin Pieuchot
by Peter J. Philipp, thanks.
2013-04-15Move the IntelliMouse protocol definition after Elantech ones, because someMartin Pieuchot
touchpads support both of them and we want to pick the latter. Reported by Peter J. Philipp, thanks.
2013-04-15Don't probe for all supported protocols this can confuse some touchpads andMartin Pieuchot
makes it harder to pick the right protocol if a device answers to more than one magic sequence. Tested by many on tech@, ok shadchin@
2013-04-14Support for F13-F24 keys found on IBM 122-key keyboards.Miod Vallat
From "Creamy" on tech@
2013-03-18Once we've detected an elantech touchpad, stop probing for other hardwareStefan Sperling
versions. Fixes a problem reported by Peter J. Philipp where the pms driver spits out "not in sync yet" messages after attaching to elantech v2 hardware. Fix tested by me on v3 hardware, and by Peter on v2 hardware. ok mpi@ shadchin@
2013-03-16Enable untested Elantech touchpad v1 and v2 code. I'd like some test reports.Stefan Sperling
ok mpi@ shadchin@
2013-02-15backout latest: audio keys can autorepeat. Autorepeated keys are notAlexandre Ratchov
decoded by the wskbd layer, thus autorepeted audio keys end-up passed to userland in raw mode (ie to X), resulting in keyboard input corruption. Noticed (and debugged) by halex@, thanks.
2013-01-06don't propagate XF86XK_Audio{Lower,Raise}Volume keys to userspace,Alexandre Ratchov
otherwise volume may be adjusted twice: once by X apps and once in the kernel. feedback from many, ok shadchin@
2012-11-05Fix memory leak in error paths for synaptics and alps (pointed stsp@).Alexandr Shadchin
Also small simplify elantech part. ok stsp@, mpi@
2012-11-03Handle elantech touchpad buttons in a common code path for allStefan Sperling
hardware variants. ok shadchin mikeb mpi
2012-11-02Don't OR flags into an uninitialized variable in elantech hardware v1 code.Stefan Sperling
Fix by oga, via mikeb.
2012-10-29Add support for Elantech touchpads to pms(4). This allows the X synaptics(4)Stefan Sperling
input driver to configure these touchpads properly, e.g. toggle tap-to-click, two-finger scrolling, edge-scrolling, etc. So far these pads were working only in PS/2 mouse compatibility mode. Support for up to hardware version 3 has been implemented. But only version 3 has been tested so versions 1 and 2 remain disabled via #ifdef notyet until someone tests (bugs in this code could seriously mess up the mouse and I don't want to end up shipping such bugs in 5.3). help and ok mpi@ shadchin@
2012-08-10simplify pckbc_xt_translation()Alexandr Shadchin
* call only for set translation on (once in /sys/dev/pckbd.c) therefore we can delete unused code. * change behavior (more standard) - return zero on success ok miod@
2012-07-22Fix for ClickPad. On issue pointed gilles@ and matthieu@Alexandr Shadchin
ok gilles@, matthieu@, mpi@, miod@, deraadt@
2012-07-01Pass a width value corresponding to one finger for ALPS touchpads when theMartin Pieuchot
reported pressure is non-null. Fix the use of ALPS touchpads with recent (>1.6) xf86-input-synaptics drivers, issue reported by janis at cieti lv. Tested by yasuoka@ and janis, ok shadchin@
2012-04-28Added yet another magic for my ALPS touchpad.Tobias Stoeckmann
ok mpi@
2012-03-05Adds support for a slightly different version of the ALPS protocol,Alexandr Shadchin
which send 'interleaved' PS2 packets in between absolute ALPS packets. Dell laptops (E6xxx and E5500 at least) have this kind of touchpad. ok and some rework mpi@, tested okan@.
2012-01-28Blacklist a dualpoint model which clitpad sends non compatible PS2 packets.Martin Pieuchot
Issue reported by deraadt@
2011-12-04renaming synaptics_pt_* -> pms_sec_*Alexandr Shadchin
(synaptics and alps uses this for trackpoint) ok mpi@
2011-12-03Correctly handle clitpad packets for some ALPS models.Martin Pieuchot
reported by espie@, not reported by miod@ with and ok shadchin@, ok espie@
2011-10-17Blacklist alps devices that might have a clitpad untill the driver get fixedMartin Pieuchot
2011-10-17Fix the synchronization of some alps pads, issue reported by Bryan (brakeb)Martin Pieuchot
on misc@ Similar diff tested by okan@ and Mathieu (ptr.jetable) ok shadchin@
2011-10-04Add support for ALPS touchpads.Martin Pieuchot
This also fix the "slow touchpad" problem due to the fact that some ALPS devices respond to some Synaptics messages and stay in un half-configured state. Tested by Rivo Nurges, armani@, shadchin@ and matthieu@ ok shadchin@
2011-08-24revert the last commit. pms_enable_alps() does not guaranteeAlexandr Shadchin
the accuracy detection ALPS. ok mpi@
2011-08-22Adding stub for ALPS touchpad, which not supported yet.Alexandr Shadchin
This fixed "react strangely" when the pms driver probes for a synaptic-compatible touchpad. Tested and ok mpi@
2011-08-17Adding support Synaptics touchpad. Thanks all for test.Alexandr Shadchin
ok miod@, matthieu@
2011-04-05Icelandic keyboard mapping. Commited from an Icelandic keyboard.Miod Vallat
2011-03-17Ansify non-ansified function definitions. No functional change.Alexandr Shadchin
ok miod@
2011-01-03remove sc->sc_kbcslot, as is always PCKBC_AUX_SLOTAlexandr Shadchin
ok krw, miod
2010-12-27cleanup pms_enable_intelli: magic numbers -> definesAlexandr Shadchin
ok krw, miod
2010-12-27remove unneeded MakefileAlexandr Shadchin
ok krw, miod
2010-12-24fix crash:Alexandr Shadchin
after boot and before the first activation (wsmoused or X), sc->protocol is not initialized, and any call ioctl lead to crash (example 'wsconsctl -a') thanks and ok krw@
2010-12-23Add a common interface for various devicesAlexandr Shadchin
This is to make it easier to add additional mice types in future ok krw@, miod@, nicm@
2010-12-16small cleanup ioctl WSKBDIO_GETLEDSAlexandr Shadchin
ok miod@