Commit Graph

47 Commits

Author SHA1 Message Date
phk
410d456c0b 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
phk
a4f549597e 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
yokota
1f7d68ff76 Reduce the default timeout for the three button emulation
from 200 msec to 100 msec.
2000-04-21 14:20:25 +00:00
roberto
575ea395ba 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
yokota
89ff8e1b55 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
yokota
4be601e0e6 Remove unwanted debug output.
PR: bin/17617
Submitted by: Allan Saddi <asaddi@philosophysw.com>
2000-03-31 12:35:33 +00:00
yokota
f274a82c14 - 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
yokota
dab887853d Add Mitsumi Wireless Scroll Mouse PnP ID. 2000-03-20 08:11:11 +00:00
yokota
7a3e2aba1e - 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
ache
5e39e4a14f Add Tremon Wheel PNP mouse 2000-03-15 16:46:12 +00:00
yokota
03d3e7d2ba 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
yokota
8a0116ed59 Add the PnP ID for the Logitech Cordless MouseMan Wheel (serial
version).
2000-01-20 13:39:08 +00:00
sheldonh
f4fc7fc5af Back out previous commit, which broke mouse wheel support in moused.
Requested by:	yokota
1999-12-17 10:05:36 +00:00
yokota
efcb9d59cb - 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
n_hibma
7e8059a1c2 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
n_hibma
1828a31cb5 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
9751ab22ae Fix warning: return type of main' is not int' 1999-09-15 01:58:44 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
yokota
cf21d97ccd Add support for the serial version of Interlink VersaPad. 1999-08-17 12:14:59 +00:00
yokota
0f9ac80cac Improve Logitech MouseMan+ protocol support. 1999-07-12 15:16:14 +00:00
yokota
53f4c06394 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
gpalmer
8f5a036473 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
yokota
a9ceb881de Print "usb" for MOUSE_IF_USB, rather than "unknown". 1999-02-28 09:18:57 +00:00
steve
a8cfc40f4d 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
yokota
1f03d6ad71 - 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
yokota
785bd0be95 - 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
yokota
de32e43436 - Reorganized a `if-else' close a bit for clarity. Purely cosmetic
change.  No functional difference.
1998-11-20 11:17:59 +00:00
yokota
e9d42a9077 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
ahasty
a75c402e98 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
yokota
96f309afbd - Describe the -I option in the man page.
- Add the -I option in the usage line.
1998-03-12 15:00:06 +00:00
jkh
6617de6e25 Add -I flag.
Submitted by:	Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1998-03-07 09:03:43 +00:00
yokota
372d0890a6 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
ache
daf30b2504 Add Genius PnP Mouse (simple one) 1998-02-04 06:46:33 +00:00
yokota
a0e6b8c1d8 Add the PnP string for a Logitech serial mouse model. 1998-01-20 03:38:36 +00:00
yokota
643a53fdee - 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
yokota
b7cdca40ba Oops, I forgot to set `cflag' in some cases when initializing the
mouse port.
1997-12-15 02:57:45 +00:00
yokota
e39f5b7c76 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
charnier
50b0f8d6fc Remove unused variables. Lowercase err() strings. 1997-09-25 06:44:39 +00:00
imp
691010efad 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
8a46d2ea36 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
b782f4df30 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
sos
ce1db87b0f 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
jkh
808a36ef65 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
8b1c3c6eb6 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
sos
a6a179df03 Fix for the problem that moused hangs if it is started from /etc/rc
Introduces the /dev/consolectl device for controlling various
console related things (given syscons is used).
1996-09-09 18:47:47 +00:00
sos
860f339c72 Change the way moused talk to syscons, now its only delivering mouseevents
via an ioctl (MOUSE_ACTION).
Fixed a couple of bugs (destructive cursor, uncut, jitter).
Now applications can use the mouse via the MOUSE_MODE ioctl, its
possible to have a signal sent on mouseevents, makeing an event loop
in the application take over mouseevents.
1996-06-25 08:54:57 +00:00
sos
4bd1b9c864 Moused is the daemon that provides the connection between the cut&paste
functionality in syscons and the real mouse hardware. If moused is
run one can switch on/off the mousepointer with vidcontrol -m on/off.
There is no manpage yet, but a fairly descriptive usage message....

Reviewed by:sos
Submitted by:	Michael Smith
Obtained from:Some of the mouselogic comes from XFree86
1996-06-21 09:24:09 +00:00