tAdd key mappings for other languages - ledit - Text editor (WIP) | |
git clone git://lumidify.org/ledit.git (fast, but not encrypted) | |
git clone https://lumidify.org/git/ledit.git (encrypted, but very slow) | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 89c0c124f4a4097292b1e5baa5e158cdfb6a81f7 | |
parent e822581bc43838987d8830b54c5e2103056a1b18 | |
Author: lumidify <[email protected]> | |
Date: Thu, 23 Dec 2021 21:40:48 +0100 | |
Add key mappings for other languages | |
Diffstat: | |
D BUG | 9 --------- | |
M keys_basic_config.h | 249 +++++++++++++++++++++++++++++… | |
M keys_command_config.h | 115 +++++++++++++++++++++++++++++… | |
M ledit.c | 11 +++++++++-- | |
4 files changed, 371 insertions(+), 13 deletions(-) | |
--- | |
diff --git a/BUG b/BUG | |
t@@ -1,9 +0,0 @@ | |
-Random bugs noted down so I remember them; you are not expected to understand … | |
-deleting two lines in middle: leaves stray empty line without cursor; undo not… | |
-#0 0x00000d017890ccef in memcpy (dst0=0xd01adb5cf00, src0=0xd01c90a610b, leng… | |
-#1 0x00000cff1763be78 in ledit_insert_text_base (buffer=0xd01adb67300, line_i… | |
-#2 0x00000cff1763c516 in ledit_insert_text_with_newlines_base (buffer=0xd01ad… | |
- text=0xd01c90a6080 "اسجد\233ا\204کسجدا\233س\204کجاس\233\204… | |
- end_char_ret=0x0) at buffer.c:391 | |
-#3 0x00000cff17640058 in ledit_undo (buffer=0xd01adb67300) at undo.c:172 | |
-#4 0x00000cff17639d8a in undo () at ledit.c:1774 | |
diff --git a/keys_basic_config.h b/keys_basic_config.h | |
t@@ -194,14 +194,263 @@ static struct key keys_en[] = { | |
}; | |
static struct key keys_de[] = { | |
+ {NULL, 0, XK_BackSpace, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &bac… | |
+ {NULL, 0, XK_Left, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE… | |
+ {NULL, 0, XK_Right, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|K… | |
+ {NULL, 0, XK_Up, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_… | |
+ {NULL, 0, XK_Down, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE… | |
+ {NULL, XK_ANY_MOD, XK_Return, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN… | |
+ {NULL, 0, XK_Delete, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &delete… | |
+ {NULL, 0, XK_Escape, NORMAL|VISUAL|INSERT, KEY_ANY, KEY_ENSURE_CURSOR_… | |
+ {"i", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &enter_… | |
+ {"h", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KEY… | |
+ {"l", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KEY… | |
+ {"j", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KEY… | |
+ {"k", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KEY… | |
+ {"h", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_N… | |
+ {"t", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &toggle_hard_… | |
+ {NULL, 0, XK_space, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUM… | |
+ {"j", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_N… | |
+ {"n", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_N… | |
+ {"p", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_N… | |
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR… | |
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &push… | |
+ {"1", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"2", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"3", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"4", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"5", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"6", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"7", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"8", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"9", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"x", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &de… | |
+ {"X", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &de… | |
+ {"d", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"z", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"Z", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &ya… | |
+ {"c", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"v", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &enter_visual}, | |
+ {"o", 0, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &switch_select… | |
+ {"c", ControlMask, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &cli… | |
+ {"v", ControlMask, 0, INSERT, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &cli… | |
+ {"g", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &show_line}, | |
+ {"Ö", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &enter_commandedit}, | |
+ {"_", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_backward}, | |
+ {"-", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_forward}, | |
+ {"n", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_ne… | |
+ {"N", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_pr… | |
+ {"u", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &un… | |
+ {"U", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &re… | |
+ {".", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &re… | |
+ {"y", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &undo… | |
+ {"z", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &redo… | |
+ {"b", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_… | |
+ {"f", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_… | |
+ {"e", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_… | |
+ {"z", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_… | |
+ {"d", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_… | |
+ {"u", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_… | |
+ {"$", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR… | |
+ {"w", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"e", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"W", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"E", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"b", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"B", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"G", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"J", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &jo… | |
+ {"I", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &insert_at_beg… | |
+ {"p", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_normal}, | |
+ {"P", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_normal_… | |
+ {"A", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_after_… | |
+ {"a", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_after_… | |
+ {"O", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line_a… | |
+ {"o", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line_b… | |
+ {"m", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &mark_line}, | |
+ {"ä", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CU… | |
+ {"C", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &change_to_eol… | |
+ {"D", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &delete_to_eol… | |
+ {"r", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &replace}, | |
+ {"&", 0, 0, NORMAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CURSOR_SHO… | |
+ {"t", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"T", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"f", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"F", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
{"", 0, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &insert_mode_inse… | |
}; | |
static struct key keys_ur[] = { | |
+ {NULL, 0, XK_BackSpace, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &bac… | |
+ {NULL, 0, XK_Left, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE… | |
+ {NULL, 0, XK_Right, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|K… | |
+ {NULL, 0, XK_Up, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_… | |
+ {NULL, 0, XK_Down, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE… | |
+ {NULL, XK_ANY_MOD, XK_Return, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN… | |
+ {NULL, 0, XK_Delete, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &delete… | |
+ {NULL, 0, XK_Escape, NORMAL|VISUAL|INSERT, KEY_ANY, KEY_ENSURE_CURSOR_… | |
+ {"ی", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &enter… | |
+ {"ح", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KE… | |
+ {"ل", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KE… | |
+ {"ج", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KE… | |
+ {"ک", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KE… | |
+ {"ح", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_… | |
+ {"ت", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &toggle_hard… | |
+ {NULL, 0, XK_space, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUM… | |
+ {"ج", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_… | |
+ {"ن", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_… | |
+ {"پ", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_… | |
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR… | |
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &push… | |
+ {"1", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"2", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"3", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"4", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"5", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"6", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"7", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"8", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"9", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"ش", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &d… | |
+ {"ژ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &d… | |
+ {"د", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"ے", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"َ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &y… | |
+ {"چ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"ط", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &enter_visual… | |
+ {"ہ", 0, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &switch_selec… | |
+ {"چ", ControlMask, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &cl… | |
+ {"ط", ControlMask, 0, INSERT, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &cl… | |
+ {"گ", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &show_line}, | |
+ {":", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &enter_commandedit}, | |
+ {"؟", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_backward}, | |
+ {"/", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_forward}, | |
+ {"ن", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_n… | |
+ {"ں", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_p… | |
+ {"ء", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &u… | |
+ {"ئ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &r… | |
+ {"۔", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &r… | |
+ {"ز", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &und… | |
+ {"َ", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &red… | |
+ {"ب", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR… | |
+ {"ف", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR… | |
+ {"ع", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR… | |
+ {"ے", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR… | |
+ {"د", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR… | |
+ {"ء", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR… | |
+ {"$", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR… | |
+ {"و", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"ع", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"ؤ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"ٰ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"ب", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {".", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY… | |
+ {"غ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"ض", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &j… | |
+ {"ِ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &insert_at_be… | |
+ {"پ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_normal… | |
+ {"ُ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_normal… | |
+ {"آ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_after… | |
+ {"ا", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_after… | |
+ {"ۃ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line_… | |
+ {"ہ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line_… | |
+ {"م", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &mark_line}, | |
+ {"'", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR… | |
+ {"ث", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &change_to_eo… | |
+ {"ڈ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &delete_to_eo… | |
+ {"ر", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &replace}, | |
+ {"^", 0, 0, NORMAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CURSOR_SHO… | |
+ {"ت", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"ٹ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"ف", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
+ {"ّ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE… | |
{"", 0, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &insert_mode_inse… | |
}; | |
static struct key keys_hi[] = { | |
+ {NULL, 0, XK_BackSpace, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &bac… | |
+ {NULL, 0, XK_Left, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE… | |
+ {NULL, 0, XK_Right, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|K… | |
+ {NULL, 0, XK_Up, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_… | |
+ {NULL, 0, XK_Down, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE… | |
+ {NULL, XK_ANY_MOD, XK_Return, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN… | |
+ {NULL, 0, XK_Delete, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &delete… | |
+ {NULL, 0, XK_Escape, NORMAL|VISUAL|INSERT, KEY_ANY, KEY_ENSURE_CURSOR_… | |
+ {"ि", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &ente… | |
+ {"ह", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, K… | |
+ {"ल", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, K… | |
+ {"ज", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, K… | |
+ {"क", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, K… | |
+ {"ह", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY… | |
+ {"त", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &toggle_har… | |
+ {NULL, 0, XK_space, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUM… | |
+ {"ज", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY… | |
+ {"न", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY… | |
+ {"प", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY… | |
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR… | |
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &push… | |
+ {"1", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"2", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"3", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"4", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"5", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"6", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"7", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"8", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"9", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY… | |
+ {"्", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &… | |
+ {"ॉ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &… | |
+ {"द", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"य", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"ञ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &… | |
+ {"च", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"ड", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &enter_visua… | |
+ {"ो", 0, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &switch_sele… | |
+ {"च", ControlMask, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &c… | |
+ {"ड", ControlMask, 0, INSERT, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &c… | |
+ {"ग", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &show_line}, | |
+ {":", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &enter_commandedit}, | |
+ {"?", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_backward}, | |
+ {"/", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_forward}, | |
+ {"न", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_… | |
+ {"ण", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_… | |
+ {"ु", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &… | |
+ {"ू", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &… | |
+ {".", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &re… | |
+ {"श", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &un… | |
+ {"य", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &re… | |
+ {"ब", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO… | |
+ {"ट", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO… | |
+ {"े", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO… | |
+ {"य", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO… | |
+ {"द", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO… | |
+ {"ु", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO… | |
+ {"$", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR… | |
+ {"व", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"े", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"ॐ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"ै", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"ब", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"भ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"घ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"झ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &… | |
+ {"ी", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &insert_at_b… | |
+ {"प", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_norma… | |
+ {"फ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_norma… | |
+ {"आ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_afte… | |
+ {"ा", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_afte… | |
+ {"ौ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line… | |
+ {"ो", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line… | |
+ {"म", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &mark_line}, | |
+ {"'", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR… | |
+ {"छ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &change_to_e… | |
+ {"ध", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &delete_to_e… | |
+ {"र", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &replace}, | |
+ {"^", 0, 0, NORMAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CURSOR_SHO… | |
+ {"त", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"थ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"ट", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
+ {"ठ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K… | |
{"", 0, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &insert_mode_inse… | |
}; | |
diff --git a/keys_command_config.h b/keys_command_config.h | |
t@@ -74,12 +74,123 @@ static struct key keys_en[] = { | |
}; | |
static struct key keys_de[] = { | |
+ {"z", 0, 0, CMD_SUBSTITUTE, &substitute_yes}, | |
+ {"Z", 0, 0, CMD_SUBSTITUTE, &substitute_yes_all}, | |
+ {"n", 0, 0, CMD_SUBSTITUTE, &substitute_no}, | |
+ {"N", 0, 0, CMD_SUBSTITUTE, &substitute_no_all}, | |
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDIT, &edit_submit}, | |
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCH, &editsearch_submit}, | |
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCHB, &editsearchb_submit}, | |
+ {NULL, 0, XK_Left, CMD_EDIT, &edit_cursor_left}, | |
+ {NULL, 0, XK_Left, CMD_EDITSEARCH, &edit_cursor_left}, | |
+ {NULL, 0, XK_Left, CMD_EDITSEARCHB, &edit_cursor_left}, | |
+ {NULL, 0, XK_Right, CMD_EDIT, &edit_cursor_right}, | |
+ {NULL, 0, XK_Right, CMD_EDITSEARCH, &edit_cursor_right}, | |
+ {NULL, 0, XK_Right, CMD_EDITSEARCHB, &edit_cursor_right}, | |
+ {NULL, 0, XK_Up, CMD_EDIT, &edit_prevcommand}, | |
+ {NULL, 0, XK_Up, CMD_EDITSEARCH, &edit_prevsearch}, | |
+ {NULL, 0, XK_Up, CMD_EDITSEARCHB, &edit_prevsearch}, | |
+ {NULL, 0, XK_Down, CMD_EDIT, &edit_nextcommand}, | |
+ {NULL, 0, XK_Down, CMD_EDITSEARCH, &edit_nextsearch}, | |
+ {NULL, 0, XK_Down, CMD_EDITSEARCHB, &edit_nextsearch}, | |
+ {NULL, 0, XK_BackSpace, CMD_EDIT, &edit_backspace}, | |
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCH, &edit_backspace}, | |
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCHB, &edit_backspace}, | |
+ {NULL, 0, XK_Delete, CMD_EDIT, &edit_delete}, | |
+ {NULL, 0, XK_Delete, CMD_EDITSEARCH, &edit_delete}, | |
+ {NULL, 0, XK_Delete, CMD_EDITSEARCHB, &edit_delete}, | |
+ {NULL, 0, XK_End, CMD_EDIT, &edit_cursor_to_end}, | |
+ {NULL, 0, XK_End, CMD_EDITSEARCH, &edit_cursor_to_end}, | |
+ {NULL, 0, XK_End, CMD_EDITSEARCHB, &edit_cursor_to_end}, | |
+ {NULL, 0, XK_Home, CMD_EDIT, &edit_cursor_to_beginning}, | |
+ {NULL, 0, XK_Home, CMD_EDITSEARCH, &edit_cursor_to_beginning}, | |
+ {NULL, 0, XK_Home, CMD_EDITSEARCHB, &edit_cursor_to_beginning}, | |
+ {NULL, 0, XK_Escape, CMD_EDIT, &edit_discard}, | |
+ {NULL, 0, XK_Escape, CMD_EDITSEARCH, &edit_discard}, | |
+ {NULL, 0, XK_Escape, CMD_EDITSEARCHB, &edit_discard}, | |
+ {"", 0, 0, CMD_EDIT, &edit_insert_text}, | |
+ {"", 0, 0, CMD_EDITSEARCH, &edit_insert_text}, | |
+ {"", 0, 0, CMD_EDITSEARCHB, &edit_insert_text} | |
}; | |
-static struct key keys_hi[] = { | |
+static struct key keys_ur[] = { | |
+ {"ے", 0, 0, CMD_SUBSTITUTE, &substitute_yes}, | |
+ {"َ", 0, 0, CMD_SUBSTITUTE, &substitute_yes_all}, | |
+ {"ن", 0, 0, CMD_SUBSTITUTE, &substitute_no}, | |
+ {"ں", 0, 0, CMD_SUBSTITUTE, &substitute_no_all}, | |
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDIT, &edit_submit}, | |
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCH, &editsearch_submit}, | |
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCHB, &editsearchb_submit}, | |
+ {NULL, 0, XK_Left, CMD_EDIT, &edit_cursor_left}, | |
+ {NULL, 0, XK_Left, CMD_EDITSEARCH, &edit_cursor_left}, | |
+ {NULL, 0, XK_Left, CMD_EDITSEARCHB, &edit_cursor_left}, | |
+ {NULL, 0, XK_Right, CMD_EDIT, &edit_cursor_right}, | |
+ {NULL, 0, XK_Right, CMD_EDITSEARCH, &edit_cursor_right}, | |
+ {NULL, 0, XK_Right, CMD_EDITSEARCHB, &edit_cursor_right}, | |
+ {NULL, 0, XK_Up, CMD_EDIT, &edit_prevcommand}, | |
+ {NULL, 0, XK_Up, CMD_EDITSEARCH, &edit_prevsearch}, | |
+ {NULL, 0, XK_Up, CMD_EDITSEARCHB, &edit_prevsearch}, | |
+ {NULL, 0, XK_Down, CMD_EDIT, &edit_nextcommand}, | |
+ {NULL, 0, XK_Down, CMD_EDITSEARCH, &edit_nextsearch}, | |
+ {NULL, 0, XK_Down, CMD_EDITSEARCHB, &edit_nextsearch}, | |
+ {NULL, 0, XK_BackSpace, CMD_EDIT, &edit_backspace}, | |
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCH, &edit_backspace}, | |
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCHB, &edit_backspace}, | |
+ {NULL, 0, XK_Delete, CMD_EDIT, &edit_delete}, | |
+ {NULL, 0, XK_Delete, CMD_EDITSEARCH, &edit_delete}, | |
+ {NULL, 0, XK_Delete, CMD_EDITSEARCHB, &edit_delete}, | |
+ {NULL, 0, XK_End, CMD_EDIT, &edit_cursor_to_end}, | |
+ {NULL, 0, XK_End, CMD_EDITSEARCH, &edit_cursor_to_end}, | |
+ {NULL, 0, XK_End, CMD_EDITSEARCHB, &edit_cursor_to_end}, | |
+ {NULL, 0, XK_Home, CMD_EDIT, &edit_cursor_to_beginning}, | |
+ {NULL, 0, XK_Home, CMD_EDITSEARCH, &edit_cursor_to_beginning}, | |
+ {NULL, 0, XK_Home, CMD_EDITSEARCHB, &edit_cursor_to_beginning}, | |
+ {NULL, 0, XK_Escape, CMD_EDIT, &edit_discard}, | |
+ {NULL, 0, XK_Escape, CMD_EDITSEARCH, &edit_discard}, | |
+ {NULL, 0, XK_Escape, CMD_EDITSEARCHB, &edit_discard}, | |
+ {"", 0, 0, CMD_EDIT, &edit_insert_text}, | |
+ {"", 0, 0, CMD_EDITSEARCH, &edit_insert_text}, | |
+ {"", 0, 0, CMD_EDITSEARCHB, &edit_insert_text} | |
}; | |
-static struct key keys_ur[] = { | |
+static struct key keys_hi[] = { | |
+ {"य", 0, 0, CMD_SUBSTITUTE, &substitute_yes}, | |
+ {"ञ", 0, 0, CMD_SUBSTITUTE, &substitute_yes_all}, | |
+ {"न", 0, 0, CMD_SUBSTITUTE, &substitute_no}, | |
+ {"ण", 0, 0, CMD_SUBSTITUTE, &substitute_no_all}, | |
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDIT, &edit_submit}, | |
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCH, &editsearch_submit}, | |
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCHB, &editsearchb_submit}, | |
+ {NULL, 0, XK_Left, CMD_EDIT, &edit_cursor_left}, | |
+ {NULL, 0, XK_Left, CMD_EDITSEARCH, &edit_cursor_left}, | |
+ {NULL, 0, XK_Left, CMD_EDITSEARCHB, &edit_cursor_left}, | |
+ {NULL, 0, XK_Right, CMD_EDIT, &edit_cursor_right}, | |
+ {NULL, 0, XK_Right, CMD_EDITSEARCH, &edit_cursor_right}, | |
+ {NULL, 0, XK_Right, CMD_EDITSEARCHB, &edit_cursor_right}, | |
+ {NULL, 0, XK_Up, CMD_EDIT, &edit_prevcommand}, | |
+ {NULL, 0, XK_Up, CMD_EDITSEARCH, &edit_prevsearch}, | |
+ {NULL, 0, XK_Up, CMD_EDITSEARCHB, &edit_prevsearch}, | |
+ {NULL, 0, XK_Down, CMD_EDIT, &edit_nextcommand}, | |
+ {NULL, 0, XK_Down, CMD_EDITSEARCH, &edit_nextsearch}, | |
+ {NULL, 0, XK_Down, CMD_EDITSEARCHB, &edit_nextsearch}, | |
+ {NULL, 0, XK_BackSpace, CMD_EDIT, &edit_backspace}, | |
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCH, &edit_backspace}, | |
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCHB, &edit_backspace}, | |
+ {NULL, 0, XK_Delete, CMD_EDIT, &edit_delete}, | |
+ {NULL, 0, XK_Delete, CMD_EDITSEARCH, &edit_delete}, | |
+ {NULL, 0, XK_Delete, CMD_EDITSEARCHB, &edit_delete}, | |
+ {NULL, 0, XK_End, CMD_EDIT, &edit_cursor_to_end}, | |
+ {NULL, 0, XK_End, CMD_EDITSEARCH, &edit_cursor_to_end}, | |
+ {NULL, 0, XK_End, CMD_EDITSEARCHB, &edit_cursor_to_end}, | |
+ {NULL, 0, XK_Home, CMD_EDIT, &edit_cursor_to_beginning}, | |
+ {NULL, 0, XK_Home, CMD_EDITSEARCH, &edit_cursor_to_beginning}, | |
+ {NULL, 0, XK_Home, CMD_EDITSEARCHB, &edit_cursor_to_beginning}, | |
+ {NULL, 0, XK_Escape, CMD_EDIT, &edit_discard}, | |
+ {NULL, 0, XK_Escape, CMD_EDITSEARCH, &edit_discard}, | |
+ {NULL, 0, XK_Escape, CMD_EDITSEARCHB, &edit_discard}, | |
+ {"", 0, 0, CMD_EDIT, &edit_insert_text}, | |
+ {"", 0, 0, CMD_EDITSEARCH, &edit_insert_text}, | |
+ {"", 0, 0, CMD_EDITSEARCHB, &edit_insert_text} | |
}; | |
GEN_KEY_ARRAY(struct key, keys_en, keys_de, keys_hi, keys_ur); | |
diff --git a/ledit.c b/ledit.c | |
t@@ -346,10 +346,17 @@ redraw(void) { | |
static void | |
change_keyboard(char *lang) { | |
- printf("%s\n", lang); | |
cur_lang = get_language_index(lang); | |
- if (cur_lang < 0) | |
+ if (cur_lang < 0) { | |
+ for (size_t i = 0; i < buffer->views_num; i++) { | |
+ window_show_message_fmt( | |
+ buffer->views[i]->window, | |
+ "No mapping for language \"%s\", using default map… | |
+ lang | |
+ ); | |
+ } | |
cur_lang = 0; | |
+ } | |
} | |
static void |