Commit Graph

174 Commits

Author SHA1 Message Date
jakllsch
a4accc81e1 Move two probe-time aprint_errors to debug and verbose level instead.
These two are regularly happening within qemu, and would muddle up the
aprint error counter otherwise.
2018-06-03 15:02:56 +00:00
christos
be8d485d01 use a more data-driven :-) approach to avoid cut-n-pasted code. 2018-06-03 14:41:05 +00:00
ryoon
d515f9dec1 Enable Synaptics multifinger capability (Extended W mode)
Magic parameters are taken from
  https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller/.
Tested on HP ProBook 4630s, Lenovo E530, VAIO Pro 11 and HP Spectre x360 ae.
2018-06-03 07:24:18 +00:00
ryoon
02db46494a Remove double and trailing whitespaces 2018-05-30 13:20:39 +00:00
ryoon
8728d020f4 Remove trailing tab 2018-05-29 11:38:24 +00:00
maya
abbdd87862 Add Turkish keyboard layout.
from berte in PR kern/53011.
2018-02-19 14:34:17 +00:00
jmcneill
26f4df0434 Add hw.synaptics.movement_enable sysctl. Default value is 1, but if set
to 0 disables movement events from the touchpad.

While here, fixup a few sysctl nodenum comparisons in
pms_sysctl_synaptics_verify to compare against node numbers instead of
values.
2017-12-05 18:04:21 +00:00
ryoon
24512689e1 Return res in non-synaptics case like before. Fix ALPS case 2017-11-07 12:39:07 +00:00
blymn
fe90bab42e Add two finger support and middle/right button emulation. 2017-11-06 21:07:17 +00:00
nat
1940716d95 Remove extra newline. 2017-08-16 21:18:58 +00:00
nat
d7b3efdac7 If ALPS probe fails, send a PMS_RESET.
Restores functionality on a wrong version ALPS touchpad.

Addresses PR kern/52489.

This patch was prepared by/committed on behalf of maya@.
2017-08-16 21:09:48 +00:00
ryoon
9828247cf0 Do not print ALPS related message when generic PS/2 case 2017-08-15 22:23:09 +00:00
christos
014b6d5aae PR/52483: Ryo ONODERA: Add support for ALPS PS/2 pointing devices 2017-08-13 08:49:27 +00:00
nat
b377bbb391 New device wsbell - allows for a console beep for non pckbds (usb etc).
Works for platforms without pcppi - can work with spkr at audio and spkr
at pcppi.

To use add the following to your kernel config:
wsbell* at spkr? console?

Ok pgoyette@.
2017-06-11 03:55:56 +00:00
prlw1
88f0bbeb89 Disambiguate debug message. 2015-07-16 15:01:04 +00:00
christos
418d39e325 Fix clickpad button detection (From Rhialto) 2015-03-04 22:58:35 +00:00
mbalmer
e0f28f4a46 Add a belgian keyboard layout, based on the french keyboard layout.
Fixes PR install/46871.
2014-07-14 10:05:23 +00:00
riastradh
14aa54934d Nuke trailing whitespace. 2014-06-11 20:09:17 +00:00
christos
ef2e77d3d6 PR/48831: Jörg Grundmann: Synaptics Touch pad (ClickPad) and
Klick-by-tap-gestures do not work
2014-05-23 01:11:29 +00:00
pooka
4f6fb3bf35 Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
the sysctl link sets are processed, and remove redundancy.

Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.
2014-02-25 18:30:08 +00:00
jakllsch
e45cb093f5 KASSERT that cmd is non-NULL in more places, and in a place that previously
did not use KASSERT to do the same thing.
2014-01-11 20:29:03 +00:00
martin
eb6986a1b3 Cosemetically "fix" the pckbd_attach() return value, so gcc can see the
value is used (no functional change)
2013-09-15 09:24:05 +00:00
christos
953e0bb7b8 fix debugging printf 2013-03-06 04:22:03 +00:00
christos
3fdfd2de8e Deal with Foxconn NanoPC nT-i1250 returning BAT_FAIL and don't infinite loop
From OpenBSD.
2013-03-06 03:26:17 +00:00
jdc
343abb5591 Add the extra keys found on the Tadpole SPARCle to the keysym list. 2012-10-13 17:51:51 +00:00
jdc
b0cdfa37f7 Add two flags to keyboard/mouse attachment:
PCKBC_CANT_TRANSLATE for keyboards that cannot translate to XT scancodes
  PCKBC_NEED_AUXWRITE for mice that don't probe first time
