diff --git a/gdk/Makefile.am b/gdk/Makefile.am index c7f24af8ce..0c8011558f 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -17,6 +17,7 @@ CLEANFILES = EXTRA_DIST += \ keynames.txt \ + keynames-translate.txt \ keyname-table.h \ gdkkeynames.c \ gen-keyname-table.pl \ diff --git a/gdk/gen-keyname-table.pl b/gdk/gen-keyname-table.pl index e0fe9642b2..cc47400ef1 100755 --- a/gdk/gen-keyname-table.pl +++ b/gdk/gen-keyname-table.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl -w -if (@ARGV != 1) { - die "Usage: gen-keyname-table.pl keynames.txt > keyname-table.h\n"; +if (@ARGV != 2) { + die "Usage: gen-keyname-table.pl keynames.txt keynames-translate.txt > keyname-table.h\n"; } open IN, $ARGV[0] || die "Cannot open $ARGV[0]: $!\n"; @@ -20,6 +20,18 @@ while (defined($_ = )) { push @translate, $2; } } +close IN; + +open IN, $ARGV[1] || die "Cannot open $ARGV[1]: $!\n"; +while (defined($_ = )) { + next if /^!/; + if (!/^\s*([\w_]*\S)\s+$/) { + die "Cannot parse line $_"; + } + + push @translate, $1; +} +close IN; $offset = 0; @@ -99,13 +111,30 @@ print <