1. The HID keyboard driver sends characters as defined by the input passed to it in its queue. If unknown characters are displayed it may be that those passed to the queue are not supported.
2. Each character is converted to a key code using the routine
static void fnInsertUSBKeyCode(CHAR cInputCharacter, unsigned char ucKeyboardState)
which takes the new value (cInputCharacter) and puts its key code into the ucKeyboardState array.
Note that this supports "typical" ASCII input but if unsupported characters are received it will not code them and leave the input buffer with 0x00.
See in that routine:
return; // others are not yet supported
If you have unusual input you will need to add a key code for it.
Therefore, first identify whether you are passing the expected data to the queue and then whether there is some input for which key codes are not present.