From 633a503c6c6b146ae73e1c6a6982d30dfff77be4 Mon Sep 17 00:00:00 2001 From: John Fieber Date: Sun, 1 Feb 1998 23:02:37 +0000 Subject: [PATCH] Update information on mouse support. Submitted by: Kazutaka YOKOTA --- FAQ/hardware.sgml | 96 ++++++++++++++++++++++++++++++++++++++++++----- FAQ/x.sgml | 91 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 170 insertions(+), 17 deletions(-) diff --git a/FAQ/hardware.sgml b/FAQ/hardware.sgml index 4949d3299a..467dd2a9ef 100644 --- a/FAQ/hardware.sgml +++ b/FAQ/hardware.sgml @@ -1,4 +1,4 @@ - + @@ -144,21 +144,27 @@ name="sio"> man page to get more information on configuring such cards. - I have an unusual bus mouse. How do I set it up? + I have an unusual bus mouse. How do I set it up? -

FreeBSD supports the Logitech and ATI Inport bus mice. You need - to add the following line to the kernel config file and recompile - for the Logitech and ATI mice: +

FreeBSD supports the bus mouse and the InPort bus mouse from such + manufactures as Microsoft, Logitech and ATI. The bus device driver + is compiled in the GENERIC kernel by default. If you are building + a custom kernel with the bus mouse driver, make sure to add the + following line to the kernel config file: device mse0 at isa? port 0x23c tty irq5 vector mseintr +

The bus mouse usually comes with an dedicatd interface card. + It may allow you to set the port address and the IRQ number other + than shown above. Refer to the manual of your mouse and the + + man page for more information. + - How do I use my PS/2 (``keyboard'') mouse? - + How do I use my PS/2 (``mouse port'' or ``keyboard'') mouse?

If you're running a relatively recent version of FreeBSD then you can simply enable it in the kernel configuration menu @@ -172,8 +178,6 @@ device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr - # Options for psm: - options PSM_CHECKSYNC #checks the header byte for sync.

See the when logged in as root. + + Is it possible to make use of a mouse in any way outside the X Window? + +

If you are using the default console driver, syscons, you can + use a mouse pointer in text consoles to cut & paste text. + Run the mouse daemon, moused, and turn on the mouse pointer + in the virtual console: + + + moused -p /dev/xxxx -t yyyy + vidcontrol -m on + + +

Where xxxx is the mouse device name and yyyy + is a protocol type for the mouse. See the + + man page for supported protocol types. + +

You may wish to run the mouse daemon automatically when the + system starts. In version 2.2.1, set the following variables in + /etc/sysconfig. + + + mousedtype="yyyy" + mousedport="xxxx" + mousedflags="" + + + In versions 2.2.2 or later, set the following variables in + /etc/rc.conf. + + + moused_type="yyyy" + moused_port="xxxx" + moused_flags="" + + +

Staring from FreeBSD 2.2.6, the mouse daemon is capable of + determining the correct protocol type automatically unless the mouse + is a relatively old serial mouse model. Specify ``auto'' as + the protocol to invoke automatic detection. + +

When the mouse daemon is running, access to the mouse needs to be + coordinated between the mouse daemon and other programs such as the + X Window. Refer to + on this issue". + + + How do I cut and paste text with mouse in the text console? + +

Once you get the mouse deamon running (see ), hold down the button 1 (left button) + and move the mouse to select a region of + text. Then, press the button 2 (middle button) or the button 3 (right + button) to paste it at the text cursor. + +

In versions 2.2.6 and later, pressing the button 2 will paste + the text. Pressing the button 3 will ``extend'' the selected region + of text. If your mouse does not have the middle button, you may wish + to emulate it or remap buttons using moused options. See the + + man page for details. + + + My mouse has a fancy wheel and buttons. Can I use them in FreeBSD? + +

The answer is, unfortunately, ``It depends.'' These mice with + additional features require specialized driver in most cases. + Unless the mouse device driver or the user program has specific + support for the mouse, it will act just like a standard two, or + three button mouse. + How do I use the mouse/trackball/touchpad on my laptop? diff --git a/FAQ/x.sgml b/FAQ/x.sgml index 553622944b..4a380f50c7 100644 --- a/FAQ/x.sgml +++ b/FAQ/x.sgml @@ -1,4 +1,4 @@ - + @@ -20,7 +20,7 @@ for more details. - Why doesn't my mouse work with X + Why doesn't my mouse work with X

If you are using syscons (the default console driver), you can configure FreeBSD to support a mouse pointer on each virtual @@ -244,11 +244,13 @@ My PS/2 mouse doesn't behave properly under X. -

Your mouse and the mouse driver have somewhat become out of - synchronization. Switching away from X to a virtual terminal - and getting back to X again may make them re-synchronized. - If the problem occurs often, you may add the following option - in your kernel configuration file and recompile it. +

Your mouse and the mouse driver may have somewhat become out of + synchronization. + +

In versions 2.2.5 and earlier, switching away from X to a + virtual terminal and getting back to X again may make them + re-synchronized. If the problem occurs often, you may add the + following option in your kernel configuration file and recompile it. options PSM_CHECKSYNC @@ -266,5 +268,80 @@ systems and voids the ``tap'' feature of the ALPS GlidePoint device attached to the PS/2 mouse port. +

In versions 2.2.6 and later, synchronization check is done + in a slightly better way and is standard in the PS/2 mouse driver. + It should even work with GlidePoint. (As the check code has become + a standard feature, PSM_CHECKSYNC option is not available in these + versions.) However, in rare case the driver may erroneously report + synchronization problem and you may see the kernel message: + + + psmintr: out of sync (xxxx != yyyy) + + + and find your mouse doesn't seem to work properly. + +

If this happens, disable the synchronization check code by + setting the driver flags for the PS/2 mouse driver to 0x100. + Enter UserConfig by giving the ``-c'' option + at the boot prompt: + + + boot: -c + + + Then, in the UserConfig command line, type: + + + UserConfig> flags psm0 0x100 + UserConfig> quit + + + + My PS/2 mouse from MouseSystems doesn't seem to work. + +

There have been some reports that certain model of PS/2 mouse + from MouseSystems works only if it is put into the ``high resolution'' + mode. Otherwise, the mouse cursor may jump to the upper-left + corner of the screen every so often. + +

Unfortunately there is no workaround for versions 2.0.X and + 2.1.X. In versions 2.2 through 2.2.5, apply the following patch + to /sys/i386/isa/psm.c and rebuild the kernel. See the + section on + if you've no experience with building kernels. + + +diff -u psm.c.orig psm.c +@@ -766,6 +766,8 @@ + if (verbose >= 2) + log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n", + unit, i); ++ set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH); ++ + #if 0 + set_mouse_scaling(sc->kbdc); /* 1:1 scaling */ + set_mouse_mode(sc->kbdc); /* stream mode */ + + +

In versions 2.2.6 or later, specify the flags 0x04 to the PS/2 + mouse driver to put the mouse into the high resolution mode. + Enter UserConfig by giving the ``-c'' option + at the boot prompt: + + + boot: -c + + + Then, in the UserConfig command line, type: + + + UserConfig> flags psm0 0x04 + UserConfig> quit + + +

See the previous section for another possible cause of mouse + problems. +