Various oldschool joysticks also can be connected to PC via parallel port. Driver for joysticks on parallel port is included with Linux and has interesting detailed documentation.
I used NES clone (Subor) joystick connected to PC via parellel port with ppjoy Windows driver.
What is recommended way to connect such joysticks to PC now, as parallel ports are gone? Something with ATMega32u4, such as Arduino Pro Micro?
There are parallel to usb adapters, I’d probably try that first.
I heard that parallel to USB adapters are for printers only. USB, while having high bitrate, has high latency, making it unsuitable as a transport for general-purpose parallel port with sync operations, and for bit-banging tricks. However, joysticks are slow and these NES joysticks use shift register, so probably usable with slow and jittery clock, but still more trouble with parallel-to-usb than with specialized hardware. PPJoy and Linux drivers will probably not work out of the box.