These flags can be set by the port-specific attachments.

Add the translation table and function to handle set 2 to set 1 keyboard
translation in software.

Based on OpenBSD sys/dev/ic/pckbc.c revisions 1.10, 1.16, 1.17, and
sys/dev/pckbc/pckbd.c revision 1.15, and 8042 scan code information at:

  http://www.computer-engineering.org/ps2keyboard/

Note, that this changes the signature of pckbc_cnattach(), so ride the
kernel version bump for namei.
2012-10-13 17:51:28 +00:00
dsl
f4005a420d Remove a couple of (void *) casts added in the previous commin.
They aren't needed here (script error).
2012-06-03 13:52:46 +00:00
dsl
e21a34c25e Add some pre-processor magic to verify that the type of the data item
passed to sysctl_createv() actually matches the declared type for
  the item itself.
In the places where the caller specifies a function and a structure
  address (typically the 'softc') an explicit (void *) cast is now needed.
Fixes bugs in sys/dev/acpi/asus_acpi.c sys/dev/bluetooth/bcsp.c
  sys/kern/vfs_bio.c sys/miscfs/syncfs/sync_subr.c and setting
  AcpiGbl_EnableAmlDebugObject.
(mostly passing the address of a uint64_t when typed as CTLTYPE_INT).
I've test built quite a few kernels, but there may be some unfixed MD
  fallout. Most likely passing &char[] to char *.
Also add CTLFLAG_UNSIGNED for unsiged decimals - not set yet.
2012-06-02 21:36:41 +00:00
jmcneill
b2424d9a22 add support for elantech (v2) touchpads that report input pressure 2012-01-07 10:27:58 +00:00
jakllsch
eefea85339 Correct and improve some comments. Collect unused variables. Add a define. 2011-09-10 18:38:20 +00:00
jakllsch
2eb0dcce4e Replace pms_synaptics_send_command() and identical pms_elantech_send_command()
with pms_sliced_command().  Linux shows that this sequence can also be used by
"Logitech PS/2++" protocol as well.
2011-09-09 14:29:47 +00:00
jakllsch
33419b02ae const-ify input command buffer argument to
pckbport_poll_cmd and pckbport_enqueue_cmd.
2011-09-09 14:00:01 +00:00
jakllsch
9779175e56 Sprinkle static. 2011-09-08 16:34:09 +00:00
jakllsch
e09b9d681e Cosmetic changes. 2011-09-08 15:27:50 +00:00
jakllsch
4df4fc4c6f Make whitespace more consistent. 2011-09-08 15:26:26 +00:00
jakllsch
3d6f16cbff options PMS_DISABLE_POWERHOOK has been obsolete for a while now,
remove what little still remains of it.
2011-09-07 19:05:13 +00:00
christos
e55e3f51cc fixes from gilbert dot fernandes at orange dot fr 2011-07-22 23:22:38 +00:00
christos
f00e05ebcb fixes from OpenBSD 2011-07-22 19:20:28 +00:00
christos
f11ae0d12b PR/35473: Wigcher Spanninga: Add Dutch keyboard support to wscons 2011-07-22 18:17:11 +00:00
joerg
c22277f893 Use proper format string 2011-05-24 16:42:53 +00:00
cegger
849bcd741c add PS/2 registers from synaptics spec:
PMS_RESET_WRAP_MODE, PMS_SET_WRAP_MODE, PMS_ACK, PMS_ERROR and PMS_RESEND

