1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
Commit Graph

53 Commits

Author SHA1 Message Date
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
Andrey A. Chernov
4b6860cf1c Add Genius PnP Mouse (simple one) 1998-02-04 06:46:33 +00:00
Kazutaka YOKOTA
f17c00390e Add the PnP string for a Logitech serial mouse model. 1998-01-20 03:38:36 +00:00
Kazutaka YOKOTA
30ee7535d4 - Added support for a new MouseMan model (4 buttons, no wheel).
Based on the report from Dave Bodenstab.
- Turn off PnP COM device enumeration procedure if the user explicitly
  specifies a protocol type with the "-t" option.
- Accept "-t auto".  Now the user may entirely omit the "-t" option
  in the command line, or specify "-t auto" in order to make moused
  detect an appropriate protocol type automatically.  In the
  previous version, moused did so only if the "-t" option is absent
  in the command line. ("-t auto" won't disable PnP COM device
  enumeration.)
- Updated the man page.
1997-12-23 08:04:38 +00:00
Kazutaka YOKOTA
5d6618fa17 Oops, I forgot to set `cflag' in some cases when initializing the
mouse port.
1997-12-15 02:57:45 +00:00
Kazutaka YOKOTA
5f436cfb7b The `moused' daemon is made to support various serial mouse
protocols to recognized extra buttons and wheel/roller. It now has
PnP COM device support code, thus, some recent mouse products are
automatically detected and an appropriate protocol is selected.
The `-i' option will print the result of auto-detection.

- Added support for the following SERIAL mice:
      ALPS GlidePoint, MS IntelliMouse, Kensington Thinking Mouse
  (Genius NetMouse, NetMouse Pro, ASCII MieMouse, Logitech MouseMan+,
  FirstMouse+ are compatible with MS IntelliMouse, when connected
  to a serial port, thus requires no explicit support)
- Added PnP serial mouse identification capability as defined
  by Microsoft and Hayes in "Plug and Play External COM Device
  Specification, rev 1.00".  This support will enable us to identify
  the correct protocol to use, or choose a compatible protocol for the
  given mouse.
- Utilize new ioctls defined in `mouse.h' to get hardware and protocol
  information on PS/2 and bus mouse devices.  Try to guess the correct
  protocol and port combination based on the obtained info.
- Use MOUSE_SETLEVEL ioctl.
- Use constants defined in `mouse.h' rather than using own definitions.
- A New command line option.  The -i option prints the information
  collected though the PnP code and psm/mse ioctls mentioned above,
  and just quits.  This is to test `moused's ability, or inability, to
  detect the correct protocol for the given mouse automatically.
- A new command line option.  The -m option maps a physical button
  to a logical button.
- A new command line option.  The -z option maps the Z axis movement to
  another axis or a pair of buttons.
- Add other options: -3, -C -F -P.
- Added a handler for SIGHUP.  This has been suggested by somebody in the
  past (I don't remember who).  He wanted this because he wants to attach
  or detach a mouse while his laptop is suspended.  Now `moused' will
  reopens and reinitialize the specified port whenever a SIGHUP is
  received.  I don't know how useful this can be...
1997-12-07 08:11:16 +00:00
Philippe Charnier
07e1d533fd Remove unused variables. Lowercase err() strings. 1997-09-25 06:44:39 +00:00
Warner Losh
6c3f552a31 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-31 05:11:47 +00:00
Peter Wemm
6359933214 Allow the samplerate (in DPI) to be set on the command line, the rest of
the code appears to support it.
1997-03-29 12:10:26 +00:00
Peter Wemm
476602a9d0 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
Søren Schmidt
20a2630b11 Modified moused to use select rather than read. This fixes using
the PS/2 mouse (psm device).
Submitted by:	Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1997-01-20 08:09:20 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Peter Wemm
13379e47c1 gut and overhaul moused, it was simply not working for me on any mouse
I could find.  This change does the following:
  - s/usage()/break;/ in handling the -s switch.
  - use err/warn instead of fprintf(stderr, ... strerror()); exit(1);
  - implement Hitachi PUMA HitTablet support from the XFree86 code,
    whatever the hell that is. :-)
  - correctly implement baud rate setting, too much was cut from the
    XFree86 code, the critical parts were a sweep over all likely
    mouse powerup baud rates to switch it to the reqested rate.
  - logitech support was busted (at least on mine, which is autosensing
    and runs in either mmseries or logitech mode depending on the handshake
    code at startup.  Among other things, you talk to it at 1200, then
    switch to the target baud later.

Some remaining problems..  samplerate setting is missing, but I've not
found where this is meant to be set yet.  I presume this is resolution
setting of some kind.
1996-09-10 18:20:46 +00:00