[ANNOUNCE] xinput_calibrator 0.8.0

Peter Hutterer peter.hutterer at who-t.net
Mon Jul 29 06:28:10 UTC 2024


This is the first release of xinput_calibrator after the move from
https://github.com/tias/xinput_calibrator to our gitlab instance. The
aim of this move is so this little tool, still in use here and there,
can see some of the benefits of group maintainership and doesn't go
completely stale. Don't expect active maintainership or new features
being added, we're just trying to keep this on life support.

The git shortlog below is for the ~14 years of patches since the 0.7.5
release, the last 10 of which the project was sitting idle.

Alan Coopersmith (1):
      calibrator.cpp: include <climits> for PATH_MAX if needed

Alexey Kuznetsov (2):
      gui_gtkmm: in a multi-head setup, allow calibrating one monitor only
      Add gtkmm support for no window manager environment

Andreas Müller (8):
      Add parameter --output-filename and store in output_filename
      CalibratorEvdev: do write calibration results if --output-filename was set
      CalibratorXorgPrint: do write calibration results if --output-filename was set
      CalibratorUsbtouchscreen: overridde default file name when setting --output-filename
      Make all Calibrator* destructors virtual to fix warning
      Set up buffer size for max line length only once in calibrator.hh
      show the name of the device on screen
      Handle sysfs name for --device parameter

Antoine Hue (10):
      Software engineering to avoid #include "XXX.cpp": + file headers + correct includes
      Completing file reorganization with correct headers
      Fixing .gitignore
      Some refactoring of the Calibrator object
      refactor to static Calibrator::verbose
      Evdev::set_calibration and set_swapxy cleanups
      Various remaining cleanups from Antoine
      Refactor structs XYinfo, AxisInfo and clicked
      inversion support for evdev and xorgprint
      Fixing xinput_do_set_prop into cleaner xinput_do_set_int_prop Also fixing property issue on invert axes

Christian Gmeiner (6):
      Use timerfd instead of signals on Linux
      the usage protected is wrong - fix it
      x11: convert bool methods
      evdev: xinput_do_set_int_prop(..) does return a bool
      pass function parameter 'new_axys' by reference
      fix memory leak

David Ludlow (2):
      change quotes in the .desktop file
      add Changelog to EXTRA_DIST in makefile

Felipe Lerena (1):
      adding the "no-timeout" parameter to avoid the calibrator to timeout and exit

Florian Echtler (1):
      added support for --geometry parameter (needed, e.g., on Nvidia Twinview)

Goffredo Baroncelli (1):
      Correct screen size detection

Jeff Lasslett (1):
      Prevent timeout exit when --no-timeout is used

Khem Raj (1):
      calibrator.hh: Include <string> to get std::string

Koen Kooi (1):
      xinput_calibrator_pointercal.sh: specify output type since 'auto' doesn't always pick 'xinput'

Marco Cavallini (1):
      Load font fixed when 9x15 fails in GuiCalibratorX11

Mario Domenech Goulart (1):
      calibratorXorgPrint.cpp: fix miny and maxx printing order for UDEV and HAL

Martin Jansa (1):
      add script to calibrate only once and store calibration data for later

Mikhail Novosyolov (1):
      Translate desktop file into Russian

Peter Hutterer (29):
      Don't claim we support udev configuration.
      Print out an xorg.conf.d snippet for the configuration.
      Update autogen.sh to the current one used by the xorg projects
      configure.ac: run autoupdate to update deprecated notations
      Fix autotools error for HAVE_X11_RANDR
      Don't install the tester binary
      Add a config.h for VERSION
      Add a simple CI to do a basic build test
      CI: remove some libinput copy/paste leftovers
      CI: disable the commit message check for now
      gui: fix indentation to prevent a compiler warning
      Fix compiler warnings
      Add support for building with meson
      Changelog: fix erroneous link
      man: mention --output-filename
      README: move to markdown and update the links to point to fdo
      Add MatchDriver "evdev" to the generated xorg.conf
      main: fix the indentation for the opt parsing
      main: remove a superfluous condition
      Print a warning if we're running against Xwayland
      autotools: add all the header files to the various SOURCES
      autotools: add meson files to EXTRA_DIST
      autotools: remove superfluous EXTRA_DIST entries
      CI: add distcheck to the default build template
      Drop HAL configuration
      configure.ac: enable subdir-objects
      Build xz tarballs instead of bzip2
      configure.ac: stop using AM_MAINTAINER_MODE
      Release v0.8.0

