[WORKING] Software Multi-touch gamepad on Blackstone [DEVS HELP TO REFINE?]

Search This thread

Dredd67

Senior Member
Feb 10, 2006
457
0
Pontarlier
I'm thinking that if we hard code the vpad into an app and then run the game in a window in the app that would solve speed issues without needing transparency.

I think we need to keep this as simple as possible to make it effective in use. I agree with that.

To summarize the processs steps that I think are necessary:

  • Launch GameZone app

    App presents you with a list of compatible games and key configurations

    On launching a game the App then unbinds hardware buttons at the bottom and rebinds them to game functions and install 150 px dpad at the top of the screen. Is this possible? I thought there were some issues with those virtual buttons.

    The dpad must have a haptic feedback ring around it so that, in use, a signal is provided to the user that he/she is approaching the edge of the dpad.. this will improve the usage. Good idea.

    Additional 10px can be used at the bottom of the screen to provide labels for the bottom hardware buttons (if necessary)Good idea.

    The game then runs within the remaining 640*480 landscape window and recieves virtual keypresses directly from the App. .. and is compatible with VGA standard. Great.

    On phonecall state is suspended and control returned to the OS. Resume resumes state.

The distance of 600px and height of 480px will make the calculating of multitouch much easier and will allow for larger 'fuzzy' areas where the finger is not 100% accurate.[

Any vital ideas for changes or additions are obviously welcome...

I have one issue with this: if I understand correctly, you want to use the virtual buttons as real buttons, and the area on the top as a place for drwing a dpad. So that the hidden virtual buttons will be in the middle of the screen.

Problem is that some softwares like Morphgear will just take you back to the portrait mode and menu bar if the screen is pressed in the middle. So no multitouch possible with this solution, or you will need to isolate the app from receiving inputs from this part of the screen...

I'll try to think to other possible issues and ideas, got to work a bit now. :D
 

Morden

Member
Dec 12, 2008
34
0
Tel-Aviv
If possible, could you guys periodically update the first post with updates? It's a bit difficult to understand what you guys managed to do by following the end of the thread.
 

sschrupp

Senior Member
Jul 27, 2008
371
10
Iowa
Kizmet and Dredd67, you two need to set up donation links for yourselves. I think this is the most excited I've been so far since I bought my Blackstone! Seeing FF7 being played almost made my heart skip a beat! :)
 

Dredd67

Senior Member
Feb 10, 2006
457
0
Pontarlier
If possible, could you guys periodically update the first post with updates? It's a bit difficult to understand what you guys managed to do by following the end of the thread.

I think Kizmet will do it as soon as we have some real improvements.

Some things need to be cleared up:

- I'm currently working on a skin for Morphgear that use the concept of fake multi-touch (when you press two areas at the same time, the OS thinks you have pressed in the middle of these areas.) That's what you see on the screenshot I've made. It's almost done now, maybe I will release this skin tomorrow. This is kind of proof of concept for multitouch.

-FPSECE is another promising emulator, and it runs actually quite well but slow due to the lack of proper htc drivers and optimizations. A new version should come out soon, and I will probably do the same sort of skin if possible as the one I'm working on for Morphgear.

- The main project is completely different, as its aim is to develop an app that will basically add virtual buttons and multitouch to any applications. In this project I'm involved as skinner only... ehhhh I think.

Kizmet and Dredd67, you two need to set up donation links for yourselves. I think this is the most excited I've been so far since I bought my Blackstone! Seeing FF7 being played almost made my heart skip a beat! :)

Agreed, this is donation worthy. This has so much potential! :)

Well, I think that for the moment you should'nt be too much excited yet, this is only the beginning of the project. The proof of concept has been made, but that's all. Personally I don't feel the need to ask for any donations, it's a hobby, not a job.

You know, I already opened an account for donations when I made some skins for SPBMS2 and manilla2D, because some people asked for, but I never got any cent on it, even if the download count was measured in thousands... So I'm quite pissed off with this donation stuff, and from now on, I only do things that I like working on.

If you feel the need to donate, donate to XDA in my name ;)
 

Kizmet

Senior Member
Jan 18, 2008
216
0
I have one issue with this: if I understand correctly, you want to use the virtual buttons as real buttons, and the area on the top as a place for drwing a dpad. So that the hidden virtual buttons will be in the middle of the screen.

Problem is that some softwares like Morphgear will just take you back to the portrait mode and menu bar if the screen is pressed in the middle. So no multitouch possible with this solution, or you will need to isolate the app from receiving inputs from this part of the screen...

I'll try to think to other possible issues and ideas, got to work a bit now. :D

The advantage of running the app as a 'shell' is that then it will only pass on screentaps that are pre-defined.. and this solves that issue.

Theroetically emulators can run in the window using full resolution or native games written for the ppc that require hardware keys. Anything that *requires* touchscreen input won't work.. but you can play them using wvgafix anyway.. so there is no point in trying to find a solution for that.
 

