---
name: "moused.conf"
section: "5"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/moused.conf"
---

# moused.conf(5)

mouse daemon configuration file

## NAME

**moused.conf** – mouse daemon configuration file

## DESCRIPTION

The **moused.conf** file specifies how the [moused(8)](/moused/8.md) (mouse daemon) should operate. It provides ability to adjust certain mice parameters on per-device basis.

Configuration file format is derived from [libinput(1)](/libinput/1.md) device quirk files. A file may contain multiple section headers (\[some identifier\]) followed by one or more MatchFoo=Bar directives, followed by at least one of MousedFoo=bar or AttrFoo=bar directive. A configuration file must contain at least one section, each section must have at least one ‘Match’ tag and at least one of either ‘Attr’ or ‘Moused’. Section names are free-form and may contain spaces.

### List of currently available matches.

- MatchName, MatchUniq

  Match on the NAME or UNIQ udev property on this device. These properties are typically derived from the device's kernel name or uniq. These matches use **fnmatch**() globs.

- MatchBus

  A lower-case bus name. Currently supported are usb, bluetooth, ps2, rmi, i2c, and spi.

- MatchVendor, MatchProduct, MatchVersion

  The hexadecmial 4-digit vendor ID, product ID or driver version as exported, without a 0x prefix.

- MatchDMIModalias, MatchDeviceTree

  An **fnmatch**() glob for the DMI modalias or the DeviceTree compatible string.

- MatchDevType

  One of touchpad, mouse, pointingstick, keyboard, joystick, tablet, tablet-pad. Only touchpad and mouse types are supported.

### List of currently available Moused tags.

- MousedGrabDevice

  Only for evdev interface. Become the sole recipient of all incoming input events. This prevents other processes from getting input events on the device.

  Use **-g** option alternatively.

- MousedIgnoreDevice

  Ignore given device.

- MousedClickThreshold

  Set double click speed as the maximum interval in msec between button clicks. Without this option, the default value of 500 msec will be assumed. This option will have effect only on the cut and paste operations in the text mode console. The user program which is reading mouse data via [sysmouse(4)](/sysmouse/4.md) will not be affected.

  Use **-C** option alternatively.

- MousedEmulateThirdButton

  Emulate the third (middle) button for 2-button mice. It is emulated by pressing the left and right physical buttons simultaneously.

  Use **-3** option alternatively.

- MousedEmulateThirdButtonTimeout

  When the third button emulation is enabled (see above), the [moused(8)](/moused/8.md) utility waits *MousedEmulateThirdButtonTimeout* msec at most before deciding whether two buttons are being pressed simultaneously. The default timeout is 100 msec.

  Use **-E** option alternatively.

- MousedLinearAccelX

  - MousedLinearAccelY

  - MousedLinearAccelZ

  Accelerate or decelerate the mouse input. This is a linear acceleration only. Values less than 1.0 slow down movement, values greater than 1.0 speed it up.

  You can use the *MousedLinearAccel* and *MousedExponentialAccel* options at the same time to have the combined effect of linear and exponential acceleration.

  Use **-a** option alternatively.

- MousedExponentialAccel

  - MousedExponentialOffset

  Apply exponential (dynamic) acceleration to mouse movements: the faster you move the mouse, the more it will be accelerated. That means that small mouse movements are not accelerated, so they are still very accurate, while a faster movement will drive the pointer quickly across the screen.

  The *MousedExponentialAccel* value specifies the exponent, which is basically the amount of acceleration.  Useful values are in the range 1.1 to 2.0, but it depends on your mouse hardware and your personal preference.  A value of 1.0 means no exponential acceleration.  A value of 2.0 means squared acceleration (i.e. if you move the mouse twice as fast, the pointer will move four times as fast on the screen). Values beyond 2.0 are possible but not recommended. A good value to start is probably 1.5.

  The optional *MousedExponentialOffset* value specifies the distance at which the acceleration begins.  The default is 1.0, which means that the acceleration is applied to movements larger than one unit. If you specify a larger value, it takes more speed for the acceleration to kick in, i.e. the speed range for small and accurate movements is wider. Usually the default should be sufficient, but if you're not satisfied with the behaviour, try a value of 2.0.

  Note that the **-A** option interacts badly with the X server's own acceleration, which doesn't work very well anyway.  Therefore it is recommended to switch it off if necessary: “xset m 1”.

  Use **-A** option alternatively.

- MousedMapZAxis

  Map Z axis (roller/wheel) movement to another axis or to virtual buttons. Does not supported yet. Use **-z** option instead.

- MousedVirtualScrollEnable

  Enable “Virtual Scrolling”. With this option set, holding the middle mouse button down will cause motion to be interpreted as scrolling. Use the *MousedVirtualScrollThreshold* option to set the distance the mouse must move before the scrolling mode is activated and the *MousedVirtualScrollSpeed* option to set the scrolling speed.

  Use **-V** option alternatively.

- MousedHorVirtualScrollEnable

  Enable “Horizontal Virtual Scrolling”. With this option set, holding the middle mouse button down will cause motion to be interpreted as horizontal scrolling. Use the *MousedVirtualScrollThreshold* option to set the distance the mouse must move before the scrolling mode is activated and the *MousedVirtualScrollSpeed* option to set the scrolling speed. This option may be used with or without the *MousedVirtualScrollEnable* option.

  Use **-H** option alternatively.