while here use #define<tab> consistently.
2011-02-08 07:32:47 +00:00
cegger
a40029a856 use aprint_debug_dev and get rid of SYNAPTICSDEBUG 2011-01-29 20:37:24 +00:00
uebayasi
1d247bb84c wakeup needs sys/proc.h. 2010-11-15 05:58:18 +00:00
plunky
56e30c61a6 send the SET_SCALE11 command before the 'sliced' command as per the
Linux driver (and elantech(4)), via PR kern/42853
2010-03-21 20:04:43 +00:00
plunky
4cac2374d5 Extended capability probes can confuse the passthrough device,
reset the touchpad on enable to cure that.
2010-03-21 19:57:05 +00:00
plunky
88c4db2ecc some definitions from the Linux driver (via PR kern/42853) 2010-03-21 19:53:52 +00:00
dyoung
c1b390d493 A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
2010-02-24 22:37:54 +00:00
dyoung
cd6e1fbf91 Expand PMF_FN_* macros. 2010-01-08 19:53:10 +00:00
ahoka
2e4db2573f Add hungarian qwertz keyboard layout. 2009-07-28 18:48:27 +00:00
jakllsch
18f1b5273b Ignore scancodes E0 2A, E0 AA, E0 36, E0 B6 when decoding.
For the 10 keys on the editing keypad, these prefix/postfix
scancodes indicate the state of the Left Shift and Right Shift
keys and Num Lock indicator.

This change prevents a spurious WSCONS_EVENT_KEY_UP event upon
press as well as the corresponding WSCONS_EVENT_KEY_DOWN event
upon release.
2009-07-16 20:44:54 +00:00
tonnerre
8faae88204 Add support for Swiss german kezboard to wskbd.
Contributed by Marc Balmer.
2009-06-13 20:21:56 +00:00
mkirby
ff12b9febc Add a Czech (QWERTY) keyboard layout, and teach wscons about latin 2 characters.
Original code from Lubomir Kundrak, adapted to current and cleaned up by me.

Fixes PR kern/16216

