diff options
| author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2009-06-24 21:46:17 +0000 |
|---|---|---|
| committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2009-06-24 21:46:17 +0000 |
| commit | af980d8bcbfa37f3391f068f851f68b390769f71 (patch) | |
| tree | 73fdbafa91b6c68bdbc7754b1deb9d1265ea570e /apps/plugins/lua/button_helper.pl | |
| parent | 7a8e1e8fc00b4255c28696962dc240a70bc6e082 (diff) | |
| download | rockbox-af980d8bcbfa37f3391f068f851f68b390769f71.zip rockbox-af980d8bcbfa37f3391f068f851f68b390769f71.tar.gz rockbox-af980d8bcbfa37f3391f068f851f68b390769f71.tar.bz2 rockbox-af980d8bcbfa37f3391f068f851f68b390769f71.tar.xz | |
Lua: expose BUTTON_* defines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21500 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lua/button_helper.pl')
| -rwxr-xr-x | apps/plugins/lua/button_helper.pl | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/apps/plugins/lua/button_helper.pl b/apps/plugins/lua/button_helper.pl new file mode 100755 index 0000000..43307a0 --- /dev/null +++ b/apps/plugins/lua/button_helper.pl @@ -0,0 +1,64 @@ +#!/usr/bin/env perl +############################################################################ +# __________ __ ___. +# Open \______ \ ____ ____ | | _\_ |__ _______ ___ +# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +# \/ \/ \/ \/ \/ +# $Id$ +# +# Copyright (C) 2009 by Maurus Cuelenaere +# +# All files in this archive are subject to the GNU General Public License. +# See the file COPYING in the source tree root for full license agreement. +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# KIND, either express or implied. +# +############################################################################ + +$svnrev = '$Revision$'; + +print <<EOF +#include <stdio.h> +#include <stdbool.h> +#include "button-target.h" + +struct button +{ + char* name; + unsigned long value; +}; + +static struct button buttons[] = { +EOF +; + +while(my $line = <STDIN>) +{ + chomp($line); + if($line =~ /^#define (BUTTON_[^\s]+) (.+)$/) + { + printf "{\"%s\", %s},\n", $1, $2; + } +} + +print <<EOF +}; + +int main(void) +{ + unsigned int i; + printf("-- Don't change this file!\\n"); + printf("-- It is automatically generated of button-target.h \%s\\n", "$svnrev"); + printf("rb.buttons = {\\n"); + for(i=0; i<sizeof(buttons)/sizeof(struct button); i++) + printf("\\t\%s = \%ld,\\n", buttons[i].name, buttons[i].value); + printf("}\\n"); + + return 0; +} + +EOF +; |