MOUSED.CONF(5)            FreeBSD File Formats Manual           MOUSED.CONF(5)

NAME

     moused.conf - mouse daemon configuration file

DESCRIPTION

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

     Configuration file format is derived from libinput(1) 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) 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) 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) `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)

     libinput(1) 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) manual page and libinput(1) documentation.

FreeBSD 15.1-STABLE-HBSD         May 19, 2025                   MOUSED.CONF(5)