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

#include "gcc_compat.h"
#include "static_assert.h"

#if defined(K_DOWN) || (defined(HAVE_DECL_K_DOWN) && HAVE_DECL_K_DOWN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((K_DOWN) == (K(KT_CUR,0)), "K_DOWN != K(KT_CUR,0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define K_DOWN K(KT_CUR,0)
#endif
#if defined(K_DOWN) || (defined(HAVE_DECL_K_DOWN) && HAVE_DECL_K_DOWN)
#if defined XLAT_PREV_VAL
static_assert((unsigned long long) (K_DOWN)
      > (unsigned long long) (XLAT_PREV_VAL),
      "Incorrect order in #sorted xlat: K_DOWN"
      " is not larger than the previous value");
#endif
#undef XLAT_PREV_VAL
#define XLAT_PREV_VAL (K_DOWN)
#endif
#if defined(K_LEFT) || (defined(HAVE_DECL_K_LEFT) && HAVE_DECL_K_LEFT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((K_LEFT) == (K(KT_CUR,1)), "K_LEFT != K(KT_CUR,1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define K_LEFT K(KT_CUR,1)
#endif
#if defined(K_LEFT) || (defined(HAVE_DECL_K_LEFT) && HAVE_DECL_K_LEFT)
#if defined XLAT_PREV_VAL
static_assert((unsigned long long) (K_LEFT)
      > (unsigned long long) (XLAT_PREV_VAL),
      "Incorrect order in #sorted xlat: K_LEFT"
      " is not larger than the previous value");
#endif
#undef XLAT_PREV_VAL
#define XLAT_PREV_VAL (K_LEFT)
#endif
#if defined(K_RIGHT) || (defined(HAVE_DECL_K_RIGHT) && HAVE_DECL_K_RIGHT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((K_RIGHT) == (K(KT_CUR,2)), "K_RIGHT != K(KT_CUR,2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define K_RIGHT K(KT_CUR,2)
#endif
#if defined(K_RIGHT) || (defined(HAVE_DECL_K_RIGHT) && HAVE_DECL_K_RIGHT)
#if defined XLAT_PREV_VAL
static_assert((unsigned long long) (K_RIGHT)
      > (unsigned long long) (XLAT_PREV_VAL),
      "Incorrect order in #sorted xlat: K_RIGHT"
      " is not larger than the previous value");
#endif
#undef XLAT_PREV_VAL
#define XLAT_PREV_VAL (K_RIGHT)
#endif
#if defined(K_UP) || (defined(HAVE_DECL_K_UP) && HAVE_DECL_K_UP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((K_UP) == (K(KT_CUR,3)), "K_UP != K(KT_CUR,3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define K_UP K(KT_CUR,3)
#endif
#if defined(K_UP) || (defined(HAVE_DECL_K_UP) && HAVE_DECL_K_UP)
#if defined XLAT_PREV_VAL
static_assert((unsigned long long) (K_UP)
      > (unsigned long long) (XLAT_PREV_VAL),
      "Incorrect order in #sorted xlat: K_UP"
      " is not larger than the previous value");
#endif
#undef XLAT_PREV_VAL
#define XLAT_PREV_VAL (K_UP)
#endif
#undef XLAT_PREV_VAL

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat kd_key_cur_keys in mpers mode

# else

DIAG_PUSH_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE
static const struct xlat_data kd_key_cur_keys_xdata[] = {
 XLAT(K_DOWN),
 #define XLAT_VAL_0 ((unsigned) (K_DOWN))
 #define XLAT_STR_0 STRINGIFY(K_DOWN)
 XLAT(K_LEFT),
 #define XLAT_VAL_1 ((unsigned) (K_LEFT))
 #define XLAT_STR_1 STRINGIFY(K_LEFT)
 XLAT(K_RIGHT),
 #define XLAT_VAL_2 ((unsigned) (K_RIGHT))
 #define XLAT_STR_2 STRINGIFY(K_RIGHT)
 XLAT(K_UP),
 #define XLAT_VAL_3 ((unsigned) (K_UP))
 #define XLAT_STR_3 STRINGIFY(K_UP)
};
static
const struct xlat kd_key_cur_keys[1] = { {
 .data = kd_key_cur_keys_xdata,
 .size = ARRAY_SIZE(kd_key_cur_keys_xdata),
 .type = XT_SORTED,
 .flags_mask = 0
#  ifdef XLAT_VAL_0
  | XLAT_VAL_0
#  endif
#  ifdef XLAT_VAL_1
  | XLAT_VAL_1
#  endif
#  ifdef XLAT_VAL_2
  | XLAT_VAL_2
#  endif
#  ifdef XLAT_VAL_3
  | XLAT_VAL_3
#  endif
  ,
 .flags_strsz = 0
#  ifdef XLAT_STR_0
  + sizeof(XLAT_STR_0)
#  endif
#  ifdef XLAT_STR_1
  + sizeof(XLAT_STR_1)
#  endif
#  ifdef XLAT_STR_2
  + sizeof(XLAT_STR_2)
#  endif
#  ifdef XLAT_STR_3
  + sizeof(XLAT_STR_3)
#  endif
  ,
} };
DIAG_POP_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE

#  undef XLAT_STR_0
#  undef XLAT_VAL_0
#  undef XLAT_STR_1
#  undef XLAT_VAL_1
#  undef XLAT_STR_2
#  undef XLAT_VAL_2
#  undef XLAT_STR_3
#  undef XLAT_VAL_3
# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
