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