-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Mon, 07 Sep 2026 12:33:07 +0100 Source: bucklespring Architecture: source Version: 1.5.1-3 Distribution: unstable Urgency: medium Maintainer: Barak A. Pearlmutter <bap@debian.org> Changed-By: Barak A. Pearlmutter <bap@debian.org> Closes: 1148564 Changes: bucklespring (1.5.1-3) unstable; urgency=medium . * Note in debian/copyright the two sources scan-mac.c is derived from, VirtualBox's DarwinKeyboard.cpp and a blog post by Daniel Beard, as suggested in the NEW queue review, even though that file is not built on Debian. * bucklespring-libinput README.Debian: add a recipe for narrowing the input device grant to members of a group, by way of a pam_exec(8) hook that applies the ACL at login on the local seat, as udev's uaccess tag is per seat and cannot select users. * New patch repeat.patch: play the click sound each time a key held down auto repeats, rather than falling silent until it is released, with a new option -r/--no-repeat to get the old behaviour back. The X11 backend only had to stop discarding the repeat events it already recognised; libinput drops the kernel's repeats altogether, so that backend times its own, leaving out the modifier keys that no display server repeats. It takes the delay and the rate from the compositor, over wl_keyboard.repeat_info, which under Wayland is the only thing that knows them: no compositor sends an event per repeat, each client is given the two numbers and runs its own timer, and the kernel's setting, which is what the input device reports, stays at its 250 ms and 33 ms default however the desktop is configured. Failing a compositor it asks the device with EVIOCGREP, which is the right answer on a console, and new --repeat-delay and --repeat-rate options override the lot. Build-depend on libwayland-dev accordingly. * Move the manual pages to debian/man/. Keeping buckle-*.service.8 directly in debian/ made dh's no-op check for dh_installsystemd glob debian/*.service.* and go looking for architecture qualified service files, which made it ask about the synthetic template unit package names and warn "package bucklespring-x11@ is not in control info" once per binary package. * Generate buckle-x11.1 and buckle-libinput.1 from the --help output of each executable with help2man, so that an option added to the program appears in its manual page by itself; the prose around the option list lives in debian/man/*.1.h2m. help2man has to run the program, so the generated pages are kept in the source and refreshed only on a native build. * New patch usage-text-typos.patch, from upstream: the long option is spelled --audio-path, and the library is OpenAL. Now that the manual pages are generated from that text, a wrong option name there became a wrong option name in the manual page. * New patch usage-text-help2man.patch: capitalise Usage: and Options: in the usage text, which is how help2man recognises the synopsis line and the start of the option list, and what the GNU coding standards ask for. * New patch mouse-event-selection.patch, and extend libinput-mouse- click.patch: sound the scroll wheel, one click per detent, in both flavours, and add --mouse to choose which mouse events click, a comma separated list of left, middle, right, side, extra, wheel and hwheel, with all, the default, and none at the ends of it. This also fills in what the X11 backend had been ignoring: it played buttons 1 and 3 only, and now knows the middle and thumb buttons too. Two fingers scrolling a touchpad stay silent, having no detents. The udev rule needs no change, a wheel being on a device that already has ID_INPUT_MOUSE set. * New patch version-option.patch: add -V/--version, printing the GNU standard version block. The version and package name come from PACKAGE_VERSION and PACKAGE_NAME behind the customary HAVE_CONFIG_H include, with #ifndef fallbacks to what the shipped Makefile passes, so that moving upstream to autoconf and automake would need only AC_CONFIG_HEADERS. help2man makes the COPYRIGHT and AUTHOR sections of the manual pages out of that output, so debian/rules need no longer pass --version-string, nor include pkg-info.mk to work one out. * Shorten the --source passed to help2man to "Bucklespring keyboard sound". At 27 characters it fits the page footer, where the 37 of the description previously passed overran the 32 groff has room for there at the default 80 columns and came out ellipsised. * New patch usage-to-stdout.patch: print the usage text on stdout when --help asked for it, keeping stderr for the complaint about an option that would not parse, as the GNU coding standards have it; -- version already did. Both being on stdout, help2man no longer needs --no-discard-stderr. * German debconf translation (closes: #1148564) Checksums-Sha1: 97c080f95991a16148d995e593b0c674780e881f 2532 bucklespring_1.5.1-3.dsc 59cdbb8c4c81d923d0b00b963388b1dbe21e3055 27816 bucklespring_1.5.1-3.debian.tar.xz 573f6217929d26d2454b22651eb9b25fa94acf86 4086272 bucklespring_1.5.1-3.git.tar.xz a6eadd03cbd8959d98b50d71054dc88b9faeecd6 17742 bucklespring_1.5.1-3_source.buildinfo Checksums-Sha256: 682ba77bb00a94908e08f17f376090f667aef776a3b67306fbc8d1867e781615 2532 bucklespring_1.5.1-3.dsc d90a9cb93de566377d98cc0f0307304e7790d1b2ce9717dd4345a4484439bad0 27816 bucklespring_1.5.1-3.debian.tar.xz c23e55152d99e387339bcfdaaa03665d0377c683bf8460374c16e1e5e1b3d2b5 4086272 bucklespring_1.5.1-3.git.tar.xz 20f1cc5117e3e4019e1a3d09ae5eaf5fdb36292852acc887fba518f5c72c90c3 17742 bucklespring_1.5.1-3_source.buildinfo Files: b758b231436c9977c0549e09e03714df 2532 games optional bucklespring_1.5.1-3.dsc 349183cdc2d71c927fbb5f8ba7f787de 27816 games optional bucklespring_1.5.1-3.debian.tar.xz 514aabb36d138ab100559016dcbfa22a 4086272 games None bucklespring_1.5.1-3.git.tar.xz 22978ef72302e5333f6d9a23c7099ddd 17742 games optional bucklespring_1.5.1-3_source.buildinfo Git-Tag-Info: tag=ce25593214ca2fdc13b08b89d8c8357b1a00d820 fp=2de4bf05421076c47ad20367c6af2490d3ca72b9 Git-Tag-Tagger: Barak A. Pearlmutter <barak+git@pearlmutter.net> -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmqwVr0ACgkQYG0ITkaD wHmYjQ/+KmjK8DQiOhdvx2oAqMH2r0odVyEuVxVF8g+w+NhFg1oPfQSqqkOxpMfX /I7PY2Ec1we7U614WJfG6j/ptSwhV2JlBa03oBwUwSeO0M2nBppXLzl0/VhkfTsH DF8WNgJvK1kbihI1cr7tTj3QRJWD1PA6eAB8HARhKSR+JB4OrjeybY38VdzFH/Qo /VMED+uKWkndOSsQNbbtTsDIDjX87dpq3TZMeIvbQNm8JMictwtZT10V53GsqmeH OvpGADQULZELp8evSkX0soaZxS639OaLq4uzfWe3cHWyvbpAGaNDiFq2bnHrHyUR Liksi8gZ752dGWeWajFEmu+FaiV48CjflnLnGS+kwikCedINGSbRSAkqUJX7YJD1 cMTfcMGmBfjsiediV6gk6ZkH9uFasr5VQiD4tSf5WEiehql2mLwH4wYVaqMqOI8z uXoOWB8t/o9yrVhO0o3TynjZIh88xFvY5NK0vIhjzoTB1EUKSf9DNVZzzHh8KA1E h4mdcqeh4CB3FiIBcOYK1DSQwQosFRhzTYmXs+LOKamHevTO5VtjYiwZjAcjr/cA K9IAbZfZJ8XUe3F+2lbxglBMTScNwQ6BpA0iLbBnqK4LsoYq7Hzt+G/6yfkViIsr C5EjxloYP/nfT6ki+fIx7mqpkypJu8Na7RgdD8cQc3nWNgVxOrg= =id4P -----END PGP SIGNATURE-----