This is the same problem and fix released into the Arduino Zero USBHost library.
arduino/ArduinoCore-samd#87
KeyboardReportParser::OemToAscii() returned lower case characters even when the right side shift key is pressed. The left side shift key works fine.
The fix is in the following pull request.
#10