If someone will be interested, I verified this theory and it works, with arduino at least, but with brook in 99,9% will work too :)
Oh yes, that will totally help @kirei39 , because it's what he need. The only doubt that in that project used 4 MPR121 and 48 segments, I think that A LOT, and I have no experience in MPR121, so do not know how to properly edit that sketch, but I'll try, I think 3 MPR121 and 36 segments will be much easier to make and use :)
Hi, I made an account just to post to this thread! Sorry for the long post to follow, but I really need advice on this... I'm planning to follow Tomtortoise's tutorial, but I have some concerns about the slides. He wires every other right-arrow to R1 and the rest to the R-Trigger, and the same thing for the left side (Technically, they get wired to 3p/3k 4p/4k respectively but those are just the bumpers and triggers on the Brook board apparently). Now, I assume that his copy of Future Tone must have R1 and R-Trigger both mapped to -> slide (and again, the same on the left side) I've read that bumper/trigger slides aren't... assigned a side of the controller, if that makes sense? Like, <- -> and -> <- double slides can both be accomplished by pressing L1 + R1. But, I'm not playing PS4 Future Tone. I'm playing the dump of the arcade game + Divaloader (shhh). For slides, DivaLoader's keybinding has Right-stick-right, Right-stick-left, Left-stick-right, and Left-stick-left. No problem with the joysticks on my DS4, but mapping them to bumpers/triggers to see how this custom controller would (theoretically) work is another matter: 1. Mapping both Right-slides to R1 and both Left-slides to L1 means that <- <- and -> -> slides can be accomplished with a single button press, but <- -> and -> <- slides are ALWAYS "Wrong". 2. Mapping Right-right to R1, Left-right to R-trigger, Left-left to L1, and Right-left to L-trigger seems to work alright. <- <- slides are accomplished by pushing L1 + L-trigger and vice versa for the right. But, to get <- -> slides, it MUST be R1 + L1. Similarly, -> <- slides MUST be done by pressing both triggers. So, I'm worried that if I follow Tomtortoise's tutorial to the letter, I'll have a controller that won't allow me to input opposite-direction double slides if I just swipe the rows of triangle buttons like he does in his demonstration videos, because it might read me as having pressed Right-right (R1) when I needed Left-right (R-Trigger). My current plan is to download a trial of CorelCAD or something and alter the placement and number of triangle buttons on the laser cutter template so I can do this sort of four button layout: <- -> <- -> (Left-left, left-right, right-left, right-right). Is that the smartest thing to do? Or is there something about the keybindings that I'm missing? Any thoughts would be appreciated!!! Sorry again for the longpost!
for the arcade dump you can make a real serial slider or emulate the sticks with gesture detection but the second one is pointless on a pc. to make a slider you need 5cm copper tape, arduino compatibile board and 3 mpr121's. alternatively you could use buttons like in the controller you linked with slight modifications to the arduino program. there is also https://github.com/Project-Alpaca/LKP but as far as i know you can't get the chip for it and it could be hard to build for a novice. do you want an actual slider or buttons that simulate certain movements? do you want a button that for example sends <- <- to your game or do you want to swipe left with both of your hands?
This is my first of this type of project, so I don't think I'll attempt an actual slider ( ; o _ o) it seems pretty difficult. I think I'm just going to arrange the buttons so I have four triangles, two left and two right. That way every type of slide is accommodated for. If there's no way for me to stop the game from differentiating between left-side left slides and right-side left slides (and vice versa), I think a four button set up will be the smartest way for me to do it.
i never tried to build it that way but i think 4 buttons are not enough, you should go with 6 > > > > < < < < < >
With the keybinds I'm thinking of, four should be enough-- to get -> ->, you press the two left-arrow buttons and to get <- <- you press the two right arrow buttons. I can map the slides I have to four buttons on my dualshock and it works just fine like that. I can't upload images for some reason, but this is the section in the .ini file for changing keybinds: # Touch Slider: LEFT_SIDE_SLIDE_LEFT = Q, Ds4_L_Stick_Left, XINPUT_LLEFT LEFT_SIDE_SLIDE_RIGHT = E, Ds4_L_Stick_Right, XINPUT_LRIGHT RIGHT_SIDE_SLIDE_LEFT = U, Ds4_R_Stick_Left, XINPUT_RLEFT RIGHT_SIDE_SLIDE_RIGHT = O, Ds4_R_Stick_Right, XINPUT_RRIGHT Each button will be mapped to one of these options.
As I know, on PS4 it can be configured something like this. That is why that configuration with simple "pressing" buttons can work. But THIS picture looks somelike strange, so I do not know for sure, because played PDFT demo on PS4 in 2017 when I knew nothing about slider or something like that, so I couldn't pay attention on it correctly.
The last 3 MPR121 boards I purchased from Amazon are not clones of the SparkFun board. The boards I purchased in December are. So be warned. I should have purchase Adafruit boards.
The two rows of pins are not aligned so it not possible to use the new boards on bread board or proto board. And the ADDR pin to set the I2C address does not work the same. I have not had time to track this down.
The new board does work with the Adafruit MPR121 library at the default address of 0x5A. I will have to find the trace to cut to make it work at other i2c addresses. It is not the same trace as on SparkFun clone boards because I have already tried that.
I just didn't try this module at all, but @kirei39 is interested in this and sometimes he ask me and I littly confused because I know how it COULD work somewhere closely, but without nuances, but devil is in the details, so better to know better.
I ended up using 1 new board at 0x5A and 2 old boards jumpered for 0x5B and 0x5C. This results in 3x12 touch inputs. I used 32 for the slide and 4 for buttons. I made an all touch (no mechanical buttons) controller for Nintendo Switch. It works in arcade dedicated mode.
I have the "new" MPR121 boards from Amazon working. No trace needs to be cut (unlike the older SparkFun clone boards). In fact, the ADR pin is left floating but it should be connected to GND to set the i2c address to 0x5A. It works even when ADR is floating but this is not a good idea. To set the i2c address to 0x5A, connect ADR to GND. For address 0x5B, connect ADR to 3.3V. For address 0x5C, connect ADR to SDA. For address 0x5D, connect ADR to SCL. I have 3 boards connected and working with a SAMD21 board using the Adafruit MPR121 library. I also have 32 WS2812 RGB LEDs working using the Adafruit ZeroDMA library. This library does not disable interrupts and bit bang. It uses DMA to drive the LEDs so it does not slow down checking for changes on the slider inputs.
So, I'm back, once again with "slider" in mind, and still nothing done about it lmao Actually, I just don't play the AFT version, but only PS4 FT, and am I wrong or nobody ever made a correct Arcade Mode Slider PS4 ? Thanks to TheCorrellRoy, I have a video so I can retrieve datas of how it works. Does that can help us in any way to create a real Slider using Arcade Mode on SP4/Switch ? IT SEEMS to just output static stick value depending of which sensors are touched (like, 1 for sensor 1, 2 for sensor 2, 1.5 for sensor 1 & 2 at the same time, etc...), BUT sometimes for weird reasons I see values that I can't hook to certain sensors. The slider is cut in 4 parts, each for one stick axis, so double slider are easy to understand, it just depend of where you touch it, but as it's cut in 4, it's small enough to always give good results. But it also don't explain how it works if you touch sensor 1, but not sensor 2, but you touch sensor 3... the 3 sensors are in one part, so one axis, does it maybe just output a new value... maybe there's too much possibilities to really retrieve data easily like that :/ or maybe it just calculate it, haven't checked yet... Here's what scare me the most : Here the slider, cut in 4 axis [--------|--------|--------|--------] Ly Lx Ry Rx it's extremely easy to understand that it output two values when you touch like that : [----X---|----X---|--------|--------] or that it output a specific value when 2 sensors are touched together like that ( to have 64 points with 32 sensors) : [-XX-----|--------|--------|--------] BUT, what about this scenario ? : [-X---X--|--------|--------|--------] maybe it just output different values for all cases ? AND WHAT ABOUT THOSE ??? [X-X-X-X-|--------|--------|--------] [-X-X--X-|--------|--------|--------] EDIT : I have no time to check now, but this video could help a lot, and if more is needed, I'll ask TheCorrellRoy again I guess :/ I'll check this video later :