<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hid-tmff2, branch master</title>
<subtitle>ACTIVE - Linux driver for Thrustmaster wheels</subtitle>
<id>https://metanimi.dy.fi/cgit/hid-tmff2/atom?h=master</id>
<link rel='self' href='https://metanimi.dy.fi/cgit/hid-tmff2/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/'/>
<updated>2026-08-18T18:43:32Z</updated>
<entry>
<title>remove deadzone udev rules</title>
<updated>2026-08-18T18:43:32Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2026-08-18T18:43:32Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=461408eef1b3e747f338a902322c6fe517f1db05'/>
<id>urn:sha1:461408eef1b3e747f338a902322c6fe517f1db05</id>
<content type='text'>
+ Unnecessary, now that driver itself sets the wanted deadzone.
  Thanks @kakra!
</content>
</entry>
<entry>
<title>add module description</title>
<updated>2026-08-18T18:41:17Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2026-08-18T18:26:51Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=456ec7d66d58ee41377022f44618a9b40838f5f9'/>
<id>urn:sha1:456ec7d66d58ee41377022f44618a9b40838f5f9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #211 from kakra/t300-correctness-fixes</title>
<updated>2026-08-09T20:00:08Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2026-08-09T20:00:08Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=c5b9b79d4e61b77e0827e81dd676420b3c366743'/>
<id>urn:sha1:c5b9b79d4e61b77e0827e81dd676420b3c366743</id>
<content type='text'>
fix force feedback arithmetic and wheel input filtering</content>
</entry>
<entry>
<title>remove generic input filtering from wheel and pedal axes</title>
<updated>2026-08-08T22:20:24Z</updated>
<author>
<name>Kai Krakow</name>
<email>kai@kaishome.de</email>
</author>
<published>2026-08-08T11:04:36Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=4c142e19d14d02d0149198274b0f3f11091c71c6'/>
<id>urn:sha1:4c142e19d14d02d0149198274b0f3f11091c71c6</id>
<content type='text'>
+ HID derives fuzz and flat from the logical axis range. On the tested T300
  this gives steering fuzz=255 and flat=4095. It filters small corrections
  and adds a large centered deadzone before applications apply their own
  steering model.

+ Flat is also centered for pedal axes, while their rest position is an
  endpoint. Fuzz without an endpoint deadzone can retain a small nonzero
  value after the hardware has returned to rest. Both behaviours are
  inappropriate for wheel and pedal input, and applications already provide
  the required steering and endpoint deadzones.

+ Override fuzz and flat for every available wheel and pedal axis in
  input_configured on devices handled by hid-tmff2, following the existing
  hid-universal-pidff precedent for high-resolution racing devices. Skip
  absent axes through the input device's absbit mask.
</content>
</entry>
<entry>
<title>handle full signed effect magnitude range</title>
<updated>2026-08-08T22:20:18Z</updated>
<author>
<name>Kai Krakow</name>
<email>kai@kaishome.de</email>
</author>
<published>2026-08-08T11:04:25Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=1914c478dec801e98e9b73bbfd5bbdc4c0a11cf8'/>
<id>urn:sha1:1914c478dec801e98e9b73bbfd5bbdc4c0a11cf8</id>
<content type='text'>
+ Direction scaling can produce 32768 for the valid input pair -32768 and a
  negative full-scale sine value. Storing the intermediate result in s16
  wraps it before constant, ramp or periodic effects are converted.

+ Keep direction-scaled values in s32 until their destination range is
  known. Periodic effects cannot represent a magnitude above S16_MAX, so
  clamp the asymmetric endpoint after making the magnitude positive. This
  also prevents the following headroom calculation from using a negative
  wrapped magnitude.
</content>
</entry>
<entry>
<title>avoid signed overflow when scaling gain</title>
<updated>2026-08-08T22:20:08Z</updated>
<author>
<name>Kai Krakow</name>
<email>kai@kaishome.de</email>
</author>
<published>2026-08-08T10:27:06Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=465ce84d2997e5af6630b88d88b63509d5a88031'/>
<id>urn:sha1:465ce84d2997e5af6630b88d88b63509d5a88031</id>
<content type='text'>
+ FF_GAIN and the driver gain both use the full 16-bit range. Their product
  can exceed INT_MAX. Signed overflow is undefined and happens for common
  settings such as 75 percent times 75 percent. Use a u32 intermediate for
  the scaling operation.

+ Pass the configured gain directly when initializing or updating the
  hardware. This also removes two redundant multiply-divide expressions
  which could overflow before cancelling out.
</content>
</entry>
<entry>
<title>use an unsigned 16-bit type for gain</title>
<updated>2026-08-08T22:20:00Z</updated>
<author>
<name>Kai Krakow</name>
<email>kai@kaishome.de</email>
</author>
<published>2026-08-08T20:36:04Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=f014217288927246f92ee876afbbf9de8ba707be'/>
<id>urn:sha1:f014217288927246f92ee876afbbf9de8ba707be</id>
<content type='text'>
+ Gain is documented and sent to the hardware as a value in the range 0 to
  65535, but the module parameter and sysfs attribute accept wider integer
  values. Store gain as a u16 and parse sysfs writes with kstrtou16 so
  out-of-range values are rejected instead of being silently changed.

+ This constrains only the configured value. Calculations combining gain
  values still require a wider intermediate to cover the product of two
  full-range 16-bit values.
</content>
</entry>
<entry>
<title>add a few words about immutable distros</title>
<updated>2026-08-08T13:58:42Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2026-08-08T13:58:29Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=9d8577ba2a2c8e3d96cfdb7be4201e4e230e210f'/>
<id>urn:sha1:9d8577ba2a2c8e3d96cfdb7be4201e4e230e210f</id>
<content type='text'>
+ As requested in #153.
</content>
</entry>
<entry>
<title>mention DKMS dep in README</title>
<updated>2026-03-10T06:18:34Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2026-03-10T06:18:34Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=8187920ed261c7024826f8204cc7bea45153a3da'/>
<id>urn:sha1:8187920ed261c7024826f8204cc7bea45153a3da</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bump version number</title>
<updated>2026-02-08T13:56:57Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2026-02-08T13:56:57Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=f004195a73be722f6384ecae7d98161481151dff'/>
<id>urn:sha1:f004195a73be722f6384ecae7d98161481151dff</id>
<content type='text'>
+ Seems appropriate, considering the recent new wheels introduced
</content>
</entry>
</feed>