- MousedVirtualScrollSpeed= *distance*

  When “Virtual Scrolling” is enabled, the *MousedVirtualScrollSpeed* option can be used to set the *distance* (in pixels) that the mouse must move before a scroll event is generated. This effectively controls the scrolling speed. The default *distance* is 2 pixels.

  Use **-L** option alternatively.

- MousedVirtualScrollThreshold= *distance*

  When “Virtual Scrolling” is enabled, the *MousedVirtualScrollThreshold* option can be used to set the *distance* (in pixels) that the mouse must move before the scrolling mode is activated. The default *distance* is 3 pixels.

  Use **-U** option alternatively.

- MousedWMode= *N*

  Make the physical button *N* act as the wheel mode button. While this button is pressed, X and Y axis movement is reported to be zero and the Y axis movement is mapped to Z axis. You may further map the Z axis movement to virtual buttons by the *MousedMapZAxis* tag.

  Use **-w** option alternatively.

### List of currently available Moused mice specific tags.

- MousedDriftTerminate

  - MousedDriftDistance

  - MousedDriftTime

  - MousedDriftAfter

  Terminate drift. Use this option if mouse pointer slowly wanders when mouse is not moved. Movements up to *MousedDriftDistance* (for example 4) pixels (X+Y) in *MousedDriftTime* msec (default 500) are ignored, except during *MousedDriftAfter* msec (default 4000) since last real mouse movement.

  Use **-T** option alternatively.

### List of currently available Moused touchpad specific tags.

- MousedTwoFingerScroll

  Enable two finger scrolling.

- MousedNaturalScroll

  Enable natural scrolling.

- MousedThreeFingerDrag

  Enable dragging with three fingers.

- MousedSoftButton2X

  Horizontal position of 2-nd softbutton left edge in percents. (0-disable)

- MousedSoftButton3X

  Horizontal position of 3-rd softbutton left edge in percents. (0-disable)

- MousedSoftButtonsY

  Vertical size of softbuttons area in percents. Use negative values to place softbutton area at top of touchpad.

- MousedTapTimeout

  Tap timeout in milliseconds

- MousedTapPressureThreshold

  Pressure threshold to detect tap.

- MousedTapMaxDelta

  Length of finger movement above which a tap is ignored measured in mm.

- MousedTapholdTimeout

  Maximum elapsed time between two taps to consider a tap-hold action.

- MousedVScrollMinDelta

  Minimum movement to consider virtual scrolling.

- MousedVScrollHorArea

   Area reserved for horizontal virtual scrolling in mm.

- MousedVScrollVerArea

  Area reserved for vertical virtual scrolling in mm.

### List of currently available libinput-compatible tags.

- AttrSizeHint

  Hints at the width x height of the device in mm.

- AttrTouchSizeRange

  Not supported yet.

- AttrPalmSizeThreshold

  Maximum finger width to detect palm in mm.

- AttrLidSwitchReliability

  Not supported yet.

- AttrKeyboardIntegration

  Not supported yet.

- AttrPointingStickIntegration

  Not supported yet.

- AttrTPKComboLayout

  Not supported yet.

- AttrPressureRange= *N*: *M*

  Specifies the touch pressure required to trigger a press *N* and to trigger a release *M*.

- AttrPalmPressureThreshold

  Maximum pressure to detect palm.

- AttrResolutionHint

  Hints at the resolution of the x/y axis in units/mm.

- AttrTrackpointMultiplier

  Not supported yet.

- AttrThumbPressureThreshold

  Not supported yet.

- AttrUseVelocityAveraging

  Not supported yet.

- AttrTabletSmoothing

  Not supported yet.

- AttrThumbSizeThreshold

  Not supported yet.

- AttrMscTimestamp

  Not supported yet.

- AttrEventCode

  Enables or disables the evdev event type/code tuples on the device. The prefix for each entry is either ‘+’ (enable) or ‘-’ (disable). Entries may be a named event type, or a named event code, or a named event type with a hexadecimal event code, separated by a single colon.

- AttrInputProp

  Enables or disables the evdev input property on the device. The prefix for each entry is either ,Sq + (enable) or ‘-’ (disable). Entries may be a named input property or the hexadecimal value of that property.

All [libinput(1)](/libinput/1.md) ‘Model’ quirks are currently ignored.

## FILES

- */usr/local/etc/moused.conf*

  The file **moused.conf** resides in */usr/local/etc*.

- */usr/local/share/moused/\*.quirks*

  Predefined quirks processed before **moused.conf**.

## EXAMPLES

Set touch pressure and palm detection thresholds for PS/2 Synaptics touchpad:

```
[SynPS/2 Synaptics TouchPad]
MatchDevType=touchpad
MatchName=SynPS/2 Synaptics TouchPad
AttrPressureRange=35:30
AttrPalmPressureThreshold=220
```

## SEE ALSO

[moused(8)](/moused/8.md)

[libinput(1)](/libinput/1.md) device quirk format: **https://wayland.freedesktop.org/libinput/doc/latest/device-quirks.html**

## HISTORY

The **moused.conf** file format first appeared in FreeBSD 15.0.

## AUTHORS

This manual page was written by Vladimir Kondratyev ⟨*wulf@FreeBSD.org*⟩ based on [moused(8)](/moused/8.md) manual page and [libinput(1)](/libinput/1.md) documentation.
