Skip to content

Expose Axis enable and Direction arrays #69

@Lawstorant

Description

@Lawstorant

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_count of Axes Enable and Direction is the same
  • Prepare pidff_set_effect for 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions