1BEGIN {nkeydefs = 0}
2
3/^[\t ]*#[\t ]*define[\t _]*KEY_[A-Z0-9_]*[\t ]/ {
4    keyindex = index($0, "KEY_")
5    keytail = substr($0, keyindex, 80)
6    split(keytail, tmp)
7    keynam = substr(tmp[1], 5, 30)
8    if (keynam != "MIN" && keynam != "MAX" && keynam != "CODE_YES") {
9	name[nkeydefs++] = keynam
10    }
11}
12
13END {
14    printf("static const struct zcurses_namenumberpair keypad_names[] = {\n")
15    for (i = 0; i < 0 + nkeydefs; i++)
16        printf("    {\"%s\", KEY_%s},\n", name[i], name[i])
17    printf("    {NULL, 0}\n")
18    printf("};\n")
19}
20