--- rxvt-unicode/src/keyboard.C 2014/04/29 13:10:06 1.64 +++ rxvt-unicode/src/keyboard.C 2014/04/29 13:17:54 1.65 @@ -104,6 +104,8 @@ if (strncmp (translation, "builtin:", 8) == 0) key->type = keysym_t::BUILTIN; + else if (strncmp (translation, "builtin-string:", 15) == 0) + key->type = keysym_t::BUILTIN_STRING; if (keymap.size () == keymap.capacity ()) keymap.reserve (keymap.size () * 2); @@ -132,7 +134,12 @@ { keysym_t *key = keymap [index]; - if (key->type != keysym_t::BUILTIN) + if (key->type == keysym_t::BUILTIN_STRING) + { + term->tt_write_user_input (kbuf, len); + return true; + } + else if (key->type != keysym_t::BUILTIN) { wchar_t *ws = rxvt_utf8towcs (key->str); char *str = rxvt_wcstombs (ws);