comparison 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
comparison
equal deleted inserted replaced
14875:7357d46ba817 14876:70623f0d5cdc
1 #ifndef GNT_KEYS_H 1 #ifndef GNT_KEYS_H
2 #define GNT_KEYS_H 2 #define GNT_KEYS_H
3 3
4 #define GNT_KEY_POPUP "[29~" 4 #include <curses.h>
5 #include <term.h>
6
7 #define SAFE(x) ((x) ? (x) : "")
8
9 #define GNT_KEY_POPUP SAFE(key_f16) /* Apparently */
5 10
6 /* Arrow keys */ 11 /* Arrow keys */
7 #define GNT_KEY_LEFT "[D" 12 #define GNT_KEY_LEFT SAFE(key_left)
8 #define GNT_KEY_RIGHT "[C" 13 #define GNT_KEY_RIGHT SAFE(key_right)
9 #define GNT_KEY_UP "[A" 14 #define GNT_KEY_UP SAFE(key_up)
10 #define GNT_KEY_DOWN "[B" 15 #define GNT_KEY_DOWN SAFE(key_down)
11 16
12 #define GNT_KEY_CTRL_UP "[1;5A" 17 #define GNT_KEY_CTRL_UP "[1;5A"
13 #define GNT_KEY_CTRL_DOWN "[1;5B" 18 #define GNT_KEY_CTRL_DOWN "[1;5B"
14 #define GNT_KEY_CTRL_RIGHT "[1;5C" 19 #define GNT_KEY_CTRL_RIGHT "[1;5C"
15 #define GNT_KEY_CTRL_LEFT "[1;5D" 20 #define GNT_KEY_CTRL_LEFT "[1;5D"
16 21
17 #define GNT_KEY_PGUP "[5~" 22 #define GNT_KEY_PGUP SAFE(key_ppage)
18 #define GNT_KEY_PGDOWN "[6~" 23 #define GNT_KEY_PGDOWN SAFE(key_npage)
19 #define GNT_KEY_HOME "[7~" 24 #define GNT_KEY_HOME SAFE(key_home)
20 #define GNT_KEY_END "[8~" 25 #define GNT_KEY_END SAFE(key_end)
21 26
22 #define GNT_KEY_ENTER "\r" 27 #define GNT_KEY_ENTER carriage_return
23 28
24 #define GNT_KEY_BACKSPACE "\177" 29 #define GNT_KEY_BACKSPACE SAFE(key_backspace)
25 #define GNT_KEY_DEL "[3~" 30 #define GNT_KEY_DEL SAFE(key_dc)
26 #define GNT_KEY_INS "[2~" 31 #define GNT_KEY_INS SAFE(key_ic)
27 32
28 #define GNT_KEY_CTRL_A "\001" 33 #define GNT_KEY_CTRL_A "\001"
29 #define GNT_KEY_CTRL_B "\002" 34 #define GNT_KEY_CTRL_B "\002"
30 #define GNT_KEY_CTRL_D "\004" 35 #define GNT_KEY_CTRL_D "\004"
31 #define GNT_KEY_CTRL_E "\005" 36 #define GNT_KEY_CTRL_E "\005"
46 #define GNT_KEY_CTRL_V "\026" 51 #define GNT_KEY_CTRL_V "\026"
47 #define GNT_KEY_CTRL_W "\027" 52 #define GNT_KEY_CTRL_W "\027"
48 #define GNT_KEY_CTRL_X "\030" 53 #define GNT_KEY_CTRL_X "\030"
49 #define GNT_KEY_CTRL_Y "\031" 54 #define GNT_KEY_CTRL_Y "\031"
50 55
51 #define GNT_KEY_F1 "[[A" 56 #define GNT_KEY_F1 SAFE(key_f1)
52 #define GNT_KEY_F2 "[[B" 57 #define GNT_KEY_F2 SAFE(key_f2)
53 #define GNT_KEY_F3 "[[C" 58 #define GNT_KEY_F3 SAFE(key_f3)
54 #define GNT_KEY_F4 "[[D" 59 #define GNT_KEY_F4 SAFE(key_f4)
55 #define GNT_KEY_F5 "[[E" 60 #define GNT_KEY_F5 SAFE(key_f5)
56 #define GNT_KEY_F6 "[17~" 61 #define GNT_KEY_F6 SAFE(key_f6)
57 #define GNT_KEY_F7 "[18~" 62 #define GNT_KEY_F7 SAFE(key_f7)
58 #define GNT_KEY_F8 "[19~" 63 #define GNT_KEY_F8 SAFE(key_f8)
59 #define GNT_KEY_F9 "[20~" 64 #define GNT_KEY_F9 SAFE(key_f9)
60 #define GNT_KEY_F10 "[21~" 65 #define GNT_KEY_F10 SAFE(key_f10)
61 #define GNT_KEY_F11 "[23~" 66 #define GNT_KEY_F11 SAFE(key_f11)
62 #define GNT_KEY_F12 "[24~" 67 #define GNT_KEY_F12 SAFE(key_f12)
63 68
64 /** 69 /**
65 * This will do stuff with the terminal settings and stuff. 70 * This will do stuff with the terminal settings and stuff.
66 */ 71 */
67 void gnt_keys_refine(char *text); 72 void gnt_keys_refine(char *text);