ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/keyboard.C
(Generate patch)

Comparing rxvt-unicode/src/keyboard.C (file contents):
Revision 1.21 by root, Fri Jan 6 20:50:58 2006 UTC vs.
Revision 1.22 by root, Mon Jan 9 22:41:41 2006 UTC

46// default keycode translation map and keyevent handlers 46// default keycode translation map and keyevent handlers
47 47
48keysym_t keyboard_manager::stock_keymap[] = { 48keysym_t keyboard_manager::stock_keymap[] = {
49 /* examples */ 49 /* examples */
50 /* keysym, state, range, handler, str */ 50 /* keysym, state, range, handler, str */
51//{XK_ISO_Left_Tab, 0, 1, keysym_t::NORMAL, "\033[Z"}, 51//{XK_ISO_Left_Tab, 0, 1, keysym_t::STRING, "\033[Z"},
52//{ 'a', 0, 26, keysym_t::RANGE_META8, "a" "%c"}, 52//{ 'a', 0, 26, keysym_t::RANGE_META8, "a" "%c"},
53//{ 'a', ControlMask, 26, keysym_t::RANGE_META8, "" "%c"}, 53//{ 'a', ControlMask, 26, keysym_t::RANGE_META8, "" "%c"},
54//{ XK_Left, 0, 4, keysym_t::LIST, ".\033[.DACB."}, 54//{ XK_Left, 0, 4, keysym_t::LIST, ".\033[.DACB."},
55//{ XK_Left, ShiftMask, 4, keysym_t::LIST, ".\033[.dacb."}, 55//{ XK_Left, ShiftMask, 4, keysym_t::LIST, ".\033[.dacb."},
56//{ XK_Left, ControlMask, 4, keysym_t::LIST, ".\033O.dacb."}, 56//{ XK_Left, ControlMask, 4, keysym_t::LIST, ".\033O.dacb."},
57//{ XK_Tab, ControlMask, 1, keysym_t::NORMAL, "\033<C-Tab>"}, 57//{ XK_Tab, ControlMask, 1, keysym_t::STRING, "\033<C-Tab>"},
58//{ XK_apostrophe, ControlMask, 1, keysym_t::NORMAL, "\033<C-'>"}, 58//{ XK_apostrophe, ControlMask, 1, keysym_t::STRING, "\033<C-'>"},
59//{ XK_slash, ControlMask, 1, keysym_t::NORMAL, "\033<C-/>"}, 59//{ XK_slash, ControlMask, 1, keysym_t::STRING, "\033<C-/>"},
60//{ XK_semicolon, ControlMask, 1, keysym_t::NORMAL, "\033<C-;>"}, 60//{ XK_semicolon, ControlMask, 1, keysym_t::STRING, "\033<C-;>"},
61//{ XK_grave, ControlMask, 1, keysym_t::NORMAL, "\033<C-`>"}, 61//{ XK_grave, ControlMask, 1, keysym_t::STRING, "\033<C-`>"},
62//{ XK_comma, ControlMask, 1, keysym_t::NORMAL, "\033<C-\054>"}, 62//{ XK_comma, ControlMask, 1, keysym_t::STRING, "\033<C-\054>"},
63//{ XK_Return, ControlMask, 1, keysym_t::NORMAL, "\033<C-Return>"}, 63//{ XK_Return, ControlMask, 1, keysym_t::STRING, "\033<C-Return>"},
64//{ XK_Return, ShiftMask, 1, keysym_t::NORMAL, "\033<S-Return>"}, 64//{ XK_Return, ShiftMask, 1, keysym_t::STRING, "\033<S-Return>"},
65//{ ' ', ShiftMask, 1, keysym_t::NORMAL, "\033<S-Space>"}, 65//{ ' ', ShiftMask, 1, keysym_t::STRING, "\033<S-Space>"},
66//{ '.', ControlMask, 1, keysym_t::NORMAL, "\033<C-.>"}, 66//{ '.', ControlMask, 1, keysym_t::STRING, "\033<C-.>"},
67//{ '0', ControlMask, 10, keysym_t::RANGE, "0" "\033<C-%c>"}, 67//{ '0', ControlMask, 10, keysym_t::RANGE, "0" "\033<C-%c>"},
68//{ '0', MetaMask|ControlMask, 10, keysym_t::RANGE, "0" "\033<M-C-%c>"}, 68//{ '0', MetaMask|ControlMask, 10, keysym_t::RANGE, "0" "\033<M-C-%c>"},
69//{ 'a', MetaMask|ControlMask, 26, keysym_t::RANGE, "a" "\033<M-C-%c>"}, 69//{ 'a', MetaMask|ControlMask, 26, keysym_t::RANGE, "a" "\033<M-C-%c>"},
70}; 70};
71#endif 71#endif
201 { 201 {
202 key->keysym = keysym; 202 key->keysym = keysym;
203 key->state = state; 203 key->state = state;
204 key->range = 1; 204 key->range = 1;
205 key->str = translation; 205 key->str = translation;
206 key->type = keysym_t::NORMAL; 206 key->type = keysym_t::STRING;
207 207
208 if (strncmp (translation, "list", 4) == 0 && translation [4]) 208 if (strncmp (translation, "list", 4) == 0 && translation [4])
209 { 209 {
210 char *middle = strchr (translation + 5, translation [4]); 210 char *middle = strchr (translation + 5, translation [4]);
211 char *suffix = strrchr (translation + 5, translation [4]); 211 char *suffix = strrchr (translation + 5, translation [4]);
291 // TODO: do (some) translations, unescaping etc, here (allow \u escape etc.) 291 // TODO: do (some) translations, unescaping etc, here (allow \u escape etc.)
292 free (wc); 292 free (wc);
293 293
294 switch (key.type) 294 switch (key.type)
295 { 295 {
296 case keysym_t::NORMAL: 296 case keysym_t::STRING:
297 output_string (term, str); 297 output_string (term, str);
298 break; 298 break;
299 299
300 case keysym_t::RANGE: 300 case keysym_t::RANGE:
301 { 301 {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines