/* Generated by ./xlat/gen.sh from ./xlat/evdev_prop.in; do not edit. */

#ifdef IN_MPERS

# error static const struct xlat evdev_prop in mpers mode

#else

static
const struct xlat evdev_prop[] = {
#if defined(INPUT_PROP_POINTER) || (defined(HAVE_DECL_INPUT_PROP_POINTER) && HAVE_DECL_INPUT_PROP_POINTER)
  XLAT(INPUT_PROP_POINTER),
#endif
#if defined(INPUT_PROP_DIRECT) || (defined(HAVE_DECL_INPUT_PROP_DIRECT) && HAVE_DECL_INPUT_PROP_DIRECT)
  XLAT(INPUT_PROP_DIRECT),
#endif
#if defined(INPUT_PROP_BUTTONPAD) || (defined(HAVE_DECL_INPUT_PROP_BUTTONPAD) && HAVE_DECL_INPUT_PROP_BUTTONPAD)
  XLAT(INPUT_PROP_BUTTONPAD),
#endif
#if defined(INPUT_PROP_SEMI_MT) || (defined(HAVE_DECL_INPUT_PROP_SEMI_MT) && HAVE_DECL_INPUT_PROP_SEMI_MT)
  XLAT(INPUT_PROP_SEMI_MT),
#endif
#if defined(INPUT_PROP_TOPBUTTONPAD) || (defined(HAVE_DECL_INPUT_PROP_TOPBUTTONPAD) && HAVE_DECL_INPUT_PROP_TOPBUTTONPAD)
  XLAT(INPUT_PROP_TOPBUTTONPAD),
#endif
#if defined(INPUT_PROP_POINTING_STICK) || (defined(HAVE_DECL_INPUT_PROP_POINTING_STICK) && HAVE_DECL_INPUT_PROP_POINTING_STICK)
  XLAT(INPUT_PROP_POINTING_STICK),
#endif
#if defined(INPUT_PROP_ACCELEROMETER) || (defined(HAVE_DECL_INPUT_PROP_ACCELEROMETER) && HAVE_DECL_INPUT_PROP_ACCELEROMETER)
  XLAT(INPUT_PROP_ACCELEROMETER),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
