ncurses 4.1
[ncurses.git] / ncurses / MKkeyname.awk
1 # $Id: MKkeyname.awk,v 1.6 1997/04/05 23:38:17 tom Exp $
2 BEGIN {
3         print ""
4         print "#include <ncurses_cfg.h>"
5         print "#include <stdlib.h>"
6         print "#include <term.h>"
7         print "#include <curses.h>"
8         print ""
9         print "struct kn {"
10         print "\tconst char *name;"
11         print "\tint code;"
12         print "};"
13         print ""
14         print "const struct kn key_names[] = {"
15 }
16
17 {printf "\t{\"%s\", %s,},\n", $1, $2;}
18
19 END {
20         print "};"
21         print ""
22         print "const char *keyname(int c)"
23         print "{"
24         print "int i, size = sizeof(key_names)/sizeof(struct kn);"
25         print ""
26         print "\tfor (i = 0; i < size; i++) {"
27         print "\t\tif (key_names[i].code == c) return key_names[i].name;"
28         print "\t}"
29         print "\treturn NULL;"
30         print "}"
31         print "" 
32 }