Homebrew [Android] IRdA - InputRedirection client for Android

  • Thread starter Thread starter Sono
  • Start date Start date
  • Views Views 37,499
  • Replies Replies 128
  • Likes Likes 7
Well I'm still sorry it only works with hardware input (it's been over-requested that I add touch controls), but glad to hear someone still would have an use for it :)



I actually chose this Android version because I can't go all the way down to 2.3.6 due to the lack of proper joystick support, but the tablet I used in the demo video runs Android 4.0.4 (which originally came with Android 2.2.2!), so it obviously had to be low :P

I'm not sure about iOS though because I don't know how to plug a wired controller into it (I don't have an USB-to-Lightning adapter), and I'm not sure how I would distribute it because you can't just install anything on it easily. Besides, afaik you need a dev license for coding, which is sad.
last I checked, the newest major iOS version has bluetooth controller support
but yeah oof
hmmmmmm *gasps* I have an idea! If a rudimentary (simple but fast) version could be made into a web page using HTML5, it'd work on a lot of crud including iPhones!
 
Yeah touch is something I'm not interested in since retroarch 3DS doesn't use it for games anyways :)

Oh no, I meant that you can't press 3DS buttons on your phone screen (like in Gameboy emulators for Android), and you instead need a physical controller to use with this program.

last I checked, the newest major iOS version has bluetooth controller support
but yeah oof
hmmmmmm *gasps* I have an idea! If a rudimentary (simple but fast) version could be made into a web page using HTML5, it'd work on a lot of crud including iPhones!

Even if I could read the controller somehow, I still have a problem: I can't send UDP packets from the browser (or at least, not to my knowledge) :(
 
  • Like
Reactions: Zense
The code is an absolute clusterfuck. I'm not surprised there were a lot of overflow errors, it seems like I didn't know what I was doing :rofl2:

If anyone has any issues then I'll probably have to remake a big chunk of the code because it's just awful and doesn't make any sense.

https://puu.sh/FAFeI/548c504496.apk
 
The code is an absolute clusterfuck. I'm not surprised there were a lot of overflow errors, it seems like I didn't know what I was doing :rofl2:

If anyone has any issues then I'll probably have to remake a big chunk of the code because it's just awful and doesn't make any sense.

https://puu.sh/FAFeI/548c504496.apk
at least (from what I know) it seems to be supported on earlier versions of Android than the main one
 
All I did was to compile with a newer SDK, I didn't change the minimum version. It should work from Android 4.0.4 and up.
no, I mean that yours works on earlier versions that the main one (literally just a port of the standard one for pc) does- it's 4.1 and up if I remember correctly while yours works as far back as freaking jelly bean
 
no, I mean that yours works on earlier versions that the main one (literally just a port of the standard one for pc) does- it's 4.1 and up if I remember correctly while yours works as far back as freaking jelly bean

Main one? What does "main one" mean here? I'm confused.
 
