Package: xserver-xorg-input-libinput Version: 1.4.0-1 Severity: minor Tags: patch
* What led up to the situation? Checking for defects with a new version test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z < "man page" [Use "groff -e ' $' -e '\\~$' <file>" to find obvious trailing spaces.] ["test-groff" is a script in the repository for "groff"; is not shipped] (local copy and "troff" slightly changed by me). [The fate of "test-nroff" was decided in groff bug #55941.] * What was the outcome of this action? an.tmac:<stdin>:19: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:47: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:48: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:49: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:102: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:103: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:104: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:169: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:171: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:177: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:180: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:186: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:187: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:188: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:189: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:196: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:197: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:198: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:255: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:259: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:263: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:267: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:269: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:271: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:279: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:281: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:283: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:292: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:297: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:303: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:307: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:311: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:315: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:321: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:325: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:329: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:333: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:337: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:340: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:344: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:348: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:352: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:356: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:361: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:366: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:370: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:376: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:379: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:383: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:386: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:391: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. * What outcome did you expect instead? No output (no warnings). -.- General remarks and further material, if a diff-file exist, are in the attachments. -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.12.11-amd64 (SMP w/2 CPU threads; PREEMPT) Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: sysvinit (via /sbin/init) Versions of packages xserver-xorg-input-libinput depends on: ii libc6 2.40-6 ii libinput10 1.26.2-1 ii xserver-xorg-core [xorg-input-abi-24] 2:21.1.15-2 xserver-xorg-input-libinput recommends no packages. xserver-xorg-input-libinput suggests no packages. -- no debconf information
Input file is libinput.4 Output from "mandoc -T lint libinput.4": (shortened list) 1 input text line longer than 80 bytes: Sets the step betwee... 1 input text line longer than 80 bytes: The string must be a... 1 input text line longer than 80 bytes: There are 3 custom a... 1 input text line longer than 80 bytes: When a step of 0.0 i... 1 input text line longer than 80 bytes: a linear interpolati... 1 input text line longer than 80 bytes: depressed curve (fir... 1 input text line longer than 80 bytes: function f(x) where ... -.-. Output from "test-groff -mandoc -t -ww -z libinput.4": (shortened list) 51 Use macro '.B' for one argument or split argument. 51 .BI is for at least 2 arguments, got 1 -.-. Use the correct macro for the font change of a single argument or split the argument into two. 169:.BI ScrollMethod 171:.BI button 177:.BI ScrollButton 180:.BI ScrollButton 255:.BI "libinput Accel Profiles Available" 259:.BI "libinput Accel Profile Enabled" 263:.BI "libinput Accel Speed" 267:.BI "libinput Accel Custom Fallback Points" 269:.BI "libinput Accel Custom Motion Points" 271:.BI "libinput Accel Custom Scroll Points" 279:.BI "libinput Accel Custom Fallback Step" 281:.BI "libinput Accel Custom Motion Step" 283:.BI "libinput Accel Custom Scroll Step" 292:.BI "libinput Button Scrolling Button" 297:.BI "libinput Button Scrolling Button Lock Enabled" 303:.BI "libinput Calibration Matrix" 307:.BI "libinput Click Methods Available" 311:.BI "libinput Click Methods Enabled" 315:.BI "libinput Drag Lock Buttons" 321:.BI "libinput High Resolution Wheel Scroll Enabled" 325:.BI "libinput Horizontal Scroll Enabled" 329:.BI "libinput Left Handed Enabled" 333:.BI "libinput Middle Emulation Enabled" 337:.BI "libinput Natural Scrolling Enabled" 340:.BI "libinput Rotation Angle" 344:.BI "libinput Scroll Methods Available" 348:.BI "libinput Scroll Method Enabled" 352:.BI "libinput Scroll Pixel Distance" 356:.BI "libinput Send Events Modes Available" 361:.BI "libinput Send Events Mode Enabled" 366:.BI "libinput Tablet Tool Pressurecurve" 370:.BI "libinput Tablet Tool Area Ratio" 376:.BI "libinput Tapping Enabled" 379:.BI "libinput Tapping Button Mapping Enabled" 383:.BI "libinput Tapping Drag Lock Enabled" 386:.BI "libinput Disable While Typing Enabled" 391:.BI "libinput <property name> Default" -.-. Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-), if it is in front of a name for an option, is a symbol for standard input, is a single character used to indicate an option, or is in the NAME section (man-pages(7)). N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen (0x2010, groff \[u2010] or \[hy]) in the output. 55:Sets the pointer acceleration speed within the range [-1, 1]. 264:1 32-bit float value, defines the pointer speed. Value range -1, 1. -.-. Strings longer than 3/4 of a standard line length (80) Use "\:" to split the string at the end of an output line, for example a long URLs (web address) 511 https://wayland.freedesktop.org/libinput/doc/latest/pointer-acceleration.html#the-custom-acceleration-profile -.-. Add a comma (or \&) after "e.g." and "i.e.", or use English words (man-pages(7)). Abbreviation points should be protected against being interpreted as an end of sentence, if they are not, and that independent of the current place on the line. 64:The string must be a space-separated list of floating point non-negative numbers, e.g. 138:device button numbers, i.e. the 154:Enables left-handed button orientation, i.e. swapping left and right buttons. 217:value "default" is used for the default mapping (i.e. the device-native 272:A space-separated list of 32-bit floating point non-negative numbers, e.g. 440:of the stylus can be adjusted to be more like e.g. a pencil or a brush. 468:The area always starts at the device's origin in it's current rotation, i.e. -.-. Wrong distance between sentences in the input file. Separate the sentences and subordinate clauses; each begins on a new line. See man-pages(7) ("Conventions for source file layout") and "info groff" ("Input Conventions"). The best procedure is to always start a new sentence on a new line, at least, if you are typing on a computer. Remember coding: Only one command ("sentence") on each (logical) line. E-mail: Easier to quote exactly the relevant lines. Generally: Easier to edit the sentence. Patches: Less unaffected text. Search for two adjacent words is easier, when they belong to the same line, and the same phrase. The amount of space between sentences in the output can then be controlled with the ".ss" request. Mark a final abbreviation point as such by suffixing it with "\&". N.B. The number of lines affected is too large to be in a patch. 17:This is the man page for the X input driver. If you are looking for the 32:per-device configuration. Devices configured in the 45:Sets the pointer acceleration profile to the given profile. Permitted values 50:Not all devices support this option or all profiles. If a profile is 51:unsupported, the default profile for this device is used. For a description 83:XSetPointerMapping(3). The string must be a 86:The default mapping is "1 2 3 ... 32". A mapping of 0 87:deactivates the button. Multiple buttons can have the same mapping. 89:is used for all buttons. Buttons not specified in the user's mapping use the 90:default mapping. See section 101:Enables a click method. Permitted values are 118:The mapping from device node to hardware is system-dependent. Property: 123:been physically released. To logically release a locked button, a second click 127:"meta" locking button for the next button number. See section 133:to be locked. See section 138:device button numbers, i.e. the 143:Disables high-resolution wheel scroll events, enabled by default. When enabled, 148:Enables or disables horizontal scrolling. When disabled, this driver will 149:discard any horizontal scroll events from libinput. This does not disable 151:from any scroll events. Default is enabled. 154:Enables left-handed button orientation, i.e. swapping left and right buttons. 157:Enables middle button emulation. When enabled, pressing the left and right 165:clockwise. The angle must be between 0.0 (inclusive) and 360.0 (exclusive). 168:Designates a button as scroll button. If the 176:Enables or disables the scroll button lock. If enabled, the 179:the second click of that button. If disabled (the default), the 185:Enables a scroll method. Permitted values are 195:wheel click. This option only applies to the scroll methods 209:points. The respective x/y coordinate must be in the [0.0, 1.0] range. For 214:Sets the area ratio for a tablet tool. The area always starts at the 216:aspect ratio. Events outside this area are cropped to the area. The special 217:value "default" is used for the default mapping (i.e. the device-native 218:mapping). For more information see section 229:Enables or disables drag during tapping behavior ("tap-and-drag"). When 237:Enables or disables drag lock during tapping behavior. When enabled, a 238:finger up during tap-and-drag will not immediately release the button. If 243:configuration option. For all options, the default value is the one used by 244:libinput. On configuration failure, the default value is applied. 248:exports runtime-configurable options as properties. If a property listed 250:on the device. This however does not imply that the feature is not available 251:on the device. The following properties are provided by the 264:1 32-bit float value, defines the pointer speed. Value range -1, 1. 293:1 32-bit value. Sets the button number to use for button scrolling. This 298:1 boolean value. If true, the scroll button lock is enabled. This 317:button pairs. See section 322:1 boolean value (8 bit, 0 or 1). Indicates whether high-resolution 326:1 boolean value (8 bit, 0 or 1). Indicates whether horizontal scrolling 330:1 boolean value (8 bit, 0 or 1). Indicates if left-handed mode is enabled or 334:1 boolean value (8 bit, 0 or 1). Indicates if middle emulation is enabled or 338:1 boolean value (8 bit, 0 or 1). 1 enables natural scrolling 341:1 32-bit float value [0.0 to 360.0). Sets the rotation angle of the device, 358:"disabled-on-external-mouse". Indicates which send-event modes are available 363:"disabled-on-external-mouse". Indicates which send-event modes is currently 367:4 32-bit float values [0.0 to 1.0]. See section 371:2 32-bit values, corresponding to width and height. Special value 0, 0 372:resets to the default ratio. See section 377:1 boolean value (8 bit, 0 or 1). 1 enables tapping 380:2 boolean value (8 bit, 0 or 1), in order "lrm" and "lmr". Indicates which 384:1 boolean value (8 bit, 0 or 1). 1 enables drag lock during tapping 387:1 boolean value (8 bit, 0 or 1). Indicates if disable while typing is 397:7 are usually interpreted as scroll up, down, left, right. The fourth and 421:has been physically released since. Button drag lock comes in two modes. 424:button press of any other button. A button click in the future will keep 426:button. The meta button events themselves are discarded. A separate meta 432:next click of the same button. The button events themselves are discarded 438:The pressure curve affects how stylus pressure is reported. By default, the 439:hardware pressure is reported as-is. By setting a pressure curve, the feel 440:of the stylus can be adjusted to be more like e.g. a pencil or a brush. 443:of 0.0 to 1.0 between the four points provided. This normalized range is 445:1.0. The points must have increasing x coordinates, if x0 is larger than 0.0 446:all pressure values lower than x0 are equivalent to y0. If x3 is less than 458:area is mapped to the available screen area. For external tablets like 463:ratio of the screen device. For example, a ratio of 4:3 will reduce the 465:4:3. Events within this area will scale to the tablet's announced axis 466:range, the area ratio is thus transparent to the X server. Any events 475:smooth scrolling. All scroll events however are based around a logical 480:libinput provides scroll data in pixels. The \fBScrollPixelDistance\fR 481:option defines the amount of movement equivalent to one wheel click. For 487:acceleration behavior at different speeds. libinput exposes an acceleration 515:node in \fI/dev/input/by-id\fR and \fI/dev/input/by-path\fR. This can be -.-. Split lines longer than 80 characters into two or more lines. Appropriate break points are the end of a sentence and a subordinate clause; after punctuation marks. Line 64, length 86 The string must be a space-separated list of floating point non-negative numbers, e.g. Line 75, length 86 Sets the step between the points of the Fallback/Motion/Scroll acceleration functions. Line 76, length 82 When a step of 0.0 is provided, libinput's Fallback acceleration function is used. Line 451, length 88 depressed curve (firmer) might be "0.0/0.0 0.05/0.0 1.0/0.95 1.0/1.0"; a slightly raised Line 488, length 82 function f(x) where the x-axis is the device speed in device units per millisecond Line 498, length 82 a linear interpolation/extrapolation of the two closest points will be calculated. Line 500, length 86 There are 3 custom acceleration function, which are used for different movement types: Line 511, length 109 https://wayland.freedesktop.org/libinput/doc/latest/pointer-acceleration.html#the-custom-acceleration-profile -.-. Split a punctuation mark from a single argument for a two-font macro 47:.BI adaptive, 48:.BI flat, 49:.BI custom. 102:.BI none, 103:.BI buttonareas, 104:.BI clickfinger. 186:.BI none, 187:.BI twofinger, 188:.BI edge, 189:.BI button. 196:.BI twofinger, 197:.BI edge, 198:.BI button. -.-. The name of a man page is typeset in bold and the section in roman (see man-pages(7)). 31:directive (refer to xorg.conf(5)) instead of manual 33:xorg.conf(5) are not hot-plug capable. 36:Please refer to xorg.conf(5) for general configuration 83:XSetPointerMapping(3). The string must be a 416:Use XSetPointerMapping(3) to modify the button mapping at 517:appropriate \fBMatch*\fR statement in the xorg.conf(5). 522:Xorg(1), xorg.conf(5), Xserver(1), X(7) -.-. Split a punctuation from a single argument, if a two-font macro is meant. 211:.B TABLET STYLUS PRESSURE CURVE. 219:.B TABLET TOOL AREA RATIO. -.-. Put a parenthetical sentence, phrase on a separate line, if not part of a code. See man-pages(7), item "semantic newline". Not considered in a patch, too many lines. libinput.4:31:directive (refer to xorg.conf(5)) instead of manual libinput.4:179:the second click of that button. If disabled (the default), the libinput.4:256:3 boolean values (8 bit, 0 or 1), in order "adaptive", "flat", "custom". libinput.4:260:3 boolean values (8 bit, 0 or 1), in order "adaptive", "flat", "custom". libinput.4:308:2 boolean values (8 bit, 0 or 1), in order "buttonareas", "clickfinger". libinput.4:312:2 boolean values (8 bit, 0 or 1), in order "buttonareas", "clickfinger". libinput.4:322:1 boolean value (8 bit, 0 or 1). Indicates whether high-resolution libinput.4:326:1 boolean value (8 bit, 0 or 1). Indicates whether horizontal scrolling libinput.4:330:1 boolean value (8 bit, 0 or 1). Indicates if left-handed mode is enabled or libinput.4:334:1 boolean value (8 bit, 0 or 1). Indicates if middle emulation is enabled or libinput.4:338:1 boolean value (8 bit, 0 or 1). 1 enables natural scrolling libinput.4:345:3 boolean values (8 bit, 0 or 1), in order "two-finger", "edge", "button". libinput.4:349:3 boolean values (8 bit, 0 or 1), in order "two-finger", "edge", "button". libinput.4:353:1 32-bit value (nonzero, with additional implementation-defined range checks). libinput.4:357:2 boolean values (8 bit, 0 or 1), in order "disabled" and libinput.4:362:2 boolean values (8 bit, 0 or 1), in order "disabled" and libinput.4:377:1 boolean value (8 bit, 0 or 1). 1 enables tapping libinput.4:380:2 boolean value (8 bit, 0 or 1), in order "lrm" and "lmr". Indicates which libinput.4:384:1 boolean value (8 bit, 0 or 1). 1 enables drag lock during tapping libinput.4:387:1 boolean value (8 bit, 0 or 1). Indicates if disable while typing is libinput.4:476:unit of scrolling (traditionally corresponding to a wheel click). libinput.4:495:(0 * step, f[0]), (1 * step, f[1]), ..., ((n-1) * step, f[n-1]) -.-. Remove quotes when there is a printable but no space character between them and the quotes are not for emphasis (markup), for example as an argument to a macro. 213:.BI "Option \*qTabletToolAreaRatio\*q \*q" "w:h" \*q -.-. Section headings (.SH and .SS) do not need quoting. 521:.SH "SEE ALSO" -.-. Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z ": an.tmac:<stdin>:19: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:47: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:48: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:49: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:102: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:103: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:104: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:169: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:171: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:177: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:180: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:186: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:187: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:188: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:189: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:196: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:197: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:198: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:255: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:259: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:263: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:267: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:269: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:271: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:279: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:281: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:283: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:292: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:297: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:303: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:307: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:311: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:315: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:321: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:325: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:329: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:333: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:337: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:340: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:344: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:348: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:352: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:356: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:361: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:366: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:370: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:376: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:379: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:383: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:386: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:391: misuse, warning: .BI is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument.
--- libinput.4 2025-02-08 02:26:32.566676814 +0000 +++ libinput.4.new 2025-02-08 03:35:48.356226222 +0000 @@ -16,7 +16,7 @@ libinput \- libinput-based X.Org input d .SH NOTE This is the man page for the X input driver. If you are looking for the library documentation, go to -.BI http://wayland.freedesktop.org/libinput/doc/ +.B http://wayland.freedesktop.org/libinput/doc/ .SH DESCRIPTION .B libinput @@ -28,14 +28,21 @@ It is recommended that .B libinput devices are configured through the .B InputClass -directive (refer to xorg.conf(5)) instead of manual -per-device configuration. Devices configured in the -xorg.conf(5) are not hot-plug capable. +directive +(refer to +.BR xorg.conf (5)) +instead of manual per-device configuration. +Devices configured in the +.BR xorg.conf (5) +are not hot-plug capable. .SH CONFIGURATION DETAILS -Please refer to xorg.conf(5) for general configuration -details and for options that can be used with all input drivers. This -section only covers configuration details specific to this driver. +Please refer to +.BR xorg.conf (5) +for general configuration details +and for options +that can be used with all input drivers. +This section only covers configuration details specific to this driver. .PP The following driver .B Options @@ -44,15 +51,15 @@ are supported: .BI "Option \*qAccelProfile\*q \*q" string \*q Sets the pointer acceleration profile to the given profile. Permitted values are -.BI adaptive, -.BI flat, -.BI custom. +.BR adaptive , +.BR flat , +.BR custom . Not all devices support this option or all profiles. If a profile is unsupported, the default profile for this device is used. For a description on the profiles and their behavior, see the libinput documentation. .TP 7 .BI "Option \*qAccelSpeed\*q \*q" float \*q -Sets the pointer acceleration speed within the range [-1, 1]. +Sets the pointer acceleration speed within the range [\-1, 1]. This only applies to the flat or adaptive profile. .TP 7 .BI "Option \*qAccelPointsFallback\*q \*q" string \*q @@ -61,8 +68,9 @@ This only applies to the flat or adaptiv .TQ .BI "Option \*qAccelPointsScroll\*q \*q" string \*q Sets the points of the Fallback/Motion/Scroll acceleration functions. -The string must be a space-separated list of floating point non-negative numbers, e.g. -"0.0 1.0 2.4 2.5". +The string must be a space-separated list of floating point +non-negative numbers, +e.g., "0.0 1.0 2.4 2.5". This only applies to the custom profile. See section .B CUSTOM ACCELERATION PROFILE @@ -72,15 +80,19 @@ See section .BI "Option \*qAccelStepMotion\*q \*q" float \*q .TQ .BI "Option \*qAccelStepScroll\*q \*q" float \*q -Sets the step between the points of the Fallback/Motion/Scroll acceleration functions. -When a step of 0.0 is provided, libinput's Fallback acceleration function is used. +Sets the step between the points of the Fallback/Motion/Scroll +acceleration functions. +When a step of 0.0 is provided, +libinput's Fallback acceleration function is used. This only applies to the custom profile. See section .B CUSTOM ACCELERATION PROFILE .TP 7 .BI "Option \*qButtonMapping\*q \*q" string \*q -Sets the logical button mapping for this device, see -XSetPointerMapping(3). The string must be a +Sets the logical button mapping for this device, +see +.BR XSetPointerMapping (3). +The string must be a space-separated list of button mappings in the order of the logical buttons on the device, starting with button 1. The default mapping is "1 2 3 ... 32". A mapping of 0 @@ -99,9 +111,9 @@ the second row is (def) and the third ro .TP 7 .BI "Option \*qClickMethod\*q \*q" string \*q Enables a click method. Permitted values are -.BI none, -.BI buttonareas, -.BI clickfinger. +.BR none , +.BR buttonareas , +.BR clickfinger . Not all devices support all methods, if an option is unsupported, the default click method for this device is used. .TP 7 @@ -135,7 +147,7 @@ to be locked. See section for details. .IP For both meta and button pair configuration, the button numbers are -device button numbers, i.e. the +device button numbers, i.e., the .B ButtonMapping applies after drag lock. .TP 7 @@ -151,7 +163,7 @@ horizontal scroll events from libinput; from any scroll events. Default is enabled. .TP 7 .BI "Option \*qLeftHanded\*q \*q" bool \*q -Enables left-handed button orientation, i.e. swapping left and right buttons. +Enables left-handed button orientation, i.e., swapping left and right buttons. .TP 7 .BI "Option \*qMiddleEmulation\*q \*q" bool \*q Enables middle button emulation. When enabled, pressing the left and right @@ -166,41 +178,42 @@ clockwise. The angle must be between 0.0 .TP 7 .BI "Option \*qScrollButton\*q \*q" int \*q Designates a button as scroll button. If the -.BI ScrollMethod +.B ScrollMethod is -.BI button +.B button and the button is logically down, x/y axis movement is converted into scroll events. .TP 7 .BI "Option \*qScrollButtonLock\*q \*q" bool \*q Enables or disables the scroll button lock. If enabled, the -.BI ScrollButton +.B ScrollButton is considered logically down after the first click and remains down until the second click of that button. If disabled (the default), the -.BI ScrollButton +.B ScrollButton button is considered logically down while held down and up once physically released. .TP 7 .BI "Option \*qScrollMethod\*q \*q" string \*q Enables a scroll method. Permitted values are -.BI none, -.BI twofinger, -.BI edge, -.BI button. +.BR none , +.BR twofinger , +.BR edge , +.BR button . Not all devices support all options, if an option is unsupported, the default scroll option for this device is used. .TP 7 .BI "Option \*qScrollPixelDistance\*q \*q" int \*q Sets the movement distance, in "pixels", required to trigger one logical wheel click. This option only applies to the scroll methods -.BI twofinger, -.BI edge, -.BI button. +.BR twofinger , +.BR edge , +.BR button . See section .B SCROLL PIXEL DISTANCE for more details. .TP 7 -.BI "Option \*qSendEventsMode\*q \*q" (disabled|enabled|disabled-on-external-mouse) \*q +.BR "Option \*qSendEventsMode\*q \*q" ( disabled | enabled | \ +disabled-on-external-mouse ) \*q Sets the send events mode to disabled, enabled, or "disable when an external mouse is connected". .TP 7 @@ -208,20 +221,20 @@ mouse is connected". Set the pressure curve for a tablet stylus to the bezier formed by the four points. The respective x/y coordinate must be in the [0.0, 1.0] range. For more information see section -.B TABLET STYLUS PRESSURE CURVE. +.BR "TABLET STYLUS PRESSURE CURVE" . .TP 7 -.BI "Option \*qTabletToolAreaRatio\*q \*q" "w:h" \*q +.BI "Option \*qTabletToolAreaRatio\*q \*q" w:h \*q Sets the area ratio for a tablet tool. The area always starts at the origin (0/0) and expands to the largest available area with the specified aspect ratio. Events outside this area are cropped to the area. The special -value "default" is used for the default mapping (i.e. the device-native +value "default" is used for the default mapping (i.e., the device-native mapping). For more information see section -.B TABLET TOOL AREA RATIO. +.BR "TABLET TOOL AREA RATIO" . .TP 7 .BI "Option \*qTapping\*q \*q" bool \*q Enables or disables tap-to-click behavior. .TP 7 -.BI "Option \*qTappingButtonMap\*q \*q" (lrm|lmr) \*q +.BR "Option \*qTappingButtonMap\*q \*q" ( lrm | lmr ) \*q Set the button mapping for 1/2/3-finger taps to left/right/middle or left/middle/right, respectively. .TP 7 @@ -252,35 +265,35 @@ on the device. The following properties .B libinput driver. .TP 7 -.BI "libinput Accel Profiles Available" +.B "libinput Accel Profiles Available" 3 boolean values (8 bit, 0 or 1), in order "adaptive", "flat", "custom". Indicates which acceleration profiles are available on this device. .TP 7 -.BI "libinput Accel Profile Enabled" +.B "libinput Accel Profile Enabled" 3 boolean values (8 bit, 0 or 1), in order "adaptive", "flat", "custom". Indicates which acceleration profile is currently enabled on this device. .TP 7 -.BI "libinput Accel Speed" -1 32-bit float value, defines the pointer speed. Value range -1, 1. +.B "libinput Accel Speed" +1 32-bit float value, defines the pointer speed. Value range \-1, 1. This only applies to the flat or adaptive profile. .TP 7 -.BI "libinput Accel Custom Fallback Points" +.B "libinput Accel Custom Fallback Points" .TQ -.BI "libinput Accel Custom Motion Points" +.B "libinput Accel Custom Motion Points" .TQ -.BI "libinput Accel Custom Scroll Points" -A space-separated list of 32-bit floating point non-negative numbers, e.g. +.B "libinput Accel Custom Scroll Points" +A space-separated list of 32-bit floating point non-negative numbers, e.g., "0.0 1.0 2.4 2.5". Sets the points of the Fallback/Motion/Scroll acceleration functions. This only applies to the custom profile. See section .B CUSTOM ACCELERATION PROFILE .TP 7 -.BI "libinput Accel Custom Fallback Step" +.B "libinput Accel Custom Fallback Step" .TQ -.BI "libinput Accel Custom Motion Step" +.B "libinput Accel Custom Motion Step" .TQ -.BI "libinput Accel Custom Scroll Step" +.B "libinput Accel Custom Scroll Step" 1 32-bit float value, sets the step between the points of the Fallback/Motion/Scroll acceleration functions. When a step of 0.0 is provided, libinput's Fallback acceleration @@ -289,106 +302,106 @@ This only applies to the custom profile. See section .B CUSTOM ACCELERATION PROFILE .TP 7 -.BI "libinput Button Scrolling Button" +.B "libinput Button Scrolling Button" 1 32-bit value. Sets the button number to use for button scrolling. This setting is independent of the scroll method, to enable button scrolling the method must be set to button-scrolling and a valid button must be set. .TP 7 -.BI "libinput Button Scrolling Button Lock Enabled" +.B "libinput Button Scrolling Button Lock Enabled" 1 boolean value. If true, the scroll button lock is enabled. This setting is independent of the scroll method or the scroll button, to enable button scrolling the method must be set to button-scrolling and a valid button must be set. .TP 7 -.BI "libinput Calibration Matrix" +.B "libinput Calibration Matrix" 9 32-bit float values, representing a 3x3 calibration matrix, order is row 1, row 2, row 3 .TP 7 -.BI "libinput Click Methods Available" +.B "libinput Click Methods Available" 2 boolean values (8 bit, 0 or 1), in order "buttonareas", "clickfinger". Indicates which click methods are available on this device. .TP 7 -.BI "libinput Click Methods Enabled" +.B "libinput Click Methods Enabled" 2 boolean values (8 bit, 0 or 1), in order "buttonareas", "clickfinger". Indicates which click methods are enabled on this device. .TP 7 -.BI "libinput Drag Lock Buttons" +.B "libinput Drag Lock Buttons" Either one 8-bit value specifying the meta drag lock button, or a list of button pairs. See section .B BUTTON DRAG LOCK for details. .TP 7 -.BI "libinput High Resolution Wheel Scroll Enabled" +.B "libinput High Resolution Wheel Scroll Enabled" 1 boolean value (8 bit, 0 or 1). Indicates whether high-resolution wheel scroll events are enabled or not. .TP 7 -.BI "libinput Horizontal Scroll Enabled" +.B "libinput Horizontal Scroll Enabled" 1 boolean value (8 bit, 0 or 1). Indicates whether horizontal scrolling events are enabled or not. .TP 7 -.BI "libinput Left Handed Enabled" +.B "libinput Left Handed Enabled" 1 boolean value (8 bit, 0 or 1). Indicates if left-handed mode is enabled or disabled. .TP 7 -.BI "libinput Middle Emulation Enabled" +.B "libinput Middle Emulation Enabled" 1 boolean value (8 bit, 0 or 1). Indicates if middle emulation is enabled or disabled. .TP 7 -.BI "libinput Natural Scrolling Enabled" +.B "libinput Natural Scrolling Enabled" 1 boolean value (8 bit, 0 or 1). 1 enables natural scrolling .TP 7 -.BI "libinput Rotation Angle" +.B "libinput Rotation Angle" 1 32-bit float value [0.0 to 360.0). Sets the rotation angle of the device, clockwise of its natural neutral position. .TP 7 -.BI "libinput Scroll Methods Available" +.B "libinput Scroll Methods Available" 3 boolean values (8 bit, 0 or 1), in order "two-finger", "edge", "button". Indicates which scroll methods are available on this device. .TP 7 -.BI "libinput Scroll Method Enabled" +.B "libinput Scroll Method Enabled" 3 boolean values (8 bit, 0 or 1), in order "two-finger", "edge", "button". Indicates which scroll method is currently enabled on this device. .TP 7 -.BI "libinput Scroll Pixel Distance" +.B "libinput Scroll Pixel Distance" 1 32-bit value (nonzero, with additional implementation-defined range checks). Changes the movement distance required to trigger one logical wheel click. .TP 7 -.BI "libinput Send Events Modes Available" +.B "libinput Send Events Modes Available" 2 boolean values (8 bit, 0 or 1), in order "disabled" and "disabled-on-external-mouse". Indicates which send-event modes are available on this device. .TP 7 -.BI "libinput Send Events Mode Enabled" +.B "libinput Send Events Mode Enabled" 2 boolean values (8 bit, 0 or 1), in order "disabled" and "disabled-on-external-mouse". Indicates which send-event modes is currently enabled on this device. .TP 7 -.BI "libinput Tablet Tool Pressurecurve" +.B "libinput Tablet Tool Pressurecurve" 4 32-bit float values [0.0 to 1.0]. See section .B TABLET TOOL PRESSURE CURVE .TP 7 -.BI "libinput Tablet Tool Area Ratio" +.B "libinput Tablet Tool Area Ratio" 2 32-bit values, corresponding to width and height. Special value 0, 0 resets to the default ratio. See section .B TABLET TOOL AREA RATIO for more information. .TP 7 -.BI "libinput Tapping Enabled" +.B "libinput Tapping Enabled" 1 boolean value (8 bit, 0 or 1). 1 enables tapping .TP 7 -.BI "libinput Tapping Button Mapping Enabled" +.B "libinput Tapping Button Mapping Enabled" 2 boolean value (8 bit, 0 or 1), in order "lrm" and "lmr". Indicates which button mapping is currently enabled on this device. .TP 7 -.BI "libinput Tapping Drag Lock Enabled" +.B "libinput Tapping Drag Lock Enabled" 1 boolean value (8 bit, 0 or 1). 1 enables drag lock during tapping .TP 7 -.BI "libinput Disable While Typing Enabled" +.B "libinput Disable While Typing Enabled" 1 boolean value (8 bit, 0 or 1). Indicates if disable while typing is enabled or disabled. .PP Most properties have a -.BI "libinput <property name> Default" +.BI libinput " <property name> " Default equivalent that indicates the default value for this setting on this device. .SH BUTTON MAPPING @@ -413,8 +426,9 @@ option instead. The .B libinput Xorg input driver does not use the button mapping after setup. -Use XSetPointerMapping(3) to modify the button mapping at -runtime. +Use +.BR XSetPointerMapping (3) +to modify the button mapping at runtime. .SH BUTTON DRAG LOCK Button drag lock holds a button logically down even when the button itself @@ -437,19 +451,24 @@ This feature is provided by this driver, .SH TABLET TOOL PRESSURECURVE The pressure curve affects how stylus pressure is reported. By default, the hardware pressure is reported as-is. By setting a pressure curve, the feel -of the stylus can be adjusted to be more like e.g. a pencil or a brush. +of the stylus can be adjusted to be more like e.g., a pencil or a brush. .PP The pressure curve is a cubic Bezier curve, drawn within a normalized range of 0.0 to 1.0 between the four points provided. This normalized range is applied to the tablet's pressure input so that the highest pressure maps to 1.0. The points must have increasing x coordinates, if x0 is larger than 0.0 all pressure values lower than x0 are equivalent to y0. If x3 is less than -1.0, all pressure values higher than x3 are equivalent to y3. +1.0, all pressure values higher than x3 are equivalent to y3. -The input for a linear curve (default) is "0.0/0.0 0.0/0.0 1.0/1.0 1.0/1.0"; -a slightly -depressed curve (firmer) might be "0.0/0.0 0.05/0.0 1.0/0.95 1.0/1.0"; a slightly raised -curve (softer) might be "0.0/0.0 0.0/0.05 0.95/1.0 1.0/1.0". +The input for a linear curve +(default) +is "0.0/0.0 0.0/0.0 1.0/1.0 1.0/1.0"; +a slightly depressed curve +(firmer) +might be "0.0/0.0 0.05/0.0 1.0/0.95 1.0/1.0"; +a slightly raised curve +(softer) +might be "0.0/0.0 0.0/0.05 0.95/1.0 1.0/1.0". .TP This feature is provided by this driver, not by libinput. @@ -465,7 +484,7 @@ available area of the tablet to the larg 4:3. Events within this area will scale to the tablet's announced axis range, the area ratio is thus transparent to the X server. Any events outside this area will send events equal to the maximum value of that axis. -The area always starts at the device's origin in it's current rotation, i.e. +The area always starts at the device's origin in it's current rotation, i.e., it takes left-handed-ness into account. .TP This feature is provided by this driver, not by libinput. @@ -484,8 +503,9 @@ generate one logical click event and eac .SH CUSTOM ACCELERATION PROFILE The custom pointer acceleration profile gives users full control over the -acceleration behavior at different speeds. libinput exposes an acceleration -function f(x) where the x-axis is the device speed in device units per millisecond +acceleration behavior at different speeds. +libinput exposes an acceleration function f(x) +where the x-axis is the device speed in device units per millisecond and the y-axis is the pointer speed. .PP The custom acceleration function is defined using n points which are spaced @@ -495,9 +515,11 @@ Thus the points defining the custom func (0 * step, f[0]), (1 * step, f[1]), ..., ((n-1) * step, f[n-1]) .EE When a velocity value does not lie exactly on those points, -a linear interpolation/extrapolation of the two closest points will be calculated. +a linear interpolation/extrapolation of the two closest points +will be calculated. .PP -There are 3 custom acceleration function, which are used for different movement types: +There are 3 custom acceleration function, +which are used for different movement types: .TS tab(;) allbox; l l l. @@ -508,15 +530,17 @@ Scroll; Used for scroll movement; Mouse, .TE .PP See libinput library documentation of more details: -https://wayland.freedesktop.org/libinput/doc/latest/pointer-acceleration.html#the-custom-acceleration-profile +https://wayland.freedesktop.org/\:libinput/\:doc/\:latest/\:\ +pointer-acceleration.html#the-custom-acceleration-profile .SH BUGS This driver does not work with \fBOption \*qDevice\*q\fR set to an event node in \fI/dev/input/by-id\fR and \fI/dev/input/by-path\fR. This can be usually be worked by using \fBSection \*qInputClass\*q\fR with an -appropriate \fBMatch*\fR statement in the xorg.conf(5). +appropriate \fBMatch*\fR statement in the +.BR xorg.conf (5). .SH AUTHORS Peter Hutterer -.SH "SEE ALSO" -Xorg(1), xorg.conf(5), Xserver(1), X(7) +.SH SEE ALSO +.BR Xorg "(1), " xorg.conf "(5), " Xserver "(1), " X (7)
Any program (person), that produces man pages, should check the output for defects by using (both groff and nroff) [gn]roff -mandoc -t -ww -b -z -K utf8 <man page> The same goes for man pages that are used as an input. For a style guide use mandoc -T lint -.- Any "autogenerator" should check its products with the above mentioned 'groff', 'mandoc', and additionally with 'nroff ...'. It should also check its input files for too long (> 80) lines. This is just a simple quality control measure. The "autogenerator" may have to be corrected to get a better man page, the source file may, and any additional file may. Common defects: Not removing trailing spaces (in in- and output). The reason for these trailing spaces should be found and eliminated. Not beginning each input sentence on a new line. Line length should thus be reduced. The script "reportbug" uses 'quoted-printable' encoding when a line is longer than 1024 characters in an 'ascii' file. See man-pages(7), item "semantic newline". -.- The difference between the formatted output of the original and patched file can be seen with: nroff -mandoc <file1> > <out1> nroff -mandoc <file2> > <out2> diff -d -u <out1> <out2> and for groff, using \"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - \" instead of 'nroff -mandoc' Add the option '-t', if the file contains a table. Read the output from 'diff -d -u ...' with 'less -R' or similar. -.-. If 'man' (man-db) is used to check the manual for warnings, the following must be set: The option \"-warnings=w\" The environmental variable: export MAN_KEEP_STDERR=yes (or any non-empty value) or (produce only warnings): export MANROFFOPT=\"-ww -b -z\" export MAN_KEEP_STDERR=yes (or any non-empty value) -.-