A while back when I was into Mame I decided that PC joypads and the keyboard sucked.
I wanted a controller that helped me live those old games properly, and so I took out an old Sega megadrive 6button Joystick. This was very sort after in the day, a must have for Sega owners. I decided it would do for the PC too.
I toyed with the idea of USB, but I finally decided I wanted it to be compatible with everything. The only PC input device I could think of that fit the bill was they keyboard. So I opened the arcadestick, and inserted an old pc Keyboard controller.
The keyboard matrix is quite complex, so for ease of construction I decided to use only 1 row, and many colums. I removed the control circuit in the arcade stick, and ensured that all the buttons shared a common ground. that common was then wired to a random Row pin on the keyboard controller. Each button was then individualy wired to a column input.
The final arcade stick looks unmodified on the outside other than a grey cable instead of black, and has an old 5pin din keyboard connector. A din to ps2 adaptor later and it plugs right into my PC, with each button making a different keypress. Because all buttons come from the same row, you can press EVERY button at once and the keyboard scanning works without any problems. This was quite important to me, I didnt want to find I couldnt go right when pressing B… Even the start and mode buttons are wired in.
It works well in any pc game that lets you define your own keys. Just select each option, then press the button on the arcade stick. No need to worry about what they are. Mame works well with it, with start working for start, and I usualy use mode for coin1.
Maybe if I did this again id use a modern USB pad, but at the time I did this I decided that i wanted to ensure it worked even with old dos games. I can make a dosMame Pc with no windows installed on an old Pentium or P2, and it still works.