Commit Graph

84 Commits

Author SHA1 Message Date
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
Kazutaka YOKOTA
4e008b7f9b Remove unwanted debug output.
PR: bin/17617
Submitted by: Allan Saddi <asaddi@philosophysw.com>
2000-03-31 12:35:33 +00:00
Kazutaka YOKOTA
44bdcfa638 - This is the second attempt to fix the `-3' option for moused :-)
It also adds a new option, `-E', to set the timeout value for
  the three button emulation.
2000-03-20 10:40:44 +00:00
Kazutaka YOKOTA
d65ffe4a1f Add Mitsumi Wireless Scroll Mouse PnP ID. 2000-03-20 08:11:11 +00:00
Kazutaka YOKOTA
fb96634340 - Add support for IntelliMouse Explorer, NetScroll Optical, SmartScroll,
Scroll Point, and 4D/4D+ mice.
- Add a couple of serial mouse PnP IDs.
- Extend the `-z' option so that the second wheel (or the horizontal
  movement of the `scroll' device) can be mapped to buttons.
2000-03-18 15:23:21 +00:00
Andrey A. Chernov
6555de4811 Add Tremon Wheel PNP mouse 2000-03-15 16:46:12 +00:00
Kazutaka YOKOTA
1744101128 Added the PnP ID for MouseSystems SmartScroll Mouse (serial mouse).
This mouse may be a OEM version of Genius EasyScroll Mouse.

(The mouse has three buttons on top, one side button and a wheel which
also acts as a button.  However, I know no way to activate the wheel,
and it can only be used as an ordinary 3-buttons mouse :-)
2000-01-24 10:26:46 +00:00
Kazutaka YOKOTA
27d63c1916 Add the PnP ID for the Logitech Cordless MouseMan Wheel (serial
version).
2000-01-20 13:39:08 +00:00
Sheldon Hearn
ab51fa72e5 Back out previous commit, which broke mouse wheel support in moused.
Requested by:	yokota
1999-12-17 10:05:36 +00:00