ok agc@ jdc@
2009-04-06 17:32:09 +00:00
ad
0458d57a95 use aprint_error 2009-03-08 15:06:56 +00:00
ghen
a349a96a6f Enable Colemak altgr keys. 2009-02-03 17:50:28 +00:00
jmcneill
9f9ac957a5 Silence printf in common "device not found" error path. 2008-12-30 10:44:30 +00:00
jmcneill
0af0b213b5 Remove debug printfs 2008-12-14 00:53:52 +00:00
jmcneill
3e8db25945 Add Elantech multi-touch driver. 2008-12-14 00:42:33 +00:00
drochner
733bb117b5 remove a KBC_ENABLE call in the console poll method -- this was
just a workaround and is not necessary anymore
2008-06-11 17:35:02 +00:00
ghen
41f841e610 Add support for the Colemak keyboard layout variant, see http://colemak.com 2008-05-21 07:39:24 +00:00
ad
1498ad220e Make various bits of debug code compile again. 2008-04-30 14:07:13 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
cube
88906c66df Use proper types. 2008-03-15 18:59:07 +00:00
cube
7582ef2fff Split device_t and softc for pckbd(4) and pms(4). 2008-03-15 18:46:22 +00:00
dyoung
f612df5fb6 Use PMF_FN_ARGS, PMF_FN_PROTO. 2008-02-29 06:38:28 +00:00
joerg
36e75d7a01 Ensure that the keyboard is enabled before polling it.
This allows pressing a key to reboot the machine.
2008-02-21 01:42:20 +00:00
jmcneill
a0a5798f83 Change synaptics 'unusual delay' printf to aprint_debug. I'm tired of
seeing it over and over again.
2008-01-28 22:30:27 +00:00
jmcneill
1ec278b34c Don't call do_enable on synaptics resume if !sc->sc_enabled 2008-01-28 22:29:00 +00:00
jmcneill
6d105ec7c2 De-noisify resume handler. 2008-01-28 22:28:32 +00:00
dyoung
636e434283 Support pcppi(4) detachment.
Use device_t, device_private().  Get rid of a struct device * cast.
2008-01-10 07:58:39 +00:00
christos
d879c8360a defflag one moe variable. 2008-01-06 19:42:33 +00:00
ad
0664a0459b Start detangling lock.h from intr.h. This is likely to cause short term
breakage, but the mess of dependencies has been regularly breaking the
build recently anyhow.
2008-01-04 21:17:40 +00:00
lukem
388339aa58 use __KERNEL_RCSID() 2007-12-11 11:25:46 +00:00
jmcneill
4c1d81b2b5 Merge jmcneill-pm branch. 2007-12-09 20:27:42 +00:00
jmcneill
a0d3b0d7a8 aprintify 2007-12-01 14:35:51 +00:00
ad
a2a3828545 machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h 2007-10-19 11:59:34 +00:00
dsl
1b3b0fe4f7 include sys/cdefs.h before opt_xxx.h 2007-07-19 22:18:54 +00:00
ad
57410029b0 Initialize callouts before use. 2007-07-09 22:24:38 +00:00
ad
88ab7da936 Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
mlelstv
46e95ff4ed add missing W coordinate 2007-03-25 20:28:03 +00:00
mlelstv
f4a46a86ea Handle events from passthrough devices like the Thinkpad 'Navistick'. 2007-03-25 16:26:41 +00:00
christos
53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
uwe
b2962c40b6 Don't call queries "PS/2 commands", it's confusing.
Add queries to read mode and model id (not used yet).
Fix SYNAPTICS_CAP_EXTNUM - it's 3 bits [14:12], not 2.
2007-01-17 23:14:03 +00:00
christos
168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
plunky
57c0199dcf Tidy away wsmouse_input() abstractions and update
documentation to include the W direction.
2006-11-12 19:00:42 +00:00
christos
4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
jmcneill
f135e0d607 Add "name" parameter to powerhook_establish, to aid debugging. No objections
on tech-kern@
2006-09-24 03:53:07 +00:00
christos
b4c0be5dc8 avoid empty if bodies. 2006-09-13 00:55:57 +00:00
bjh21
dacb75acff All ports that use the file do so through files.pckbport, so there's no
need to be cautious about including "pckbd.h".  This has the side-effect
that ports using pckbd but not defining __HAVE_NWSCONS will now get pckbd
attached as console if they call pckbport_cnattach(), but I don't think
any such ports exist.
2006-09-03 13:23:15 +00:00
christos
097de97608 reset kbc as the comment said. from joerg. 2006-06-18 20:53:10 +00:00
christos
1251317743 Jared asked me to commit the powerhooks for this 2006-06-18 02:25:18 +00:00
kardel
de4337ab21 merge FreeBSD timecounters from branch simonb-timecounters
- struct timeval time is gone
  time.tv_sec -> time_second
- struct timeval mono_time is gone
  mono_time.tv_sec -> time_uptime
- access to time via
	{get,}{micro,nano,bin}time()
	get* versions are fast but less precise
- support NTP nanokernel implementation (NTP API 4)
- further reading:
  Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf
  NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
2006-06-07 22:33:33 +00:00
christos
89bc0d7869 Greek console keymap from Eye of the Beholder 2006-04-01 23:02:32 +00:00
thorpej
838ee1e0d9 Use device_private(). 2006-03-29 06:51:47 +00:00
perry
93124077ae Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:27:29 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
rpaulo
67a3f47423 Add a fake entry in pms_protocols array to avoid an out-of-bounds
access in do_enable() if PMS_SYNAPTICS_TOUCHPAD and PMSDEBUG are both
defined.
2005-11-08 22:12:16 +00:00
rpaulo
89c0260a2e s/SYNAPTICS_DEBUG/SYNAPTICSDEBUG/ to keep consistency. 2005-10-26 17:20:19 +00:00
jdolecek
bb7b3655f0 constify 2005-10-24 16:31:54 +00:00
drochner
e6a178f21f kill a number of autoconf submatch functions which follow the
standard scheme:
if (<configured> != <wildcard> && <configured> != <real>)
	then fail
else
	ask device match function

This is handled by config_stdsubmatch() now.
2005-08-25 22:33:18 +00:00
drochner
fa3cb84d62 replace the "locdesc_t" structure carrying the number of locators
explicitely by a plain integer array
the length in now known to all relevant parties, so this avoids
duplication of information, and we can allocate that thing in
drivers without hacks
2005-08-25 18:35:38 +00:00