Commit Graph

37 Commits

Author SHA1 Message Date
yokota
350883f04c 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
8375a5e4c1 Add the PnP ID for the Logitech Cordless MouseMan Wheel (serial
version).
2000-01-20 13:39:08 +00:00
sheldonh
4ccbb8d7dc Back out previous commit, which broke mouse wheel support in moused.
Requested by:	yokota
1999-12-17 10:05:36 +00:00
yokota
9cc4f12649 - 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
76e8005487 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
76a78c14d8 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
27eff20bc0 Fix warning: return type of main' is not int' 1999-09-15 01:58:44 +00:00
peter
b6784c4210 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
yokota
9874ef66a5 Add support for the serial version of Interlink VersaPad. 1999-08-17 12:14:59 +00:00
yokota
a67a6931b0 Improve Logitech MouseMan+ protocol support. 1999-07-12 15:16:14 +00:00
yokota
17fc514707 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
f444394b80 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
d5e15beaec Print "usb" for MOUSE_IF_USB, rather than "unknown". 1999-02-28 09:18:57 +00:00
steve
df11951e3f 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
24f9b80504 - 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
09ad04dc89 - 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
a9a815f9f2 - Reorganized a `if-else' close a bit for clarity. Purely cosmetic
change.  No functional difference.
1998-11-20 11:17:59 +00:00
yokota
35261e607e 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
2336d7ef33 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
b3f95ab211 - 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
6fcee57296 Add -I flag.
Submitted by:	Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1998-03-07 09:03:43 +00:00
yokota
d68b8e48a2 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
e95e60885b Add Genius PnP Mouse (simple one) 1998-02-04 06:46:33 +00:00
yokota
40cc7b388c Add the PnP string for a Logitech serial mouse model. 1998-01-20 03:38:36 +00:00
yokota
0fc42ca567 - 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
f197849e5f Oops, I forgot to set `cflag' in some cases when initializing the
mouse port.
1997-12-15 02:57:45 +00:00
yokota
7166a0913c 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
1c1c15a766 Remove unused variables. Lowercase err() strings. 1997-09-25 06:44:39 +00:00
imp
15c4d207bc 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
f5d2b76b13 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
32d6b795de Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
sos
8ba832a1b0 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
9c0cd3f9df 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
f3a7064d80 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
d3115d7869 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
a0b7045f41 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
6b5d7e0d13 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