From aceccd581926d84cad1dfbb72e0f81158efb59a6 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Tue, 25 Oct 2011 14:34:27 +0100 Subject: [PATCH] gdk: Make gen-keyname-table.pl work again keyname-table.h was modified by hand, and gen-keyname-table.pl couldn't be used to generate that file again. https://bugzilla.gnome.org/show_bug.cgi?id=662628 --- gdk/Makefile.am | 1 + gdk/gen-keyname-table.pl | 37 +++++++++++++++++++++++++++++++++---- gdk/keynames-translate.txt | 26 ++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 gdk/keynames-translate.txt 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 <