Mercurial > pidgin
diff console/libgnt/gntkeys.h @ 14876:70623f0d5cdc
[gaim-migrate @ 17645]
Use terminfo/termcap information (from ncurses) as much as possible. There
still need to be some manual 'refinement' based on $TERM. I'll see if I
can get rid of those. Also, I am probably going to allow users to provide
information that terminfo can't provide, like the keycode for ctrl+up etc.
Let me know if any of the keybinding doesn't work.
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Wed, 01 Nov 2006 03:38:23 +0000 |
parents | 8a0cfee11af8 |
children | c01f62c83647 |
line wrap: on
line diff
--- a/console/libgnt/gntkeys.h Wed Nov 01 02:13:37 2006 +0000 +++ b/console/libgnt/gntkeys.h Wed Nov 01 03:38:23 2006 +0000 @@ -1,29 +1,34 @@ #ifndef GNT_KEYS_H #define GNT_KEYS_H -#define GNT_KEY_POPUP "[29~" +#include <curses.h> +#include <term.h> + +#define SAFE(x) ((x) ? (x) : "") + +#define GNT_KEY_POPUP SAFE(key_f16) /* Apparently */ /* 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_LEFT SAFE(key_left) +#define GNT_KEY_RIGHT SAFE(key_right) +#define GNT_KEY_UP SAFE(key_up) +#define GNT_KEY_DOWN SAFE(key_down) #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_PGUP SAFE(key_ppage) +#define GNT_KEY_PGDOWN SAFE(key_npage) +#define GNT_KEY_HOME SAFE(key_home) +#define GNT_KEY_END SAFE(key_end) -#define GNT_KEY_ENTER "\r" +#define GNT_KEY_ENTER carriage_return -#define GNT_KEY_BACKSPACE "\177" -#define GNT_KEY_DEL "[3~" -#define GNT_KEY_INS "[2~" +#define GNT_KEY_BACKSPACE SAFE(key_backspace) +#define GNT_KEY_DEL SAFE(key_dc) +#define GNT_KEY_INS SAFE(key_ic) #define GNT_KEY_CTRL_A "\001" #define GNT_KEY_CTRL_B "\002" @@ -48,18 +53,18 @@ #define GNT_KEY_CTRL_X "\030" #define GNT_KEY_CTRL_Y "\031" -#define GNT_KEY_F1 "[[A" -#define GNT_KEY_F2 "[[B" -#define GNT_KEY_F3 "[[C" -#define GNT_KEY_F4 "[[D" -#define GNT_KEY_F5 "[[E" -#define GNT_KEY_F6 "[17~" -#define GNT_KEY_F7 "[18~" -#define GNT_KEY_F8 "[19~" -#define GNT_KEY_F9 "[20~" -#define GNT_KEY_F10 "[21~" -#define GNT_KEY_F11 "[23~" -#define GNT_KEY_F12 "[24~" +#define GNT_KEY_F1 SAFE(key_f1) +#define GNT_KEY_F2 SAFE(key_f2) +#define GNT_KEY_F3 SAFE(key_f3) +#define GNT_KEY_F4 SAFE(key_f4) +#define GNT_KEY_F5 SAFE(key_f5) +#define GNT_KEY_F6 SAFE(key_f6) +#define GNT_KEY_F7 SAFE(key_f7) +#define GNT_KEY_F8 SAFE(key_f8) +#define GNT_KEY_F9 SAFE(key_f9) +#define GNT_KEY_F10 SAFE(key_f10) +#define GNT_KEY_F11 SAFE(key_f11) +#define GNT_KEY_F12 SAFE(key_f12) /** * This will do stuff with the terminal settings and stuff.