I've ported Kitrinx' excellent 7800 core paddle input system to the VIC-20 core (I'm planning to add it to more cores after this).
The VIC-20 core currently only supports MiSTer spinner compatible controllers. The tricky part was to support joystick and paddle input at the same time, as the core already supported that.
Kitrinx' system supports:
Paddle to USB adapters (like the Daptor D9 and Daptor PDL, among others): Turn each paddle's knob in succession, to automatically assign paddle A and B (the VIC-20 only has one joystick port)
Mouse: Press the left mouse button to activate it as a paddle controller. The 'repeat' option in the menu simulates endless spinner rotation, which works well for games like Omega Race.
Analog controllers: Either two analog controllers (move the left thumbstick left and right to activate it as a paddle), or only one with the horizontal and vertical axis mapped as two paddles. Apparently an analog joystick for the VIC-20 exists, but I don't know any game that supports it.
MiSTer spinner compatible controllers. Endless rotation 'repeat' mode doesn't work for them at the moment, not sure if I could detect if an input is a USB paddle or a MiSTer spinner.
SNAC connected paddles are not supported right now. I might look into that if there's interest in it.
I'd love it if people here could test it and let me know if something could be improved. If everything turns out to be working well enough, I'll make a pull request to add it to the official core.
EDIT:
Daptor D9 paddle tutorial with a MiSTer map file link: viewtopic.php?p=68155#p68155
PID information for renaming the map file for use with the PDL adapter: viewtopic.php?p=80086#p80086
Info about the Daptor PDL being the 2600-II with different firmware and the firmware to convert it: https://www.2600-daptor.com/2600-daptor%20PDL.htm