#!/usr/bin/perl -w # Generates a C# Key enum from the Gdk headers (gdkkeysyms.h) # Usage: ./gen_keysyms < gdkkeysyms.h > Key.cs # Alp Toker print "// Generated File. Do not modify.\n\n"; print "namespace Gdk\n"; print "{\n"; print "\tpublic enum Key {\n"; while(<>) { chomp; if (m/^\W*#define\W+GDK_(\w+)\W+(\w+)\W*$/) { $key = $1; $value = $2; # keys can't start with a digit if ($key =~ m/^\d.*$/) { $key = "Key_$key"; } print "\t\t$key = $value,\n"; } } print "\t}\n"; print "}\n";