… | |
… | |
91 | } |
91 | } |
92 | |
92 | |
93 | void |
93 | void |
94 | keyboard_manager::register_action (KeySym keysym, unsigned int state, const wchar_t *ws) |
94 | keyboard_manager::register_action (KeySym keysym, unsigned int state, const wchar_t *ws) |
95 | { |
95 | { |
96 | char *translation = rxvt_wcstoutf8 (ws); |
96 | char *action = rxvt_wcstoutf8 (ws); |
97 | |
97 | |
98 | keysym_t *key = new keysym_t; |
98 | keysym_t *key = new keysym_t; |
99 | |
99 | |
100 | key->keysym = keysym; |
100 | key->keysym = keysym; |
101 | key->state = state; |
101 | key->state = state; |
102 | key->str = translation; |
102 | key->str = action; |
103 | key->type = keysym_t::STRING; |
103 | key->type = keysym_t::STRING; |
104 | |
104 | |
105 | if (strncmp (translation, "builtin:", 8) == 0) |
105 | if (strncmp (action, "builtin:", 8) == 0) |
106 | key->type = keysym_t::BUILTIN; |
106 | key->type = keysym_t::BUILTIN; |
107 | else if (strncmp (translation, "builtin-string:", 15) == 0) |
107 | else if (strncmp (action, "builtin-string:", 15) == 0) |
108 | key->type = keysym_t::BUILTIN_STRING; |
108 | key->type = keysym_t::BUILTIN_STRING; |
109 | |
109 | |
110 | if (keymap.size () == keymap.capacity ()) |
110 | if (keymap.size () == keymap.capacity ()) |
111 | keymap.reserve (keymap.size () * 2); |
111 | keymap.reserve (keymap.size () * 2); |
112 | |
112 | |