It appears that tft.init() will call spi.begin() which might conflict with what your call to SPI.begin() does.
Try commenting out your call to SPI.begin() and see if it makes any difference.
Pete
In the IDE you have to set the USB type as keyboard.
In the menu choose Tools. Then from the dropdown choose USB Type. From the next dropdown choose Keyboard.
Recompile. Should work now.
Pete