Petr Štetiar (2):
      switch to autotools based build system
      - make it compile with strict flags

Philipp Hagemeister (2):
      Add include for pause()
      Add generated src/tester to gitignore

Plamen Kolev (2):
      convert leftover tabs to spaces
      take rotation into account when calculating display size

Thierry Reding (1):
      Fix dist* targets.

Tias Guns (127):
      add --fake option
      use strdup() due to pointer scope autofree [Thanks Sam Lin]
      clarify that the license is the pure MIT/X11 license,
      Rewrite: split the one-huge-file into clean components
      minor fixes
      make the touch points more visuals: draw a cross through them
      press any key to quit
      make the help_text boxed and 4 lines
      minor cleanups
      Delete original one-huge-file,
      New X11 based gui,
      release v0.5.0 + update docs
      Fix bug when calling evdev:do_set_prop twice
      make finish() and finish_data() return a boolean
      use exceptions to detect if a calibrator is applicable or not
      start methods from xinput with xinput_, give credit to Peter
      add -v option, prints debug messages
      more standard directory layout, enhanced autotools, gitignore
      Add a manpage
      Check that XInput >= 1.5 in evdev calibrator
      rename driver to device as we are dealing with devices in the first place, and the drivers of the device only in the second place
      check that the device is a XI_TOUCHSCREEN, some verbose checks on the number of axes too
      add --list option, lists calibratable devices
      add support for --device option, selects a specific device
      xorg print: clean up output and added udev rule
      set evdev calibration to default when none is apparently set (fixes sleep/resume quirk)
      swap_xy in dynamic evdev: unswap if already swapped
      stricter command line argument parsing
      click coordinates are/must be integers
      strdup is not ansi C, add my_strdup function
      strict compile flags are good, but turning warnings into errors can screw users
      rename driver to device part 2: in calibrators
      add support for specific device id for evdev (necessary when 2 devices have the same name)
      evdev: print ways to make config permanent (easier when evdev >= 2.3.0)
      move get_precalib.sh to scripts/ and rename xinput_calibrator_get_hal_calibration.sh
      add .desktop file in scripts/
      release v0.6.0
      rudimentary mis-click GUI for x11
      mis-click GUI support for GTKMM
      detect double-clicks on all previous points
      mis-click detection: more robust
      Revert "check that the device is a XI_TOUCHSCREEN, some verbose checks on the number of axes too"
      Device detection: must be in absolute mode
      configure.ac: require libtool
      Release v0.6.1
      change configure script: only build one GUI and name it
      update manpage and readme to single binary
      appearently in dutch its kalibreren with a 'k'
      install .desktop file in (/usr/share)/applications
      make sure the gnome/xfce4-terminal stays open when using the .desktop
      add icon (svg and xpm)
      A COPYING license file that explicits the MIT/X11 license, and the CC
      more distcheck makefile fixes: scripts/ dir
      manpage: include detailed instructions on how to make the calibration permanent
      mention pointercal example script for mobile devices in the manpage
      evdev print: make it more like the manpage
      support common setting of thresholds for doubleclick and misclick detection
      add --misclick <nr of pixels> as runtime option
      thresholds mean 'at most X pixels' (non-strict comparison)
      add mis-click option to manpage and add 'troubleshooting' section describing the meaning of repeated mis-click errors
      Release v0.7.0
      gui_x11: xrandr support
      gui's: detect when screen size changed
      Make: add --as-needed ld flag
      give 'fake' modus a sensible start configuration, makes calibration output more verifiable
      more fine-grained dependency check, runs on older systems too
      Spelling fixes (thanks Paul Wise)
      add swapaxes option to evdev conf snippet, fix some styling
      xorg.conf.d snippet for standard xorg drivers too
      replace udev rule by xorg.conf.d snippet for standard xorg drivers too
      swap_xy, better document the difference between detecting the need to swap it, and the new swap_xy value
      remove xorg.conf mention (superseded by xorg.conf.d snippet, or HAL on
      clean up explanation of making calibration permanent for standard xorg drivers
      clean up explanation of making calibration permanent for evdev
      sysfs name detection, checks whether device name is sysfs name
      use detected sysfs name in output when possible
      dynamically detect xorg.conf.d support
      lang: 'change to' instead of 'change by'
      put output of xorg.conf.d/hal/xinput in separate functions
      add --output-type option to select output type (default: auto, automatically selects best option)
      add hal output for evdev (not used by auto, not recommended)
      manpage: description cleanups
      manpage: add --output-type option
      manpage: remove mentions of udev configuration
      manpage: simplify 'usage' section: do not list the different configs (would be too many options) + minor changes to troubleshoot section
      manpage: remove mention of pointercal script, xorg.conf.d etc are now preferred
      manpage: switch troubleshooting and examples order
      icon: update mentioned license of the hand from human-icon-theme
      manpage: use dist_man_MANS instead of man_MANS and EXTRA_DIST (suggested by Paul Wise)
      make: move icon/desktop installation into scripts/Makefile.am (suggested by Paul Wise)
      Release v0.7.5
      gtkmm: fullscreen both with and without window manager
      remove offset part of --geometry
      add manpage and gui_gtkmm support for --geometry
      Whitespace cleanups (were mangled in next patches)
      Touch points, change to constant NUM_POINTS in enum
      color management: make enum static
      Various comment cleanups from tonio (leftovers file reorg. patch)
      XYinfo/AxisInfo: copy constructors and invert/swap function
      new_axys now contains the axys value to write
      XYinfo: add print method
      Tester: test calibration routines and make assumptions explicit
      Add (xf86)scaleAxis code
      driver emulation implementation
      Different old_axis orientations and parameters
      show maxdiff during testing
      Some more tests, kind-of
      Create CalibratorTesterInterface
      EvdevTester with evdev 2.7.0 emulation code
      Tester: run standard tester and evdev tester
      calibrator: in finish code, correct new_axys to new_axis (no code change)
      calib calculation: calculate average of clicks first
      calib calculation: move min/max correction before transformation
      calib calculation: use floats
      calib calculation: rewrite and document num_block scaling
      calib: make our scaleAxis function use floats to avoid rounding errors
      calib calculation: rewrite and document transformation to 'raw' values
      two minor API cleanups
      Rewrite and simplify swapping
      Copy Calibrator::finish() literally to CalibratorEvdev::finish()
      Fix evdev calibration when invertX/Y is set
      CalibratorEvdev: remove TODO about evdev 2.3.2
      remove invertX/Y from evdev config outputting
      Extra comment on unistd.h include
      --no-timeout for X11 gui
      document --no-timeout in man (and shorten descr in stdout)
      Document /usr/share/X11/xorg.conf.d as location for conf.d snippet

markuspg (7):
      Utilize nullptr instead of 0 and NULL
      Utilize final and override specifiers
      Constexpr whatever possible on first view
      Utilize default member initializers where useful
      Refactor tester program
      Utilize initializer lists in tester program
      Use range based for and drop printf

tias (3):
      thresholds for doubleclick and misclick detection as attribute of calibrator
      preliminary misclick detection
      misclick detection in calibrator, now in GUI's

git tag: v0.8.0

https://xorg.freedesktop.org/archive/individual/app/xinput_calibrator-0.8.0.tar.gz
SHA256: dae3b8ce3aaba6f0b1a6262156c6352642bec5661be071312da58cbe4b8174c7  xinput_calibrator-0.8.0.tar.gz
SHA512: 616d5404e968ac6a2b0c223aa1fd69cc7bc7a1fefc6bd7a67ff29b8d339ef5865b87e7d4002ec63a6e555c1aba7aae0c826265b47b3229a1e02a880aea3db100  xinput_calibrator-0.8.0.tar.gz
PGP:  https://xorg.freedesktop.org/archive/individual/app/xinput_calibrator-0.8.0.tar.gz.sig

https://xorg.freedesktop.org/archive/individual/app/xinput_calibrator-0.8.0.tar.xz
SHA256: 0508bf9705c0945f746b8c81bfc8d583a347dd067b58fa76b1aed4225e4b8b40  xinput_calibrator-0.8.0.tar.xz
SHA512: 38a06c1c181fb4e7c2a9fe6c9df47536065213bb177e74fb864b2aa62f7851c7bbc825771fc53725b6705d2c7b42ca01ae3c084b3229961aeee1c76bb86c6754  xinput_calibrator-0.8.0.tar.xz
PGP:  https://xorg.freedesktop.org/archive/individual/app/xinput_calibrator-0.8.0.tar.xz.sig

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-announce/attachments/20240729/79ad1348/attachment.sig>


More information about the xorg-announce mailing list