convert uint8_t to String

For a true HID Barcode scanner; does it need special configuration?

it should not but wondering if you did set it up with a special mode.

Your code prints multiple things per character

Serial.println( key );
...
Serial.println((char)key);

you just need one Serial.print((char) key );Serial.print(' ');

Also your watchdog thingy - why do you clear the LCD if you did not receive a char in the last 200ms ? Is that what you want?