/*
 *  Copyright (C) 2014-2020 Garrett Brown
 *  Copyright (C) 2014-2020 Team Kodi
 *
 *  SPDX-License-Identifier: GPL-2.0-or-later
 *  See LICENSE.md for more information.
 */

#pragma once

#define BUTTONMAP_XML_ROOT                     "buttonmap"
#define BUTTONMAP_XML_ELEM_DEVICE              "device"
#define BUTTONMAP_XML_ELEM_CONFIGURATION       "configuration"
#define BUTTONMAP_XML_ELEM_AXIS                "axis"
#define BUTTONMAP_XML_ELEM_BUTTON              "button"
#define BUTTONMAP_XML_ELEM_CONTROLLER          "controller"
#define BUTTONMAP_XML_ELEM_FEATURE             "feature"

#define BUTTONMAP_XML_ELEM_PRIMITIVE           "primitive"
#define BUTTONMAP_XML_ELEM_UP                  "up"
#define BUTTONMAP_XML_ELEM_DOWN                "down"
#define BUTTONMAP_XML_ELEM_RIGHT               "right"
#define BUTTONMAP_XML_ELEM_LEFT                "left"
#define BUTTONMAP_XML_ELEM_POSITIVE_X          "positive-x"
#define BUTTONMAP_XML_ELEM_POSITIVE_Y          "positive-y"
#define BUTTONMAP_XML_ELEM_POSITIVE_Z          "positive-z"

#define BUTTONMAP_XML_ATTR_DEVICE_NAME         "name"
#define BUTTONMAP_XML_ATTR_DEVICE_PROVIDER     "provider"
#define BUTTONMAP_XML_ATTR_DEVICE_VID          "vid"
#define BUTTONMAP_XML_ATTR_DEVICE_PID          "pid"
#define BUTTONMAP_XML_ATTR_DEVICE_BUTTONCOUNT  "buttoncount"
#define BUTTONMAP_XML_ATTR_DEVICE_HATCOUNT     "hatcount"
#define BUTTONMAP_XML_ATTR_DEVICE_AXISCOUNT    "axiscount"
#define BUTTONMAP_XML_ATTR_DEVICE_INDEX        "index"
#define BUTTONMAP_XML_ATTR_DATA_PATH           "path"

#define BUTTONMAP_XML_ATTR_CONTROLLER_ID       "id"

#define BUTTONMAP_XML_ATTR_FEATURE_NAME        "name"
#define BUTTONMAP_XML_ATTR_FEATURE_BUTTON      "button"
#define BUTTONMAP_XML_ATTR_FEATURE_HAT         "hat"
#define BUTTONMAP_XML_ATTR_FEATURE_AXIS        "axis"
#define BUTTONMAP_XML_ATTR_FEATURE_MOTOR       "motor"
#define BUTTONMAP_XML_ATTR_FEATURE_KEY         "key"
#define BUTTONMAP_XML_ATTR_FEATURE_MOUSE       "mouse"

#define BUTTONMAP_XML_ATTR_DRIVER_INDEX        "index"
#define BUTTONMAP_XML_ATTR_AXIS_CENTER         "center"
#define BUTTONMAP_XML_ATTR_AXIS_RANGE          "range"
#define BUTTONMAP_XML_ATTR_IGNORE              "ignore"
#define BUTTONMAP_XML_ATTR_KEYCODE             "keycode"
