diff options
Diffstat (limited to 'maps')
-rw-r--r-- | maps/map_en.h | 55 | ||||
-rw-r--r-- | maps/map_es.h | 86 | ||||
-rw-r--r-- | maps/maps.h | 9 |
3 files changed, 100 insertions, 50 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[] = { 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[] = { diff --git a/maps/maps.h b/maps/maps.h index f4fc856..37497bc 100644 --- a/maps/maps.h +++ b/maps/maps.h @@ -29,15 +29,6 @@ #include <linux/input.h> #include "../khm/khm.h" -#define EVS_SHIFT(KEY, VALUE) khm_insert(shm, (KEY), (VALUE)) - -// Shift map -static struct khashmap *shm; - -static inline void exit_shiftmap(void) -{ - khm_destroy(shm); -} // Load the map associated with the given keyboard layout #ifndef EVS_KLAY |