Commit Graph

65 Commits

Author SHA1 Message Date
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
Kazutaka YOKOTA
e3b009838a - Improve the three button emulation by introdusing a small state
machine. The three-button emulation of moused has been somewhat
  difficult to use for many people.  I hope this update fixes it.
- Add a new option, -E, to set timeout value to detect two buttons
  are pressed down simulteneously.  The default value for this timeout
  is 200msec.
1999-12-15 12:58:58 +00:00
Nick Hibma
93563adec1 Remove a stray ';' which made moused fail on read()s in all cases.
Prodded-By:	Andrey A. Chernov <ache@FreeBSD.org>
Prodded-By:	Soren Schmidt <sos@freebsd.dk>
Prodded-By:	Louis A. Mamakos <louie@TransSys.COM>
1999-11-30 10:20:33 +00:00
Nick Hibma
d009bdaeb7 Bail out on failing the read(). This happens when a USB mouse is
disconnected. We retry the open in the parent subroutine.

Remove an ifdef _i386_ . MOUSE_IF_USB is now defined for alpha as well.

Reviewed-By:    yokota
1999-11-29 17:21:07 +00:00
Peter Wemm
e46b89dc93 Fix warning: return type of main' is not int' 1999-09-15 01:58:44 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Kazutaka YOKOTA
2e09fb67e8 Add support for the serial version of Interlink VersaPad. 1999-08-17 12:14:59 +00:00
Kazutaka YOKOTA
01533d852e Improve Logitech MouseMan+ protocol support. 1999-07-12 15:16:14 +00:00
Kazutaka YOKOTA
2b9e6c7549 Fix PS/2 MouseMan+ protocol. We have been looking at a wrong place
for the sign bit for roller movement!
1999-06-03 12:42:10 +00:00
Gary Palmer
12c8989081 USB is only on PC's at the minute, don't try and use the MOUSE_IF_USB
define on the AXP, 'cos it breaks.
1999-03-01 04:47:37 +00:00
Kazutaka YOKOTA
5419aa3ecf Print "usb" for MOUSE_IF_USB, rather than "unknown". 1999-02-28 09:18:57 +00:00
Steve Price
5e6338f6e7 Cleanup usage string: -i takes an argument.
PR:		8315
Submitted by:	Amakawa Shuhei <amakawa@sf.t.u-tokyo.ac.jp>
1998-12-13 23:26:21 +00:00
Kazutaka YOKOTA
1b11ca6c6b - Added support for Genius Kidspad tablet.
# `moused' is getting too over-loaded now.  If we want something
# more than simple mouse emulation for tablets or remote devices,
# we should start writing a separate daemon...

Submitted by: luigi
1998-11-20 11:22:17 +00:00
Kazutaka YOKOTA
9fb1d70c9d - Added a new option: -w N. The option makes the button N as the `wheel
mode' button.  Mouse movement will be treated as wheel movement while
  this button is held down.  Useful for mice with many buttons but
  without a wheel.

PR: bin/8001
Submitted by: Hideyuki Suzuki
1998-11-20 11:19:20 +00:00
Kazutaka YOKOTA
c49f79b7e2 - Reorganized a `if-else' close a bit for clarity. Purely cosmetic
change.  No functional difference.
1998-11-20 11:17:59 +00:00
Kazutaka YOKOTA
f41621f9fc Fix PnP mouse detection routine so that:
- it has longer timeout as per the PnP COM Device Specificaiton 1.0,
- and it tries to obtain the PnP ID string by strictly following the
  specification and if it fails, by deploying slightly simplified
  steps. (moused has used the simplified method because early PnP mice
  do not exactly follow the specification.  But now, recent mice
  do not supply the ID string unless the strict procedure is used...)

Jointly developed by luigi and yokota.
1998-10-12 09:36:27 +00:00
Amancio Hasty
6797869271 Reviewed by: Amancio
Submitted by:	Randall Hopper <rhh@ct.picker.com>
    The patch supports using the X10 Mouse Remote in both stand-alone and
pass-through configurations, so you can plug your mouse and remote into the
same serial port, use the mouse for X, and use the remote for other apps
like Fxtv. For instance, we can now control fxtv via the remote control
just like a TV : change channels, mute, increase volume, zoom video,
freeze frame 8)

     The mouse events are channeled through the syscons/sysmouse I/F like
normal, and the remote buttons are "syphoned off" to a UNIX-domain stream
socket (defined as _PATH_MOUSEREMOTE in <machine/mouse.h>) for a
remote-aware app to grab and use.

For further info on the X10 Mouse Remote see:
http://www.x10.com/products/x10_mk19a.htm
1998-06-14 20:05:27 +00:00
Kazutaka YOKOTA
f82812a2cf - Describe the -I option in the man page.
- Add the -I option in the usage line.
1998-03-12 15:00:06 +00:00
Jordan K. Hubbard
7b60e55263 Add -I flag.
Submitted by:	Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1998-03-07 09:03:43 +00:00
Kazutaka YOKOTA
36b1e17db4 Add 4th button support for the "MouseMan" protocol. The latest
trackball model from Logitech has four buttons.
1998-03-06 03:09:31 +00:00