Kizmet

Senior Member
Jan 18, 2008
216
0
If you feel the need to donate, donate to XDA in my name ;)

Aye. Keep your money in your pockets, guys for the moment.... as far as I am concerned this is an open development in much the same way as the fingerkeyboard.

I strongly believe that many hands make light work so if anyone has ideas or suggestions or expertise that can improve this app.. then please contribute... either on here or PM me if you're shy... ;)
 

Kizmet

Senior Member
Jan 18, 2008
216
0
sorry.. double post

In the meantime here is rough idea of how I think the app will look:

attachment.php


(Dredd67 - I put in some Playstation buttons... just for you.... ;) :D)

As you can see there is space on the left hand dpad for as many action buttons as we need... however only 2 multitouch buttons... for simplicity.... we could have all four...
 
Last edited:

Dredd67

Senior Member
Feb 10, 2006
457
0
Pontarlier
LOL thanks for the PS buttons ;)

I was just thinking that this thread should be in the develeopment section to grab some attention from real devs...

We should ask a mod to move this thread to blackstone>themes, apps and so on.
 

chaosdefinesorder

Senior Member
Sep 16, 2007
765
242
Cambridge
sorry.. double post

In the meantime here is rough idea of how I think the app will look:

attachment.php


(Dredd67 - I put in some Playstation buttons... just for you.... ;) :D)

As you can see there is space on the left hand dpad for as many action buttons as we need... however only 2 multitouch buttons... for simplicity.... we could have all four...

Just a question, but does your virtual button mapping actually work? Not even CorePlayer set to grab all buttons or AE Button can re-map the "home" key - wouldn't you be better off mapping the End and OK buttons instead?
 

montag09

Senior Member
Jan 31, 2009
52
0
Buenos Aires
Hey guys, I'm also working on a proof of concept built in .Net framework. I leave the art for others, though :) You will have news of me in this post...
 

vijay555

Retired Moderator
Jun 4, 2005
5,789
68
Witch Space
www.vijay555.com
G Sensor

Guys, I wrote Kizmet a long private message that he'll relay here, I hope.
But I forgot to add - why the long face re the G-Sensor? Adding in the functionality is easy, there are many open source examples.

I suggest looking at the Sensor Maze source code on this site to find a good clean implementation.

V
 

Kizmet

Senior Member
Jan 18, 2008
216
0
Here is another Proof of concept (by Jamie Fuller on a Nokia 5800) of the same idea of software multi-touch on resistive touchscreen.

To be honest I was never concerned that the idea wouldn't work the theory is sound... what I was interested in was the easiest, fastest and best way of getting it to work on our phones. And making an app flexible so that it can be used in lots of situations.

:)
 

Kizmet

Senior Member
Jan 18, 2008
216
0
Guys, I wrote Kizmet a long private message that he'll relay here, I hope.
But I forgot to add - why the long face re the G-Sensor? Adding in the functionality is easy, there are many open source examples.

I suggest looking at the Sensor Maze source code on this site to find a good clean implementation.

V

And what a PM it was! :D

I had considered using a third party app for g-sensor control.. but it makes much more sense to include it as part of the App.

FYI the main part of vijay's PM:

Unbinding the buttons from the hardware should be trivial. I believe that DirectDraw type fullscreen games take over them, and apps like TCPMP can demonstrate unbinding them. That source code will be easy to get hold of of course.

If that is not enough to unbind them, them I can unbind them at the driver level temporarily.

...

It was suggested in the solution to "host" games in a window to help make position the dpad at the top possible. That's probably not possible as most of these games will access the screen framebuffer directly, drawing straight over any virtual dpad you position there. So, the WVGAFix solution will be best, although you will still need to test whether you can still receive touch input from the area of the screen that is "blank" after applying WVGAFix. That area is not just black, but "dead" to the OS, so if touch input cannot be detected, more invasive solutions will be required: either hooking into the touch driver directly, or even lower, and going straight at the hardware. Both of these are possible and I can help if required.

Since this solution may also be required to help "unbind" the hardware buttons anyway, this is probably a way to "kill two birds with one stone" anyway.

Genius. :)
 

Kizmet

Senior Member
Jan 18, 2008
216
0

wedge666

Member
Feb 16, 2009
48
10
Amadora
Just to add something to the discussion, I'm playing Return to Mysterious Island on the HD using WVGAFix3. The game is controled by touchscreen (tap on the right to turn right, tap on the left to turn left, etc.) and what might interest you is that the black area is accepted as input (left in this case since the game is landscape), so it seems to me that that area might be dead to the OS but not to the driver. Hope this helps.

EDIT: I just did some more testing using the inventory screen where a cursor is controled by touch and "multitouch" seems to work even using the black area, the cursor stays between my fingers.
 
Last edited: