-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Overview
USB PID standard defines two ways to enable axes when uploading an effect. Direction enable (hid-pidff currently only ever uses this one) or Axes enable. In this issue, we will track the progress on exposing axis enable in Linux kernel and it's FF api.
From PID document:
Axes Enable: US – The Axes Enable collection contains joint collections. Each
joint collection contains axes or vectors from the Generic Desktop
page. This usage changes the type of these Generic Desktop
usages to Dynamic Flags (DF) where each usage identifies
whether the respective axis or vector is enabled for this effect.
Direction: CL – The Direction collection contains joint collections. Each
joint collection contains axes or vectors from the Generic Desktop
page. Each axis usage is treated as a Dynamic Variable (DV).
If the values are in Cartesian coordinates then axes usages X, Y or
Z or vector usages Vx, Vy or Vz will be declared in this collection
as normalized values.
If the values are in polar coordinates then axes usages Rx, Ry or
Rz or vector usages Vbrx, Vbry or Vbrz will be declared in this
collection as normalized values.
I'm working on it here:
Axes Enable branch
TODO
- Find Axes Enable field
- Find axis usages in the field
- Send out Axis enable and directions
- Check if
report_countof Axes Enable and Direction is the same - Prepare
pidff_set_effectfor Axes Enable and direction array exposition - Expose Axes Enable in ff api
- Expose direction array in ff api (probably a separate one for compatibility?)
- Connect exposed api values to fields in the driver