
sub change {

my $name=shift  ;

print $name,"...";
open(INFILE,  "<.\\".$name)   or die "Can't open $name: $!";
my @txt=<INFILE>;
close(INFILE);

open(OUTFILE, ">.\\$name")   or die "Can't open write file";

#group	default modifier	ALT1 modifier	ALT2 modifier 
#DIRECT 		 SHIFT 	 CTRL 
#DIRECT2 	 ALT 	 ALT+SHIFT 	 ALT+CTRL 
#DIRECT3 	 CTRL+SHIFT 	 ALT+CTRL+SHIFT 	 META+CTRL 
#HOTKEY 	 CTRL 	 CTRL+SHIFT 	 CTRL+ALT 
#LAYER 	 ALT 	 ALT+SHIFT 	 SHIFT 
#MNEMONIC 	 ALT 	 ALT 	 ALT 
#NONE 	 - 	 - 	 - 
#ALT 	 ALT 	 - 	 - 
#ALT_CTRL 	 ALT+CTRL 	 - 	 - 
#ALT_CTRL_SHIFT 	 ALT+CTRL+SHIFT 	 - 	 - 
#ALT_SHIFT 	 ALT+SHIFT 	 - 	 - 
#CTRL 	 CTRL 	 - 	 - 
#CTRL_SHIFT 	 CTRL+SHIFT 	 - 	 - 
#DIRECT 		 - 	 - 
#MNEMONIC 	 ALT 	 - 	 - 
#NONE 	 - 	 - 	 - 
#SHIFT 	 SHIFT 	 - 	 -


#EDIT 	----	 SHIFT 	 ALT+SHIFT 
s/Shortcut\.GROUP_EDIT\s*\+\s*Shortcut\.GROUPS_ALT1/Shortcut\.SHIFT/g foreach @txt;
s/Shortcut\.GROUPS_ALT1\s*\+\s*Shortcut\.GROUP_EDIT/Shortcut\.SHIFT/g foreach @txt;
s/Shortcut\.GROUP_EDIT\s*\+\s*Shortcut\.GROUPS_ALT2/Shortcut\.ALT_SHIFT/g foreach @txt;
s/Shortcut\.GROUPS_ALT2\s*\+\s*Shortcut\.GROUP_EDIT/Shortcut\.ALT_SHIFT/g foreach @txt;
s/Shortcut\.GROUP_EDIT/Shortcut\.DIRECT/g foreach @txt;

#MENU 	 CTRL 	 CTRL+SHIFT 	 CTRL+ALT 
s/Shortcut\.GROUP_MENU\s*\+\s*Shortcut\.GROUPS_ALT1/Shortcut\.CTRL_SHIFT/g foreach @txt;
s/Shortcut\.GROUPS_ALT1\s*\+\s*Shortcut\.GROUP_MENU/Shortcut\.CTRL_SHIFT/g foreach @txt;
s/Shortcut\.GROUP_MENU\s*\+\s*Shortcut\.GROUPS_ALT2/Shortcut\.ALT_CTRL/g foreach @txt;
s/Shortcut\.GROUPS_ALT2\s*\+\s*Shortcut\.GROUP_MENU/Shortcut\.ALT_CTRL/g foreach @txt;
s/Shortcut\.GROUP_MENU/Shortcut\.CTRL/g foreach @txt;

#HOTKEY 	 CTRL 	 CTRL+SHIFT 	 CTRL+ALT 
s/Shortcut\.GROUP_HOTKEY\s*\+\s*Shortcut\.GROUPS_ALT1/Shortcut\.CTRL_SHIFT/g foreach @txt;
s/Shortcut\.GROUPS_ALT1\s*\+\s*Shortcut\.GROUP_HOTKEY/Shortcut\.CTRL_SHIFT/g foreach @txt;
s/Shortcut\.GROUP_HOTKEY\s*\+\s*Shortcut\.GROUPS_ALT2/Shortcut\.ALT_CTRL/g foreach @txt;
s/Shortcut\.GROUPS_ALT2\s*\+\s*Shortcut\.GROUP_HOTKEY/Shortcut\.ALT_CTRL/g foreach @txt;
s/Shortcut\.GROUP_HOTKEY/Shortcut\.CTRL/g foreach @txt;

#LAYER 	 ALT 	 ALT+SHIFT 	 SHIFT 
s/Shortcut\.GROUP_LAYER\s*\+\s*Shortcut\.GROUPS_ALT1/Shortcut\.ALT_SHIFT/g foreach @txt;
s/Shortcut\.GROUPS_ALT1\s*\+\s*Shortcut\.GROUP_LAYER/Shortcut\.ALT_SHIFT/g foreach @txt;
s/Shortcut\.GROUP_LAYER\s*\+\s*Shortcut\.GROUPS_ALT2/Shortcut\.SHIFT/g foreach @txt;
s/Shortcut\.GROUPS_ALT2\s*\+\s*Shortcut\.GROUP_LAYER/Shortcut\.SHIFT/g foreach @txt;
s/Shortcut\.GROUP_LAYER/Shortcut\.ALT/g foreach @txt;


#DIRECT2 	 ALT 	 ALT+SHIFT 	 ALT+CTRL 
s/Shortcut\.GROUP_DIRECT2\s*\+\s*Shortcut\.GROUPS_ALT1/Shortcut\.ALT_SHIFT/g foreach @txt;
s/Shortcut\.GROUPS_ALT1\s*\+\s*Shortcut\.GROUP_DIRECT2/Shortcut\.ALT_SHIFT/g foreach @txt;
s/Shortcut\.GROUP_DIRECT2\s*\+\s*Shortcut\.GROUPS_ALT2/Shortcut\.ALT_CTRL/g foreach @txt;
s/Shortcut\.GROUPS_ALT2\s*\+\s*Shortcut\.GROUP_DIRECT2/Shortcut\.ALT_CTRL/g foreach @txt;
s/Shortcut\.GROUP_DIRECT2/Shortcut\.ALT/g foreach @txt;

#DIRECT3 	 CTRL+SHIFT 	 ALT+CTRL+SHIFT 	 META+CTRL 

s/Shortcut\.GROUP_DIRECT3\s*\+\s*Shortcut\.GROUPS_ALT1/Shortcut\.ALT_CTRL_SHIFT/g foreach @txt;
s/Shortcut\.GROUPS_ALT1\s*\+\s*Shortcut\.GROUP_DIRECT3/Shortcut\.ALT_CTRL_SHIFT/g foreach @txt;
#????
#s/Shortcut\.GROUP_DIRECT3\s*\+\s*Shortcut\.GROUPS_ALT2/Shortcut\.ALT_CTRL/g foreach @txt;
#s/Shortcut\.GROUPS_ALT2\s*\+\s*Shortcut\.GROUP_DIRECT3/Shortcut\.ALT_CTRL/g foreach @txt;
s/Shortcut\.GROUP_DIRECT3/Shortcut\.CTRL_SHIFT/g foreach @txt;

#DIRECT 		 SHIFT 	 CTRL 
s/Shortcut\.GROUP_DIRECT\s*\+\s*Shortcut\.GROUPS_ALT1/Shortcut\.SHIFT/g foreach @txt;
s/Shortcut\.GROUPS_ALT1\s*\+\s*Shortcut\.GROUP_DIRECT/Shortcut\.SHIFT/g foreach @txt;
s/Shortcut\.GROUP_DIRECT\s*\+\s*Shortcut\.GROUPS_ALT2/Shortcut\.CTRL/g foreach @txt;
s/Shortcut\.GROUPS_ALT2\s*\+\s*Shortcut\.GROUP_DIRECT/Shortcut\.CTRL/g foreach @txt;
s/Shortcut\.GROUP_DIRECT/Shortcut\.DIRECT/g foreach @txt;


print OUTFILE @txt;
close(OUTFILE);
print "OK\n"
} 

#change $ARGV[0]

use File::Find;

find sub { 
/.*\.java\z/s  && change $_
}, "src";


`svn diff -x --ignore-eol-style >big.patch`