I am so frustrated with the people at... whoever the hell maintains the core linux kernel (Yes I know it's more than 1 person). So here I was, programming a usb to jamma (arcade) converter using the joystick parsers that are built in, when I plugged in my dualshock 4 and found out my dpad wasn't registering. Buttons were, but the dpad wasn't. Obviously, the controller works fine, as I'm using it for games. So I go and look into things, aaaaaaaaaaaaand joystick stuff was depreciated. It was merged in the generic event stuff. Cause apparently mice, keyboards, microphones, and controllers all have the same needs. So what used to be something as simple as putting in js0 (Or any number, assuming I know how many joysticks there are going to be), to me having to parse the file system looking for something that ends in (joystick-events). So now I have to write a directory parser, that needs to be constantly run since you can plug or unplug controllers. I also need to figure out how the hell I'm supposed to use their new parser, since there isn't much information out there. I went from parsing a few bytes of data for 1's and 0's to having to figure out if a button is pressed or not using their convoluted event system. There was also a lot of tools with the old system that hasn't been replaced either. It's mind boggling to me that sort of updating their file parsers with the old system, was somehow harder to maintain than merging everything and going through the glut of their event parser. Like, I can't even fathom who thought this was a good idea. I have to scrap everything I did in the past few months.
On another note, I need to find out of Raspberry Pis switch their GPIO pins from read to write blazingly fast. I made a mistake with arcade boards. They read 0 as a button press. I was working under the assumption that 1 was a button press. I can't send 1 to the board cause that might damage the arcade board (5V going up stream to a pin that's sending 5V downstream). I have to set the pin to read for it to register as a no press, and 0 for a button press. I might have to use a register->transistor system. But I need to work with 40 bits at least. the largest transistor array I found is 7 bits. This is a massive circuit if I have to go through with that idea.