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

static const struct xlat evdev_leds[] = {
#if defined(LED_NUML) || (defined(HAVE_DECL_LED_NUML) && HAVE_DECL_LED_NUML)
 XLAT(LED_NUML),
#endif
#if defined(LED_CAPSL) || (defined(HAVE_DECL_LED_CAPSL) && HAVE_DECL_LED_CAPSL)
 XLAT(LED_CAPSL),
#endif
#if defined(LED_SCROLLL) || (defined(HAVE_DECL_LED_SCROLLL) && HAVE_DECL_LED_SCROLLL)
 XLAT(LED_SCROLLL),
#endif
#if defined(LED_COMPOSE) || (defined(HAVE_DECL_LED_COMPOSE) && HAVE_DECL_LED_COMPOSE)
 XLAT(LED_COMPOSE),
#endif
#if defined(LED_KANA) || (defined(HAVE_DECL_LED_KANA) && HAVE_DECL_LED_KANA)
 XLAT(LED_KANA),
#endif
#if defined(LED_SLEEP) || (defined(HAVE_DECL_LED_SLEEP) && HAVE_DECL_LED_SLEEP)
 XLAT(LED_SLEEP),
#endif
#if defined(LED_SUSPEND) || (defined(HAVE_DECL_LED_SUSPEND) && HAVE_DECL_LED_SUSPEND)
 XLAT(LED_SUSPEND),
#endif
#if defined(LED_MUTE) || (defined(HAVE_DECL_LED_MUTE) && HAVE_DECL_LED_MUTE)
 XLAT(LED_MUTE),
#endif
#if defined(LED_MISC) || (defined(HAVE_DECL_LED_MISC) && HAVE_DECL_LED_MISC)
 XLAT(LED_MISC),
#endif
#if defined(LED_MAIL) || (defined(HAVE_DECL_LED_MAIL) && HAVE_DECL_LED_MAIL)
 XLAT(LED_MAIL),
#endif
#if defined(LED_CHARGING) || (defined(HAVE_DECL_LED_CHARGING) && HAVE_DECL_LED_CHARGING)
 XLAT(LED_CHARGING),
#endif
 XLAT_END
};
