In case anyone else is wondering, I used the old fashioned heuristic technique and found some things out.
Shortcuts that use character keys look like this:
<keycmd>
<cmd>Tool.FreeTransform</cmd>
<uchar>Q</uchar>
<mod>
<shift/>
</mod>
</keycmd>
<keycmd> and </keycmd> are respectively used to open and close all functions in the shortcut file. <uchar>LETTER</uchar> are used to indicate a character key, with the letter of the button placed in between. In the above example, the function will ensure that pressing Q will switch the tool selection to the Free Transform Tool. The <mod><shift/></mod> strings ensure that if multiple tools are mapped to Q, pressing Q again would cause the tool selection to switch the next tool sharing that shortcut (Shift is a "modifier" key).
Shortcuts that use system keys look like this:
<keycmd>
<cmd>Goto.First</cmd>
<key>36</key>
</keycmd>
For system keys, instead of the <uchar> strings, <key>NUMBER</key> is used and the "keycode" of the button must be placed in between. And this is where things get tricky because the keycodes are specific to Adobe Animate. In the above example keycode 36 refers to the HOME key, pressing it will, as the code suggests, execute Go To: First (Go to the first scene of the movie).
<keycmd>
<cmd>Goto.ReturnFocusToStage</cmd>
<key>36</key>
<mod>
<cmdkey/>
<alt/>
</mod>
</keycmd>
In the above example, pressing CTRL/CMD + ALT + HOME will, as the code suggests, execute Go To: Return Focus to Stage. So it will be important to remember that system keys assigned to keycodes 1-9 can be very easily confused with the character keys 1-9 (the number keys near the top of the keyboard), it is only the <uchar> or <key> strings that differentiate between them.
Some functions have a special string added:
<keycmd>
<cmd>ScreenMode.ScreenModeNormal</cmd>
<key>6</key>
<protected/>
</keycmd>
Keycode 6 refers to the ESC key. The <protected/> string will prevent users from changing the assignment of the ESC key within Animate's Keyboard Shortcut Menu (which also prevents you from assigning any other key to that command as well). If you wish to override this, you merely have to remove the <protected/> string from the function and save the XML file.
Here is the list of system key keycodes that I have discovered:
| Adobe Keycode | Keyboard Button | Adobe Keycode | Keyboard Button | Adobe Keycode | Keyboard Button |
|---|
| 1 | SPACE | 21 | - | 41 | - |
| 2 | BACKSPACE | 22 | - | 42 | LEFT ARROW |
| 3 | TAB | 23 | - | 43 | RIGHT ARROW |
| 4 | RETURN | 24 | - | 44 | UP ARROW |
| 5 | ENTER | 25 | - | 45 | DOWN ARROW |
| 6 | ESCAPE | 26 | - | 46 | - |
| 7 | F1 | 27 | - | 47 | - |
| 8 | F2 | 28 | - | 48 | - |
| 9 | F3 | 29 | - | 49 | - |
| 10 | F4 | 30 | - | 50 | SHIFT |
| 11 | F5 | 31 | - | 51 | - |
| 12 | F6 | 32 | - | 52 | - |
| 13 | F7 | 33 | PAUSE | 53 | - |
| 14 | F8 | 34 | INSERT | 54 | - |
| 15 | F9 | 35 | DELETE | 55 | - |
| 16 | F10 | 36 | HOME | 56 | - |
| 17 | F11 | 37 | END | 57 | - |
| 18 | F12 | 38 | PAGE UP | 58 | - |
| 19 | - | 39 | PAGE DOWN | 59 | - |
| 20 | - | 40 | - | 60 | - |
I stopped when I reached 108, there are no usable keycodes after 50, and I am not sure what purpose there is in using the SHIFT key as a shortcut.