Yes, in that case get a host shield and use the UHS20 or UHS30 library. Or get an old PS/2 keyboard if USB isn't a hard requirement, and use PS2Keyboard lib.
Here's a copy of the USB 2.0 spec. You can also get it at
www.usb.org, but it's a challenge to find the PDF since it's bundled with lots of other files.
https://www.pjrc.com/teensy/beta/usb20.pdf
This PDF is 600 pages, but chapter 4 is only about a dozen pages and has the most important introductory info about USB. I highly recommend you read at least part of chapter 4. The most important concept of USB is the difference between "host" and "device". If that's not clear yet, read chapter 4. You'll probably end up saving yourself a lot of time and trouble, any maybe money too, if you clearly understand host vs device before going any further. Knowing this stuff will also make using the libraries easier, even if you don't end up needing to write any low-level code.
As a side benefit, when you're talking with other people about USB, you can quickly get a feeling for whether they really know anything based on their understanding of host vs device, endpoints, control/bulk/interrupt/isochronous, and other key concepts. Chapter 4 and maybe the first part of chapter 5 is where you get that sort of info.