This is the same problem and fix released into the Arduino Zero USBHost library. https://github.com/arduino/ArduinoCore-samd/pull/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. https://github.com/arduino-libraries/USBHost/pull/10