gntkeys.h

Go to the documentation of this file.
00001 
00005 /*
00006  * GNT - The GLib Ncurses Toolkit
00007  *
00008  * GNT is the legal property of its developers, whose names are too numerous
00009  * to list here.  Please refer to the COPYRIGHT file distributed with this
00010  * source distribution.
00011  *
00012  * This library is free software; you can redistribute it and/or modify
00013  * it under the terms of the GNU General Public License as published by
00014  * the Free Software Foundation; either version 2 of the License, or
00015  * (at your option) any later version.
00016  *
00017  * This program is distributed in the hope that it will be useful,
00018  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  * GNU General Public License for more details.
00021  *
00022  * You should have received a copy of the GNU General Public License
00023  * along with this program; if not, write to the Free Software
00024  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
00025  */
00026 
00027 #ifndef GNT_KEYS_H
00028 #define GNT_KEYS_H
00029 
00030 #include <curses.h>
00031 #include <term.h>
00032 
00038 extern char *gnt_key_cup;
00039 extern char *gnt_key_cdown;
00040 extern char *gnt_key_cleft;
00041 extern char *gnt_key_cright;
00042 
00043 #define SAFE(x)   ((x) ? (x) : "")
00044 
00045 #define GNT_KEY_POPUP   SAFE(key_f16)   /* Apparently */
00046 
00047 /* Arrow keys */
00048 #define GNT_KEY_LEFT   SAFE(key_left)
00049 #define GNT_KEY_RIGHT  SAFE(key_right)
00050 #define GNT_KEY_UP     SAFE(key_up)
00051 #define GNT_KEY_DOWN   SAFE(key_down)
00052 
00053 #define GNT_KEY_CTRL_UP     SAFE(gnt_key_cup)
00054 #define GNT_KEY_CTRL_DOWN   SAFE(gnt_key_cdown)
00055 #define GNT_KEY_CTRL_RIGHT  SAFE(gnt_key_cright)
00056 #define GNT_KEY_CTRL_LEFT   SAFE(gnt_key_cleft)
00057 
00058 #define GNT_KEY_PGUP   SAFE(key_ppage)
00059 #define GNT_KEY_PGDOWN SAFE(key_npage)
00060 #define GNT_KEY_HOME   SAFE(key_home)
00061 #define GNT_KEY_END    SAFE(key_end)
00062 
00063 #define GNT_KEY_ENTER  carriage_return
00064 
00065 #define GNT_KEY_BACKSPACE SAFE(key_backspace)
00066 #define GNT_KEY_DEL    SAFE(key_dc)
00067 #define GNT_KEY_INS    SAFE(key_ic)
00068 #define GNT_KEY_BACK_TAB SAFE(back_tab)
00069 
00070 #define GNT_KEY_CTRL_A     "\001"
00071 #define GNT_KEY_CTRL_B     "\002"
00072 #define GNT_KEY_CTRL_D     "\004"
00073 #define GNT_KEY_CTRL_E     "\005"
00074 #define GNT_KEY_CTRL_F     "\006"
00075 #define GNT_KEY_CTRL_G     "\007"
00076 #define GNT_KEY_CTRL_H     "\010"
00077 #define GNT_KEY_CTRL_I     "\011"
00078 #define GNT_KEY_CTRL_J     "\012"
00079 #define GNT_KEY_CTRL_K     "\013"
00080 #define GNT_KEY_CTRL_L     "\014"
00081 #define GNT_KEY_CTRL_M     "\012"
00082 #define GNT_KEY_CTRL_N     "\016"
00083 #define GNT_KEY_CTRL_O     "\017"
00084 #define GNT_KEY_CTRL_P     "\020"
00085 #define GNT_KEY_CTRL_R     "\022"
00086 #define GNT_KEY_CTRL_T     "\024"
00087 #define GNT_KEY_CTRL_U     "\025"
00088 #define GNT_KEY_CTRL_V     "\026"
00089 #define GNT_KEY_CTRL_W     "\027"
00090 #define GNT_KEY_CTRL_X     "\030"
00091 #define GNT_KEY_CTRL_Y     "\031"
00092 
00093 #define GNT_KEY_F1         SAFE(key_f1)
00094 #define GNT_KEY_F2         SAFE(key_f2)
00095 #define GNT_KEY_F3         SAFE(key_f3)
00096 #define GNT_KEY_F4         SAFE(key_f4)
00097 #define GNT_KEY_F5         SAFE(key_f5)
00098 #define GNT_KEY_F6         SAFE(key_f6)
00099 #define GNT_KEY_F7         SAFE(key_f7)
00100 #define GNT_KEY_F8         SAFE(key_f8)
00101 #define GNT_KEY_F9         SAFE(key_f9)
00102 #define GNT_KEY_F10        SAFE(key_f10)
00103 #define GNT_KEY_F11        SAFE(key_f11)
00104 #define GNT_KEY_F12        SAFE(key_f12)
00105 
00109 void gnt_init_keys(void);
00110 
00117 void gnt_keys_refine(char *text);
00118 
00126 const char *gnt_key_translate(const char *name);
00127 
00135 const char *gnt_key_lookup(const char *key);
00136 
00142 void gnt_keys_add_combination(const char *key);
00143 
00149 void gnt_keys_del_combination(const char *key);
00150 
00159 int gnt_keys_find_combination(const char *key);
00160 
00161 /* A lot of commonly used variable names are defined in <term.h>. 
00162  * #undef them to make life easier for everyone. */
00163 
00164 #undef columns
00165 #undef lines
00166 #undef buttons
00167 #undef newline
00168 
00169 #endif