My aim - to replace all CTRL+F Key Commands with CTRL+]. Then replace all ALT+F Key Commands with CTRL+F.
My thought - Unzip the module and edit the buildFile.xml file to perform some global replacements. Simple - not. Those (and probably all the other Key Commands) do not appear as such. Seemingly something else, a code/number/whatever, is used to designate/define these key combinations.
Is there a way to do this? The Vassal Search function can find them all, but it does not have a replace (with) functionality (BTW, that functionality would actually be very nice).
Manually altering several thousand layer traits is not my idea of spending the next few days time.
Key commands (i.e., keystrokes or named commands) are encoded as
chararcter-code,modifier-code[,name]
where character-code is the ASCII number of a character
A -> 65, B -> 66, ..., Z -> 90
and modifier-key are
Ctrl -> 130
Alt -> 520
Shift -> 65
Ctrl+Shift -> Ctrl + Shift = 195
Alt+Shift -> Alt + Shift = 585
none -> 0
and name is optional and is a named command. If name is specified then character-code must be 57348 and modifier-code must be 0.
So if you want to replace Ctrl+F with Ctrl+J, then search and replace 70,130 with 74,130, and to replace Alt+F with Ctrl+F, then search and replace 70,520 with 70,130.
Please remember to indicate which post solved your problem - that really helps other find solutions to their problems.
Yours,
Christian
Thank you Christian.
- for your rapid response and
- for your answer
I’ll load the file up and have a bash and let you know. To me, your message is the correct response, but I do like to confirm first (if that’s OK).
Don
PS Seems to work quite well. There are, however, also several (28) 70\,520 entries. Are these also ALT F - they do appear where an ALT F is expected. I wonder why the \ is added though.
PPS Also several 70\,130 entries as well.
Did not do a global replacement of the 70\,x entries just in case they were something else. Recompiled the module and ran it. Then went through using the search function to locate those 70\ entries and correct/amend as necessary. Found them all and they were CTRL F and ALT F key commands. Anyway, the module seems to run fine post the changes. I’ll adfur once the team can put it through its paces during game play on Monday.
The backslash \ is there to escape the comma , in the encoding of piece traits. Comma is usually used to separate different fields in a trait configuration. Thus, to avoid the parser of the traits to understand, say 70,520 as the fields 72 and 520, we need to escape the , by placing a \ in front of it. In non-traits, e.g., buttons, the comma need not be escaped because the key is stored in an attribute of the XML element.
Of course. You should of course verify that the solution works before checking it - otherwise it will be misleading which is no help at all 
Yours,
Christian
Thank you Christian.
The overall solution is:
- Unzip the module
- Open the buildFile.xml file with whatever you prefer to use (notepad++ it’s really good)
- Open the find function using CTRL F.
- Click on the ‘Replace’ tab.
- Use the ASCII numbers the alphanumeric you need replaced and then the modifier key/codes for CTRL or ALT as provided by Christian.
- Do the global replace functions using find x,y replace with a,b.
- Repeat the global replace functions as for 6, but include the ‘\’ on both the find and replace by elements. ie x\,y replace with a\,b.
- Save.
- recompile the module.
- play.
I think that covers it all pretty well.
My thanks to you Christian
BTW the global replace of CTRL+F with CTRL+] change well over 5000 entries.
(I think this message is the overall solution?)
And always make sure you have a saved backup copy of the last working build file. 
FYI, Christian gave you the ASCII code for “J”, not for “]” (closing bracket); that would be 93.
Thanks jr, I did pick up on that one.
Definitely an, to reiterate, always.
You decide which is the solution to your problem - you have that prerogative as OP 