Commit Graph

92 Commits

Author SHA1 Message Date
Jung-uk Kim
569d8f7e27 Add preliminary support for IBM/Lenovo TrackPoint.
PR:		kern/147237 (based on the initial patch for 8.x)
Tested by:	glebius (device detection and suspend/resume)
MFC after:	1 month
2013-03-18 23:22:47 +00:00
Hans Petter Selasky
08f950a302 Make sure moused is exiting as quick as possible after that the
umsX character device returns a read error. Update devd.conf rules
to use "DEVFS" events which are generated after that the umsX
character device node has been created/destroyed, and then there
should be no need for moused to wait up to 10 seconds for umsX to
be ready. Opening umsX should not fail except if the kernel is low
on memory. In that case the user can replug the USB mouse or use
"usbconfig" to reset the device. In case of USB mouse devices,
moused should neither retry to open its character device,
once the first read error has happened. This is an indication
of device detach.

MFC after:	1 week
2012-09-24 17:13:33 +00:00
Hans Petter Selasky
9764cfdd05 The UMS module is now loaded by rules in /etc/devd/usb.conf which
are executed by devd. Remove duplicate kldload.

Reported by:	joel @
MFC after:	1 week
2012-03-17 16:40:15 +00:00
Eitan Adler
6240691ac7 Fix warning when compiling with gcc46:
error: variable 'now' set but not used

Approved by:	dim, cperciva (mentor, blanket for pre-mentorship already-approved commits)
MFC after:	3 days
2012-01-20 01:38:05 +00:00
Ulrich Spörlein
3df5ecac8c Spelling fixes for usr.sbin/ 2011-12-30 10:58:14 +00:00
Ed Schouten
7a106fe473 Mark global functions and/or variables in moused(8) static where possible.
This allows compilers and static analyzers to do more thorough analysis.
2011-11-06 19:02:20 +00:00
Rebecca Cran
6bccea7c2b Fix typos - remove duplicate "the".
PR:	bin/154928
Submitted by:	Eitan Adler <lists at eitanadler.com>
MFC after: 	3 days
2011-02-21 09:01:34 +00:00
Alexander Motin
ce304e0820 When Emulate3Button is active, do not set select() timeout in states when
it is not needed. No need to kick CPU every 20ms without a purpose.

Reviewed by:	philip@
2010-06-15 19:19:04 +00:00
Philip Paeps
3e95467ca0 Improve the virtual scrolling mechanism to make middle clicking less
difficult.  Add a -L option (yet another option, indeed!) which changes the
speed of scrolling and change -U to only affect the scroll threshold.

This should make middle-clicking a much more pleasant experience.

PR:		bin/120186
Submitted by:	Aragon Gouveia <aragon -at- phat.za.net>
MFC after:	3 days
2008-05-15 15:05:02 +00:00
Jung-uk Kim
f25596163e Use intmax_t instead of long when casting time_t.
Suggested by:	mlaier
Tested with:	make universe
2008-03-07 00:01:24 +00:00
Jung-uk Kim
d7aa5242c5 Cast time_t to long to mute tinderbox build failure. 2008-03-06 02:14:45 +00:00
Jung-uk Kim
2657f6e9ed Fix compiler warnings and style(9) bugs. 2008-03-06 00:24:11 +00:00
Jung-uk Kim
13f1c59b29 Prefer clock_gettime(2) over gettimeofday(2) and use CLOCK_MONOTONIC_FAST.
It is only used to track elapsed time and it does not have to be precise.
2008-03-06 00:22:17 +00:00
Philip Paeps
d933824786 Fix a (very) longstanding bug in moused(8) affecting high-resolution rodents
when linear acceleration (-a) was enabled with a <1 value to slow them down.

Previously, rounding errors would eat small movements so the mouse had to be
moved a certain distance to get any movement at all.  We now calculate the
rounding errors and take them into account when reporting movement.

PR:		bin/113749
Submitted by:	Oliver Fromme <olli -at- secnetix.de>
MFC after:	3 days
2007-06-17 20:27:54 +00:00
Philip Paeps
86b3ea3634 Add dynamic acceleration to moused(8). This introduces a '-A' flag to control
the acceleration algorithm.  It can be used together with the '-a' flag for
regular acceleration.

PR:		bin/110003
Submitted by:	Oliver Fromme <olli -at- lurza.secnetix.de>
MFC after:	1 week
2007-03-11 20:02:26 +00:00
Stefan Farfeleder
a68654e647 Convert macros to use C99's syntax for macros with a variable number of
arguments.
2006-07-20 09:47:15 +00:00
Dag-Erling Smørgrav
c134d8cc31 Replace the guts of usbmodule() with calls to the new kld(3) functions. 2006-02-18 11:26:36 +00:00
Philip Paeps
9eac5bb9e2 Add "yet another" moused(8) hack: suspend handling mouse events when SIGUSR1
is caught.  Can be assigned to a window manager shortcut to prevent accidents
with touchpads.

