diff options
Diffstat (limited to 'maps/map_en.h')
-rw-r--r-- | maps/map_en.h | 55 |
1 files changed, 33 insertions, 22 deletions
diff --git a/maps/map_en.h b/maps/map_en.h index 58a379e..93b9db7 100644 --- a/maps/map_en.h +++ b/maps/map_en.h @@ -6,31 +6,42 @@ #ifndef __EVS_MAP_EN #define __EVS_MAP_EN + +// Shift map +#define EVS_SHIFT_BIND(KEY, VALUE) khm_insert(shm, (KEY), (VALUE)) + +static struct khashmap *shm; + static void init_shiftmap(void) { shm = khm_create(); - EVS_SHIFT(KEY_1, "!"); - EVS_SHIFT(KEY_2, "@"); - EVS_SHIFT(KEY_3, "#"); - EVS_SHIFT(KEY_4, "$"); - EVS_SHIFT(KEY_5, "%"); - EVS_SHIFT(KEY_6, "^"); - EVS_SHIFT(KEY_7, "&"); - EVS_SHIFT(KEY_8, "*"); - EVS_SHIFT(KEY_9, "("); - EVS_SHIFT(KEY_0, ")"); - EVS_SHIFT(KEY_MINUS, "_"); - EVS_SHIFT(KEY_EQUAL, "+"); - EVS_SHIFT(KEY_LEFTBRACE, "{"); - EVS_SHIFT(KEY_RIGHTBRACE, "}"); - EVS_SHIFT(KEY_SEMICOLON, ":"); - EVS_SHIFT(KEY_APOSTROPHE, "\""); - EVS_SHIFT(KEY_GRAVE, "|"); - EVS_SHIFT(KEY_BACKSLASH, "|"); - EVS_SHIFT(KEY_COMMA, "<"); - EVS_SHIFT(KEY_DOT, ">"); - EVS_SHIFT(KEY_SLASH, "?"); - EVS_SHIFT(KEY_102ND, ">"); + EVS_SHIFT_BIND(KEY_1, "!"); + EVS_SHIFT_BIND(KEY_2, "@"); + EVS_SHIFT_BIND(KEY_3, "#"); + EVS_SHIFT_BIND(KEY_4, "$"); + EVS_SHIFT_BIND(KEY_5, "%"); + EVS_SHIFT_BIND(KEY_6, "^"); + EVS_SHIFT_BIND(KEY_7, "&"); + EVS_SHIFT_BIND(KEY_8, "*"); + EVS_SHIFT_BIND(KEY_9, "("); + EVS_SHIFT_BIND(KEY_0, ")"); + EVS_SHIFT_BIND(KEY_MINUS, "_"); + EVS_SHIFT_BIND(KEY_EQUAL, "+"); + EVS_SHIFT_BIND(KEY_LEFTBRACE, "{"); + EVS_SHIFT_BIND(KEY_RIGHTBRACE, "}"); + EVS_SHIFT_BIND(KEY_SEMICOLON, ":"); + EVS_SHIFT_BIND(KEY_APOSTROPHE, "\""); + EVS_SHIFT_BIND(KEY_GRAVE, "|"); + EVS_SHIFT_BIND(KEY_BACKSLASH, "|"); + EVS_SHIFT_BIND(KEY_COMMA, "<"); + EVS_SHIFT_BIND(KEY_DOT, ">"); + EVS_SHIFT_BIND(KEY_SLASH, "?"); + EVS_SHIFT_BIND(KEY_102ND, ">"); +} + +static inline void exit_shiftmap(void) +{ + khm_destroy(shm); } static char map[] = { |