<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hid-tmff2/src/hid-tmff2.c, 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>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>apply initial tspc patches</title>
<updated>2025-11-23T12:37:44Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2024-09-29T14:14:10Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=f1b2b85a4920d8c78b5b2b51b8cf5ddb1e8e03fd'/>
<id>urn:sha1:f1b2b85a4920d8c78b5b2b51b8cf5ddb1e8e03fd</id>
<content type='text'>
+ Courtesy of @BDave95
</content>
</entry>
<entry>
<title>minimize critical section in work handler</title>
<updated>2025-11-03T18:17:32Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-11-03T18:17:32Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=5095d47320c36e2346d41eb7e35dcbd215886557'/>
<id>urn:sha1:5095d47320c36e2346d41eb7e35dcbd215886557</id>
<content type='text'>
+ Effects handlers were being called in a locked context,
  which in this case happened to work due to how `hid_hw_request`
  is implemented. Now, only the selected state is updated and the heavy
  lifting of making the wheel aware of the requested changes is done
  after the critical section.
</content>
</entry>
<entry>
<title>irqsave/irqrestore spinlocks</title>
<updated>2025-01-26T18:52:52Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-01-26T18:52:52Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=a3e70e77d95c12e3fe11e0a7ccb67e7195e0e1ab'/>
<id>urn:sha1:a3e70e77d95c12e3fe11e0a7ccb67e7195e0e1ab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix report_fixup() on linux 6.12</title>
<updated>2024-11-23T23:24:21Z</updated>
<author>
<name>MmAaXx500</name>
<email>viktor.balogh45@gmail.com</email>
</author>
<published>2024-11-23T23:24:21Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/hid-tmff2/commit/?id=f5b2d53fe908a847d8000d7831d411cf68731fca'/>
<id>urn:sha1:f5b2d53fe908a847d8000d7831d411cf68731fca</id>
<content type='text'>
"HID: change return type of report_fixup() to const" fe73965
</content>
</entry>
</feed>
