blob: c0723987027024ebbb70c0e69e131e4f21b91d54 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.input.report;
/// This provides an easy, standardized way to specify units. New units can
/// be added as needed. There should not be ambiguity between units, so no
/// new units should be added that can be converted from the old units.
/// (e.g: Please don't add DISTANCE_METERS since there is already DISTANCE).
enum Unit : uint32 {
/// The device did not specify units.
NONE = 0;
/// The device specified units that are not convertible to any of the other units.
OTHER = 1;
/// A measurement of distance in 10^-6 meter units.
DISTANCE = 2;
/// A measurement of weight in 10^-3 gram units.
WEIGHT = 3;
/// A measurement of rotation is 10^-3 degrees.
ROTATION = 4;
/// A measurement of angular velocity is 10^-3 deg/s.
ANGULAR_VELOCITY = 5;
/// A measurement of linear velocity is 10^-3 m/s
LINEAR_VELOCITY = 6;
/// A measurement of acceleration is 10^-3 Gs
ACCELERATION = 7;
/// A measurement of magnetic_flux is 10^-6 T
MAGNETIC_FLUX = 8;
/// A measurement of light is 1 Candela
LUMINOUS_FLUX = 9;
/// A measurement of pressure is 10^-3 Pascal
PRESSURE = 10;
// A measurement of lux is 10^-6 Candela/(m^2)
LUX = 11;
};
/// Describe a `Range` of values.
struct Range {
int64 min;
int64 max;
};
/// An `Axis` is defined as a `range` and a `unit`.
struct Axis {
Range range;
Unit unit;
};