# Set a base value to ensure that we have no collisions with any unicode characters
BASE_VALUE = 2**32

# Define constants for alt+a to alt+z
META_A = BASE_VALUE + 1000
META_B = BASE_VALUE + 1001
META_C = BASE_VALUE + 1002
META_D = BASE_VALUE + 1003
META_E = BASE_VALUE + 1004
META_F = BASE_VALUE + 1005
META_G = BASE_VALUE + 1006
META_H = BASE_VALUE + 1007
META_I = BASE_VALUE + 1008
META_J = BASE_VALUE + 1009
META_K = BASE_VALUE + 1010
META_L = BASE_VALUE + 1011
META_M = BASE_VALUE + 1012
META_N = BASE_VALUE + 1013
META_O = BASE_VALUE + 1014
META_P = BASE_VALUE + 1015
META_Q = BASE_VALUE + 1016
META_R = BASE_VALUE + 1017
META_S = BASE_VALUE + 1018
META_T = BASE_VALUE + 1019
META_U = BASE_VALUE + 1020
META_V = BASE_VALUE + 1021
META_W = BASE_VALUE + 1022
META_X = BASE_VALUE + 1023
META_Y = BASE_VALUE + 1024
META_Z = BASE_VALUE + 1025

# Define constants for alt+A to alt+Z (using uppercase)
META_a = BASE_VALUE + 1050
META_b = BASE_VALUE + 1051
META_c = BASE_VALUE + 1052
META_d = BASE_VALUE + 1053
META_e = BASE_VALUE + 1054
META_f = BASE_VALUE + 1055
META_g = BASE_VALUE + 1056
META_h = BASE_VALUE + 1057
META_i = BASE_VALUE + 1058
META_j = BASE_VALUE + 1059
META_k = BASE_VALUE + 1060
META_l = BASE_VALUE + 1061
META_m = BASE_VALUE + 1062
META_n = BASE_VALUE + 1063
META_o = BASE_VALUE + 1064
META_p = BASE_VALUE + 1065
META_q = BASE_VALUE + 1066
META_r = BASE_VALUE + 1067
META_s = BASE_VALUE + 1068
META_t = BASE_VALUE + 1069
META_u = BASE_VALUE + 1070
META_v = BASE_VALUE + 1071
META_w = BASE_VALUE + 1072
META_x = BASE_VALUE + 1073
META_y = BASE_VALUE + 1074
META_z = BASE_VALUE + 1075


META_0 = BASE_VALUE + 1090
META_1 = BASE_VALUE + 1091
META_2 = BASE_VALUE + 1092
META_3 = BASE_VALUE + 1093
META_4 = BASE_VALUE + 1094
META_5 = BASE_VALUE + 1095
META_6 = BASE_VALUE + 1096
META_7 = BASE_VALUE + 1097
META_8 = BASE_VALUE + 1098
META_9 = BASE_VALUE + 1099


META_BS = BASE_VALUE + 1100

# Dictionary to map character to its constant value
META_KEY_MAP = {
    'a': META_a, 'b': META_b, 'c': META_c, 'd': META_d, 'e': META_e,
    'f': META_f, 'g': META_g, 'h': META_h, 'i': META_i, 'j': META_j,
    'k': META_k, 'l': META_l, 'm': META_m, 'n': META_n, 'o': META_o,
    'p': META_p, 'q': META_q, 'r': META_r, 's': META_s, 't': META_t,
    'u': META_u, 'v': META_v, 'w': META_w, 'x': META_x, 'y': META_y,
    'z': META_z, 'A': META_A, 'B': META_B, 'C': META_C, 'D': META_D,
    'E': META_E, 'F': META_F, 'G': META_G, 'H': META_H, 'I': META_I,
    'J': META_J, 'K': META_K, 'L': META_L, 'M': META_M, 'N': META_N,
    'O': META_O, 'P': META_P, 'Q': META_Q, 'R': META_R, 'S': META_S,
    'T': META_T, 'U': META_U, 'V': META_V, 'W': META_W, 'X': META_X,
    'Y': META_Y, 'Z': META_Z
}
