aboutsummaryrefslogtreecommitdiff
path: root/maps/map_es.h
diff options
context:
space:
mode:
Diffstat (limited to 'maps/map_es.h')
-rw-r--r--maps/map_es.h86
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[] = {