snj doesn't like my accent, so use proper English month names.
[netbsd-mini2440.git] / sbin / wsconsctl / mkkeysym.sh
blob1bf0704a05b850672d8ec078faf7f172e64b9d19
1 #! /bin/sh
3 # $NetBSD: mkkeysym.sh,v 1.1 1998/12/28 14:01:17 hannken Exp $
5 # Build a table of keysyms from a file describing keysyms as:
7 # /*BEGINKEYSYMDECL*/
8 # #define KS_name 0xval
9 # ...
10 # /*ENDKEYSYMDECL*/
13 AWK=${AWK:-awk}
15 ${AWK} '
16 BEGIN {
17 in_decl = 0;
18 printf("/* DO NOT EDIT: AUTOMATICALLY GENERATED FROM '$1' */\n\n");
19 printf("struct ksym {\n\tconst char *name;\n\tint value;\n};\n\n");
20 printf("struct ksym ksym_tab_by_name[] = {\n");
23 END {
24 printf("};\n");
27 $1 == "/*BEGINKEYSYMDECL*/" {
28 in_decl = 1;
31 $1 == "/*ENDKEYSYMDECL*/" {
32 in_decl = 0;
35 $1 ~ /^#[ ]*define/ && $2 ~ /^KS_/ && $3 ~ /^0x[0-9a-f]*/ {
36 if (in_decl)
37 printf("\t{ \"%s\", %s },\n", substr($2, 4), $3);
38 }' $1