<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hid-tmff2/src, 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:41:17Z</updated>
<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>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>Revert "use on_hid_hw_open instead of input_dev-&gt;open"</title>
<updated>2026-01-26T16:21:43Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2026-01-26T16:21:43Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=66e522e26549afab26d032e900ae9f6576c83b9d'/>
<id>urn:sha1:66e522e26549afab26d032e900ae9f6576c83b9d</id>
<content type='text'>
This reverts commit c26573d77369c042dc2b9a881a7f2ff88ddc0dd9.

+ `on_hid_hw_open` is apparently new enough that common distros don't
  have it yet, so let's wait a few years and try again. The old method
  works well enough and if not, just set `open_mode=0`.
</content>
</entry>
<entry>
<title>use on_hid_hw_open instead of input_dev-&gt;open</title>
<updated>2026-01-04T19:49:58Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2026-01-04T19:49:58Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=c26573d77369c042dc2b9a881a7f2ff88ddc0dd9'/>
<id>urn:sha1:c26573d77369c042dc2b9a881a7f2ff88ddc0dd9</id>
<content type='text'>
+ Seems some applications can mess with input_dev-&gt;open, still unclear
  how but on_hid_hw_open seems to be a bit more reliable so use it for
  now at least
</content>
</entry>
<entry>
<title>fix possibly uninitialized variable</title>
<updated>2025-12-01T16:55:15Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-12-01T16:55:15Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=8b1c826c0d70c6a086c8ff262b4a8074f1f9acf5'/>
<id>urn:sha1:8b1c826c0d70c6a086c8ff262b4a8074f1f9acf5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove extra whitespace</title>
<updated>2025-11-23T12:41:43Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-11-23T12:41:43Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=75292f71752197a4f03b0c44ba5558230012e448'/>
<id>urn:sha1:75292f71752197a4f03b0c44ba5558230012e448</id>
<content type='text'>
</content>
</entry>
<entry>
<title>correct tspc range to be 1080</title>
<updated>2025-11-23T12:38:13Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-10-07T09:02:01Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=79e04b30e82273667785431e2d998e6e588f4c21'/>
<id>urn:sha1:79e04b30e82273667785431e2d998e6e588f4c21</id>
<content type='text'>
</content>
</entry>
</feed>
