// generated from rosidl_adapter/resource/msg.idl.em
// with input from interface_protocol/msg/GamepadKeys.msg
// generated code does not contain a copyright notice

#include "std_msgs/msg/Header.idl"

module interface_protocol {
  module msg {
    typedef int32 int32__12[12];
    typedef double double__6[6];
    module GamepadKeys_Constants {
      const uint8 LB = 0;
      const uint8 RB = 1;
      const uint8 A = 2;
      const uint8 B = 3;
      const uint8 X = 4;
      const uint8 Y = 5;
      const uint8 BACK = 6;
      const uint8 START = 7;
      const uint8 CROSS_X_UP = 8;
      const uint8 CROSS_X_DOWN = 9;
      const uint8 CROSS_Y_LEFT = 10;
      const uint8 CROSS_Y_RIGHT = 11;
      const uint8 LT = 0;
      const uint8 RT = 1;
      const uint8 LEFT_STICK_X = 2;
      const uint8 LEFT_STICK_Y = 3;
      const uint8 RIGHT_STICK_X = 4;
      const uint8 RIGHT_STICK_Y = 5;
    };
    @verbatim (language="comment", text=
      "Timestamp field using ROS2 header")
    struct GamepadKeys {
      std_msgs::msg::Header header;

      @verbatim (language="comment", text=
        "Marks whether the hardware gamepad is connected")
      boolean hardware_connected;

      @verbatim (language="comment", text=
        "Digital buttons (0 = released, 1 = pressed)" "\n"
        "Fixed size array of 12 elements")
      int32__12 digital_states;

      @verbatim (language="comment", text=
        "Analog inputs (range: -1.0 to 1.0)" "\n"
        "Fixed size array of 6 elements")
      double__6 analog_states;
    };
  };
};
