Working on the latest file format description 3.13 I found the following false implementation in program version 3.37.1:
Key-stroke definition in record data as described in footnote 20 is not implemented corrcetly. Instead of addressing bye 3 as described, byte 2 is addressed for the key-modifiers value. Resulting incompatibility with appications conforming to the document. Either document or implementation should change to solve this issue. ;)
(Excerpt from document, footnote 20)
[20] Entry keyboard shortcut. Format is:
Bytes 0-1: Virtual KeyCode for the character (Windows only uses byte 1)
Byte 2 : zero
Byte 3 : Keyboard Modifiers - a bitwise OR of any valid combination of:
PWS_HOTKEYF_ALT 0x01
PWS_HOTKEYF_CONTROL 0x02
PWS_HOTKEYF_SHIFT 0x04
PWS_HOTKEYF_EXT 0x08
PWS_HOTKEYF_META 0x10 (not supported by Windows)
PWS_HOTKEYF_WIN 0x20 (not supported by Windows)
PWS_HOTKEYF_CMD 0x40 (not supported by Windows)
This was introduced in version 0x030D (PasswordSafe V3.30).
Nice catch!
Changing the code now would introduce ugly compatability issues, so I've fixed the documentation: commit 79a6106