Main one? What does "main one" mean here? I'm confused.
The "main" input redirection program. (No offense, but this... isn't the main one.) There's a different one that's basically a clean port of the PC one, which tends to be the "default" option much like the thing it's a port of.
This, however, still seems to have its advantages. It runs on anything Jelly Bean-onward, meaning it could turn even an eight-year-old phone into a portable input redirector. And it seems to have the same remaps and settings options as the other one, or at least almost all of them.
 
The code is an absolute clusterfuck. I'm not surprised there were a lot of overflow errors, it seems like I didn't know what I was doing :rofl2:

If anyone has any issues then I'll probably have to remake a big chunk of the code because it's just awful and doesn't make any sense.

https://puu.sh/FAFeI/548c504496.apk
Nah I've been using the one on the first post until now and it's been serving it's purpose fine :D Also thanks a lot for going through this effort! I really appreciate it.

And yeah as Plasmaster09 said it has clear advantages over input-redirection qt for android, but that's a granted since I came here in the first place.
 
Last edited by Zense,
  • Like
Reactions: Sono
Nah I've been using the one on the first post until now and it's been serving it's purpose fine :D Also thanks a lot for going through this effort! I really appreciate it.

And yeah as Plasmaster09 said it has clear advantages over input-redirection qt for android, but that's a granted since I came here in the first place.

Oh, so that's what "the main one" is! I didn't even know it was ported to Android :wacko:
 
  • Like
Reactions: Zense
  • Like
Reactions: Sono
Oh, so that's what "the main one" is! I didn't even know it was ported to Android :wacko:
Sorry, to annoy you about this again. I was wondering if there's a way to manually change the config since I'm trying to map the cstick to the abxy buttons. I found a file called e_config in the instal directory but I wasn't able to make much sense of it.

EDIT: Actually I just found the cal.xml file so all good I think. I'll see if I'm able to do this then. Thank you!
 
Last edited by Zense,
Sorry, to annoy you about this again. I was wondering if there's a way to manually change the config since I'm trying to map the cstick to the abxy buttons. I found a file called e_config in the instal directory but I wasn't able to make much sense of it.

EDIT: Actually I just found the cal.xml file so all good I think. I'll see if I'm able to do this then. Thank you!

I'm sorry, but I didn't make digital to be mappable to analog, and vice-versa.
 
I'm sorry, but I didn't make digital to be mappable to analog, and vice-versa.
Don't worry. Seeing that the cstick is mappable to the dpad I figured I'd be able to map it to the buttons. I'm gonna try later today.
 
Seems like I misunderstood you and even remapping them manually through the cal.xml as the abxy buttons did not work.
 
Last edited by Zense,
Don't worry. Seeing that the cstick is mappable to the dpad I figured I'd be able to map it to the buttons. I'm gonna try later today.

Is it? I only see code for the "3rd" stick being used as the DPAD switch.

Seems like I misunderstood you and even remapping them manually through the cal.xml as the abxy buttons did not work.

I have no idea how you could do that, because you can only do buttons to buttons, and analog stick to analog stick (except the DPAD, because in Android it's also reported as an axis).
 
Is it? I only see code for the "3rd" stick being used as the DPAD switch.



I have no idea how you could do that, because you can only do buttons to buttons, and analog stick to analog stick (except the DPAD, because in Android it's also reported as an axis).
Basically I just tried to swap around the values for the various inputs to see if I could manually remap them but yeah that didn't work as you said it wouldn't. In the image below I tried to remap the cstick to the abxy (at least I think that is the cstick and not cpad).
cal.png

As for the mapping the cstick to the dpad as you said you can map it to the dpad as an axis, but what I'm trying to do is have the abxy mapped as the cstick.

One solution would be if I were able to map the dpad to the cstick, instead of the abxy to the cstick. The opposite where the cstick is mapped as the dpad is indeed possible, but it does not solve what I'm trying to do, which is have the cstick mapped to any other input than the cpad and cstick :P

Actually having the cpad mapped as the dpad or abxy would work as well, but I guess if that were possible then having the cstick mapped as them would be too, and it would be a bit less convoluted
 
Last edited by Zense,

I just said that the DPAD is an "analog" stick in Android, so you could map your controller's DPAD to CPad or CStick, and sadly it doesn't work the other way around, because it's not implemented.

Also, the ckal values are special values, not keycodes, so it wouldn't work. Sadly I have to program analog-to-digital support in myself, and also digital-to-analog.
 
I just said that the DPAD is an "analog" stick in Android, so you could map your controller's DPAD to CPad or CStick, and sadly it doesn't work the other way around, because it's not implemented.

Also, the ckal values are special values, not keycodes, so it wouldn't work. Sadly I have to program analog-to-digital support in myself, and also digital-to-analog.
I see, but at least when running IRdA and you try to calibrate the axes, the dpad does not register and only moves between the cancel option and "waiting for input". If I understand what you're saying correctly then I should be able to map the cstick/cpad to the dpad by manually editing the cal.xml?

EDIT: Just realised you said the complete opposite :wacko:
 
Last edited by Zense,
I just said that the DPAD is an "analog" stick in Android, so you could map your controller's DPAD to CPad or CStick, and sadly it doesn't work the other way around, because it's not implemented.

Also, the ckal values are special values, not keycodes, so it wouldn't work. Sadly I have to program analog-to-digital support in myself, and also digital-to-analog.
Anyways don't worry about it! Basically an easier solution for what I'm trying to do, which is trying to use a 3DS as a controller for another 3DS using the input redirection feature of Rosalina, would probably be if I made a client app on the 3DS that sends its inputs via a hotspot to Rosalina's own input redirection feature. I hope it won't be too difficult and it seems very interesting for me to figure out how to do. This is just a simple way of having two player on one system with retroarch on the host system when you're away from home but have two 3ds systems available.
 
Last edited by Zense,

Site & Scene News

Popular threads in this forum