diff options
Diffstat (limited to 'maps/map_es.h')
-rw-r--r-- | maps/map_es.h | 86 |
1 files changed, 67 insertions, 19 deletions
diff --git a/maps/map_es.h b/maps/map_es.h index 763e7cc..1b0946f 100644 --- a/maps/map_es.h +++ b/maps/map_es.h @@ -6,28 +6,76 @@ #ifndef __EVS_MAP_ES #define __EVS_MAP_ES + +// Right Alt (ALTGR) map +#define EVS_ALTGR_ENABLED +#define EVS_ALTGR_BIND(KEY, VALUE) khm_insert(ahm, (KEY), (VALUE)) + +static struct khashmap *ahm; + +static void init_altgrmap(void) +{ + ahm = khm_create(); + EVS_ALTGR_BIND(KEY_1, "|"); + EVS_ALTGR_BIND(KEY_2, "@"); + EVS_ALTGR_BIND(KEY_3, "#"); + EVS_ALTGR_BIND(KEY_4, "~"); +// EVS_ALTGR_BIND(KEY_5, "½"); // TODO enable +// EVS_ALTGR_BIND(KEY_6, "¬"); // TODO enable + EVS_ALTGR_BIND(KEY_7, "{"); + EVS_ALTGR_BIND(KEY_8, "["); + EVS_ALTGR_BIND(KEY_9, "]"); + EVS_ALTGR_BIND(KEY_0, "}"); + EVS_ALTGR_BIND(KEY_MINUS, "\\"); + EVS_ALTGR_BIND(KEY_EQUAL, "~"); + EVS_ALTGR_BIND(KEY_LEFTBRACE, "["); + EVS_ALTGR_BIND(KEY_RIGHTBRACE, "]"); + EVS_ALTGR_BIND(KEY_SEMICOLON, "~"); + EVS_ALTGR_BIND(KEY_APOSTROPHE, "{"); + EVS_ALTGR_BIND(KEY_GRAVE, "}"); + EVS_ALTGR_BIND(KEY_BACKSLASH, "}"); + EVS_ALTGR_BIND(KEY_COMMA, "─"); +// EVS_ALTGR_BIND(KEY_DOT, "·"); // TODO enable + EVS_ALTGR_BIND(KEY_102ND, "|"); +} + +static inline void exit_altgrmap(void) +{ + khm_destroy(ahm); +} + +// 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_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, "?"); // TODO change to '¿' - EVS_SHIFT(KEY_LEFTBRACE, "^"); - EVS_SHIFT(KEY_RIGHTBRACE, "*"); - EVS_SHIFT(KEY_SEMICOLON, "N"); // TODO change to 'Ñ' -// EVS_SHIFT(KEY_GRAVE, "Ç"); // TODO enable - 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_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, "?"); // TODO change to '¿' + EVS_SHIFT_BIND(KEY_LEFTBRACE, "^"); + EVS_SHIFT_BIND(KEY_RIGHTBRACE, "*"); + EVS_SHIFT_BIND(KEY_SEMICOLON, "N"); // TODO change to 'Ñ' +// EVS_SHIFT_BIND(KEY_GRAVE, "Ç"); // TODO enable + 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[] = { |