view console/libgnt/gntkeys.h @ 14419:b50aa149e09d

[gaim-migrate @ 17127] This fixes titles containing double-column wide characters for me. Editing of double-column characters in gntentry remains a bit bustinated (though it is my recollection that it worked at one time). This additionally does not require wcwidth() and its attendant funkiness. The version of gnt_util_onscreen_width_to_pointer in this commit *appears* to do what the extant version was supposed to do, though I'm not sure I grokked it fully; it does correct the rendering glitches for me. I'm not at all comfortable with the de-constification of the input string and attendant return of the de-constified pointer. Sadrul will have to let me know what is supposed to happen there. Output on non-UTF-8 terminals is not correct, but was not correct before, either. committer: Tailor Script <tailor@pidgin.im>
author Ethan Blanton <elb@pidgin.im>
date Sat, 02 Sep 2006 16:55:32 +0000
parents e9dd2f76e61b
children 8a0cfee11af8
line wrap: on
line source

#ifndef GNT_KEYS_H
#define GNT_KEYS_H

#define GNT_KEY_POPUP   "[29~"

/* Arrow keys */
#define GNT_KEY_LEFT   "[D"
#define GNT_KEY_RIGHT  "[C"
#define GNT_KEY_UP     "[A"
#define GNT_KEY_DOWN   "[B"

#define GNT_KEY_CTRL_UP     "[1;5A"
#define GNT_KEY_CTRL_DOWN   "[1;5B"
#define GNT_KEY_CTRL_RIGHT  "[1;5C"
#define GNT_KEY_CTRL_LEFT   "[1;5D"

#define GNT_KEY_PGUP   "[5~"
#define GNT_KEY_PGDOWN "[6~"
#define GNT_KEY_HOME   "[7~"
#define GNT_KEY_END    "[8~"

#define GNT_KEY_ENTER  "\r"

#define GNT_KEY_BACKSPACE "\177"
#define GNT_KEY_DEL    "[3~"

#define GNT_KEY_CTRL_A     "\001"
#define GNT_KEY_CTRL_B     "\002"
#define GNT_KEY_CTRL_D     "\004"
#define GNT_KEY_CTRL_E     "\005"
#define GNT_KEY_CTRL_F     "\006"
#define GNT_KEY_CTRL_G     "\007"
#define GNT_KEY_CTRL_H     "\010"
#define GNT_KEY_CTRL_I     "\011"
#define GNT_KEY_CTRL_J     "\012"
#define GNT_KEY_CTRL_K     "\013"
#define GNT_KEY_CTRL_L     "\014"
#define GNT_KEY_CTRL_M     "\012"
#define GNT_KEY_CTRL_N     "\016"
#define GNT_KEY_CTRL_O     "\017"
#define GNT_KEY_CTRL_P     "\020"
#define GNT_KEY_CTRL_R     "\022"
#define GNT_KEY_CTRL_T     "\024"
#define GNT_KEY_CTRL_U     "\025"
#define GNT_KEY_CTRL_V     "\026"
#define GNT_KEY_CTRL_W     "\027"
#define GNT_KEY_CTRL_X     "\030"
#define GNT_KEY_CTRL_Y     "\031"

/**
 * This will do stuff with the terminal settings and stuff.
 */
void gnt_keys_refine(char *text);

#endif