PR:		bin/89357
Submitted by:	Nick Hibma <nick -at- van-laarhoven.org>
MFC after:	1 week
2005-12-04 00:28:40 +00:00
Philip Paeps
d5f2946a42 Add an option to stop 'mouse drift' in some defective/cheap mice. This stops
the pointer slowly wandering away on its own in an annoying way when the mouse
isn't physically moved.

PR:		bin/83970
Submitted by:	Lena -at- lena.kiev.ua
X-MFC after:	6.0-RELEASE
2005-09-19 06:58:39 +00:00
Pawel Jakub Dawidek
8b28aef238 Pidfiles should be created with permission preventing users from opening
them for reading. When user can open file for reading, he can also
flock(2) it, which can lead to confusions.

Pointed out by:	green
2005-09-16 11:24:28 +00:00
Pawel Jakub Dawidek
a80d5fc227 Use pidfile(3) in moused(8). 2005-08-24 17:27:06 +00:00
Philip Paeps
2c9b913248 Add a -H option to enable horizontal virtual scrolling, much like -V for
vertical virtual scrolling.  This also respects -U for the distance.

PR:		bin/82762
Submitted by:	Eric Kjeldergaard <kjelderg -at- gmail.com>
MFC after:	1 month
2005-07-19 19:30:49 +00:00
Matthew N. Dodd
ce99e87705 Support for the GTCO Digipad. 2005-04-13 07:25:45 +00:00
Philip Paeps
45efbba5c7 Document the -V and -U options in usage().
Submitted by:	Jordan Sissel <psionic@csh.rit.edu>
2005-01-06 08:38:29 +00:00
Philip Paeps
2a669c474a Add 'virtual scrolling' support to moused(8). When holding down the middle
mouse button, motions are interpreted as scrolling.

Submitted by:	Jordan Sissel <psionic-AT-csh.rit.edu>
Approved by:	njl
2004-10-11 07:57:08 +00:00
Philip Paeps
33282bf4aa Teach moused about Synaptics touchpads.
While I'm here, document the existence of the '-l' option, which allows
one to use moused to use psm in some more interesting ways.

Approved by:	njl (mentor)
2004-08-03 18:43:45 +00:00
Stefan Farfeleder
358f61ce32 Use C99 conforming designated initialisers rather than the obsolete GCC syntax. 2004-07-03 16:52:57 +00:00
Maxim Sobolev
dd8fb388f5 Fix serious ugliness introduced in 1.61, which leads to long delay in boot
sequence when machine is started without attached USB mouse. Only do
repeated attempts to re-open device if the usb module has been actually
loaded. Also fix broken logic in doing delays between open attempts - do
delays between attempts, not after each attempt.

Due to previous behaviour being very annoying for notebook owners this
is a good 5.2 MFC candidate.

MFC after:	2 days
2004-01-10 13:09:21 +00:00
Dag-Erling Smørgrav
b2183f9769 __FBSDID; remove duplicate <ctype.h>; try to reduce style inconsistencies. 2003-11-17 11:26:51 +00:00
Dag-Erling Smørgrav
038ec830e2 Sort includes, and remove superfluous <sys/types.h> 2003-11-17 11:14:34 +00:00
Dag-Erling Smørgrav
3bdc98d712 Instead of blindly loading the ums module and bailing out if that fails,
check if it's already loaded or compiled into the kernel, and only try to
load it if it isn't.

PR:		bin/59368
Submitted by:	Jens Rehsack <rehsack@liwing.de>
2003-11-17 11:08:28 +00:00
Dag-Erling Smørgrav
49271db4a7 If the name of the mouse device starts with "/dev/ums", try to load the
ums module, and allow for up to five attempts to open the device, with
two-second pauses in between, to allow time for USB controllers and
devices to probe and attach.  My Gigabyte P4 Titan 848P motherboard has
a total of 15 ports on four hubs hanging off four controllers, and needs
at least half of that ten-second allowance to get ready.

MFC after:	7 days
2003-11-13 21:25:12 +00:00
Dag-Erling Smørgrav
b70d5d25f2 Whitespace cleanup. 2003-11-13 08:26:29 +00:00
Jens Schweikhardt
9d5abbddbf Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.
2003-01-01 18:49:04 +00:00
Jens Schweikhardt
d64ada501a Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/
Add FreeBSD Id tag where missing.
2002-12-30 21:18:15 +00:00
Philippe Charnier
f0067240a1 Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:30:43 +00:00
Akinori MUSHA
8f810e50da Work around a code generation bug of GCC 3.1 by replacing
`/2' with `>>1'.  In the context `>>1' is more appropriate
because it looks like the division is used to restore a
shifted value.

GCC GNATS PR:	c/6677

This fixes a problem where wheel-up movement is taken as wheel-down
in the sysmouse protocol.

Do not assume the plain char's are signed; use `signed char' where
char's need to be signed.

Discussed on:	audit
Pointed out by:	bde
2002-05-19 06:53:20 +00:00
Ian Dowse
62e621e89c Fix a number of warnings. A gcc preprocessor bug relating to macros
with variable numbers of arguments made this slightly harder than
it should be. Avoid the bug by not doing string concatenation within
the macros, and instead add a new function to syslog or print the
error messages.
2002-04-28 11:59:30 +00:00
Will Andrews
05f920205e Minor changes:
[1] Support the Sony VAIO Jogdial in moused(8).
 [2] Modify spic(4) to support additional Sony VAIO models.

Submitted by:	[1] Juriy Goloveshkin <j@gu.ru>,
		[2] Akira Funahashi <funa@funa.org>
Tested by:	cjh, jim, Jerry A! <jerry@thehutt.org>
Approved by:	nsayer
MFC after:	2 weeks
2002-03-24 03:07:07 +00:00
Doug Barton
040eea4cc8 Expand the usage info to include the possible options for -i,
and fix the printf so that the line actually gets printed.
2001-08-09 18:12:07 +00:00
Ian Dowse
a9b238fa8e Oops, remove a `mouse_move_delayed++' that shouldn't have been
added in the previous commit; this variable is already incremented
in the previous `if' condition.
2001-07-08 21:16:20 +00:00
Ian Dowse
70ccc8d82e The state machine for 3-button emulation defers some button events
until a 20ms select(2) timeout occurs, but if there is a continuous
stream of movement events, button events can be delayed indefinitely
because the select never has to wait long enough for a timeout.
The delay and mouse event reordering that result are very noticable
and sometimes quite frustrating when dragging windows etc. in X.

Add a simple mechanism that avoids this re-ordering. While a button
event is deferred, we discard up to 3 movement events to allow for
mouse jitter. If more movement events occur, then we immediately
timeout the deferred button event and let the movement proceed.
This change only affects the 3-button emulation case.
2001-07-08 20:23:59 +00:00
George C A Reid
efe4cd6a18 Add an acceleration option to moused
PR:		28369
Submitted by:	Daniel O'Connor <darius@dons.net.au>
manpage reviewed by:	ru
MFC after:	10 days
2001-06-25 20:15:34 +00:00
Dima Dorfman
7309915e7a Nuke unused variables. 2001-06-24 23:41:57 +00:00
Jeroen Ruigrok van der Werven
d7d97eb0aa Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
Poul-Henning Kamp
f6b5c74c35 Initiate deorbit burn sequence for <machine/mouse.h>.
Replace all in-tree uses with <sys/mouse.h> which repo-copied a few
moments ago from src/sys/i386/include/mouse.h by peter.
This is also the appropriate fix for exo-tree sources.

Put warnings in <machine/mouse.h> to discourage use.
November 15th 2000 the warnings will be converted to errors.
January 15th 2001 the <machine/mouse.h> files will be removed.
2000-10-09 08:08:36 +00:00
Poul-Henning Kamp
00d25f512c Initiate deorbit burn sequence for <machine/console.h>.
Replace all in-tree uses with necessary subset of <sys/{fb,kb,cons}io.h>.
This is also the appropriate fix for exo-tree sources.

Put warnings in <machine/console.h> to discourage use.
November 15th 2000 the warnings will be converted to errors.
January 15th 2001 the <machine/console.h> files will be removed.
2000-10-08 21:34:00 +00:00
Kazutaka YOKOTA
9c9d99932b Reduce the default timeout for the three button emulation
from 200 msec to 100 msec.
2000-04-21 14:20:25 +00:00
Ollivier Robert
59d38e11ec Set the right default timeout to 200ms as per the manpage.
PR:		bin/17879
Submitted by:	Samuel Tardieu <sam@ada.eu.org>
2000-04-11 11:09:39 +00:00
Kazutaka YOKOTA
127d54ba62 Follow up to the 3 button emulation update in rev 1.41:
- Fix the -z option which I broke in rev 1.41.  It didn't work
  correctly when used in conjunction with the -m option.
- Tweak the 3 button state machine so that 'Up' events of the buttons
  1 and 3 are reported immediately as soon as the buttons are up.
2000-04-08 04:51:09 +00:00