Jump to content
LaunchBox Community Forums

Guide: Cheap Arcade Light Guns with Touchemote


Recommended Posts

On 4/21/2020 at 1:22 PM, Ctrl+Alt+Delete said:

Its working on MAME 0.220. Touchmote IR set up as 360 controller left stick. MAME setup to enable light guns and light guns setup as the 360 controller left stick axes.  Works for 2 players.

I will try to fork the code from Github and post both the code changes, instruction and pre-compiled binaries there. Got to remember how to use github for that, it's been a while.

are you using Tomkun zapper.json and mycontrols ?

are you using xbox controllers?

would it be possible to upload your .json and ctrlr files  for us?

Thank you very much :)

Link to comment
Share on other sites

Only way I could get PS1 to work was to use Mednafen (I used as standalone rather than through RA) 

Player 1 is seen as a mouse, but player two is seen a joystick but still acts like a light gun - not perfect but workable. I imagine you could set both up as joystick so they were equal in movement type if you preferred

Maybe others have got PSX or such to work with though.

Does "CTRL + SHIFT + [n]" with n being player number not work in Saturn for changing the controller type? I think you would have to scroll through the controller types from lightgun to gamepad and back to lightgun again so not sure how much of a pain that would be? I know it worked in PS1 when I was being a numpty setting some stuff up, but I haven't done anything with Saturn or RA.

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...
On 4/20/2020 at 8:32 PM, Ctrl+Alt+Delete said:

I fixed the problem with Touchmote not reaching the sides of the screen. I had to modify the sourcecode from Github and implement a "linear ratio" for the stick position calculation that is configurable via the settings file. I ended up setting it as 1.4x (it was that bad). I think this is something in the works for Touchmote as I saw some configurable parameters that I tried extensively but just wouldn't work. I also tried the Touchmote-mss fork but I couldn't make it complie.
I wonder if there are any restrictions to post alternative compiled versions of Touchmote online.

Could you please post the code you edited, (specific line and module name). I have no experiece with Visual Studio programming. I did get the tsoukkis fork working without any issues. As you mentioned that work is based on a very outdate version of touchmote.

Although the touchmote project is essentially dead, the newest version has alot of improvements on mouse emulation. I would like to get the best of both worlds, where i can correct stick emulation and get the improvements of the new version.

Link to comment
Share on other sites

Been reading many pages on this forum, as far as I comprehend, I suppose it is NOT possible for Touchmote to use a Wiimote IR Pointer as a mouse cursor on a new modern vanilla MAME (0,215b), correct?

I have a Mayflash Dolphin bar using MODE 4, a genuine Nintendo Wiimote and MotionPlus attachment, Touchmote 1.0b15, and MAME0.215b_64Bits. My screen is 4:3 ratio on 1280X1024 resolution using a stock Arcade1UP monitor.

I configured a Wiimote Pointer to use a mouse cursor and edited mame.ini to enable mouse/lightgun/joystick/offscreen_reload,...etc as instructed on the first page. Touchmote simulated the mouse movement just fine outside MAME environment. But in MAME , hitting TAB, it does not detect any mouse movement on both X and Y axis. I can't make it work and saw lots of folks here having the similar problem with no solution update. Maybe I'm wrong but I guess it is no go.

The only way I can make it worked is to configure Wiimote Pointer with either a Left Stick or Right Stick XBOX360 Controller. For me, this workaround is very undesired result. The crosshair movement is very sluggish and can't move to the far edge on the left. I saw a post to fake ratio from 16:9 to 4:3. Mine is already 4:3, so I don't think it is applied.

Perhaps, configuring Wiimote with Touchmote is an obsolete method. Any suggest if there is any other way for Touchmote configuring a Wiimote Pointer as a mouse cursor to work on MAME0.215 or later?

Link to comment
Share on other sites

  • 1 month later...
On 4/21/2020 at 6:22 PM, Ctrl+Alt+Delete said:

Its working on MAME 0.220. Touchmote IR set up as 360 controller left stick. MAME setup to enable light guns and light guns setup as the 360 controller left stick axes.  Works for 2 players.

I will try to fork the code from Github and post both the code changes, instruction and pre-compiled binaries there. Got to remember how to use github for that, it's been a while.

Would it be possible to share screenshots of this please? - How do you setup mame to enablew light guns and set them up to 360 left stick axis?

Thanks.

 

Link to comment
Share on other sites

  • 4 months later...

The official Touchmote forum is completely dead, so I thought I'd ask this here. Is there a preferred Wiimote version to use with Touchmote? Is there a model or serial number I should be looking for? I've got two newer models with motion plus included, and I'm having issues keeping them connected when using Touchmote.

Link to comment
Share on other sites

  • 2 weeks later...
  • 6 months later...
On 12/17/2020 at 6:26 PM, Tomkun said:

I have both old and new Wiimotes and haven't noticed any connection issues with either of them, but I tend to only use the older ones for lightgun games.  Mine are connected via a Dolphinbar. How have you connected yours?

Thanks for responding. Sorry for the late reply. I’ve since gotten the above issue resolved. I am using the dolphinbar. 
 

I’ve been having a weird issue lately where the touch cursor disappears behind the application window. I don’t know if I changed a setting or not that caused this. Any ideas how to fix this?

Link to comment
Share on other sites

  • 2 weeks later...

Checking in on this incredibly long and on going thread. 

I'm using (currently) the long dead touchmote 10b15 (last release official) since I haven't seen any binaries posted with improvements I've read about (but I'd LOVE for someone to!) and MAME 0.174.

Some observations AND being able to update to the newest MAME- I think I figured out.

Upgrading to MAME 234b

I was still having the issues where when trying to set the x/y axis for the light gun using gun 1 (the mouse cursor profile vs. the joystick for gun 2). I started reading the MAME documentation listed here and found that there are several input modes available. These input modes are set to "auto" by default however I thought in the past it was "dinput" which was allowing this to work. I edited the mame INI under # OSD INPUT OPTIONS to use all dinput and guess what, it didn't work.... however I now have modified the INI to the following: 

#
# OSD INPUT OPTIONS
#
keyboardprovider          dinput
mouseprovider             win32
lightgunprovider          win32
joystickprovider          winhybrid

 

This has allowed me to go into the game settings (this machine) and select "Light Gun Analogue X" then swipe the controller left/right to set "Gun  1  X" and same for Y under the other option. 

To me this is huge news because I now can upgrade to a much newer version of MAME than what I had in the OP. As a side effect some of my games now no longer emulate since name changes and what not (Area 51 I'm lookin at you pal) = this leads me to my next observation.

Upgrading MAME versions

The OG post worked well "enough" but I guess its PROBABLY worth it to try and start using the newer versions since .074 was ages ago. Be aware this can break games and its not exactly institutive to fix, especially if you're like me and don't do whole sets (40 total titles). 

 

Joystick re-numeration - the constant struggle

As many of us know, once this is set up, after a reset, or at random, new controllers connected, disconnected, you'll have to rebind EVERYTHING to make gun one be gun one again, and all the different user defined options (Trigger, X axis, Y axis, coin, start, etc etc etc). I came across a post on another forum which went over this issue for the flight sim crowd. A application called JOYID seems to fit the bill for what causes this for us. Seems pretty easy to use. I'm using it now and will report if successful (hopefully). I've also archived the link to the download on archive.org  should it ever go down.

Multiple Mice

They joystick is STILL not ideal for controller 2. With the new input methods, I'm hoping there might be a new way to look at using 2 emulated mice in order to set gun 1 x and gun 2 x (and ys) with both wiimotes set to "mouse cursor).  My honest to god though on this is to have someone who knows how to program add "mouse 1 and mouse 2" emulation in to Touchmote. Mame supports multiple mice, we see now it can support an emulated mouse - we just need someone in the community to see if this is possible. 

This is my (hopefully) continued contribution to this post. Thanks to everyone who has kept this alive so long, we still have a ways to go but I think 2 mouse emulation is possible one day!!

 

Side note - make sure any game which the lightgun is controlled by an "adstick"  (For Example AD Stick X Analogue controls the Terminator 2 gun X) -  when you're binding your controls. AND you're using the wiimote with the "mouse cursor" setting in touchmote  (not the joystick) - in mame you must go to that machine's Device Mapping and set to  "lightgun"  

 

 

 

Edited by ThePolish
forgot something
Link to comment
Share on other sites

On 8/1/2021 at 10:08 AM, ThePolish said:

Joystick re-numeration - the constant struggle

As many of us know, once this is set up, after a reset, or at random, new controllers connected, disconnected, you'll have to rebind EVERYTHING to make gun one be gun one again, and all the different user defined options (Trigger, X axis, Y axis, coin, start, etc etc etc). I came across a post on another forum which went over this issue for the flight sim crowd. A application called JOYID seems to fit the bill for what causes this for us. Seems pretty easy to use. I'm using it now and will report if successful (hopefully). I've also archived the link to the download on archive.org  should it ever go down.

Here's some info I posted on Hyperspin 6 years ago.. My God, has it been that long?

There are several different ways in which emulators can decide the order of controllers. It is possible to change all of them if you know the trick. I keep meaning to write a tutorial about it, but never get around to it.

 

1st is the Windows built in Joystick ID number, which can be changed using JoyID.

2nd is the order in which they appear in Device Manager. This will be by type first, and then alphabetically. This can be changed in the registry, but is tricky and requires changing permissions. Also, they will be reset if you ever change the drivers or usb port.

3rd is also the order in which they appear in device manager, but this time when you select show devices by connection. This order is determined by which USB port they are attached to and also the order they are detected by Windows. This can be changed by changing USB ports, or connecting the controllers in a specific order. In order for the order to be reset, the drivers have to be reinstalled each time. (i.e, just unplugging it and plugging it in again will not change the order.

 

However, with MAME supporting fixed controller mappings, none of this should be necessary...

Edited by Tomkun
Formatting
  • Thanks 1
Link to comment
Share on other sites

4 hours ago, Tomkun said:

However, with MAME supporting fixed controller mappings, none of this should be necessary...

Good info and I think I actually came across that in years past (meaning wherever you had written that before!).

While for MAME, yes. But I think supermodel3 doesn't support this so we'd still have the same issue.

On a funny note I wrote all the update the other day and got everything set up, only to have my dolphin bar decide to die. Thinking it needs reballed as taking a heatgun to it fixed it temporarily.  I ended up ordering another as I really don't want to spend the time screwing around with it!

Next stop - working on multiple mice cursors instead of joystick for gun # 2!

Edited by ThePolish
Spelling
Link to comment
Share on other sites

Best way I've found is to forget about mouse emulation. Use joystick emulation instead. I have Supermodel working here, so let me figure out how I have it set up. 

 

Here's the relevant part of the config file for Supermodel:

; Light guns (Lost World)
InputGunLeft = "NONE"               ; digital, move gun left
InputGunRight = "NONE"             ; digital, move gun right
InputGunUp = "NONE"                   ; digital, move gun up
InputGunDown = "NONE"               ; digital, move gun down
InputGunX = "JOY1_XAXIS"    ; analog, full X axis
InputGunY = "JOY1_YAXIS"    ; analog, full Y axis
InputTrigger = "JOY_BUTTON2"
InputOffscreen = "JOY_BUTTON1"    ; point off-screen
InputAutoTrigger = 1                    ; automatic reload when off-screen
InputGunLeft2 = "NONE"
InputGunRight2 = "NONE"
InputGunUp2 = "NONE"
InputGunDown2 = "NONE"
InputGunX2 = "JOY2_XAXIS"
InputGunY2 = "JOY2_YAXIS"
InputTrigger2 = "JOY2_BUTTON2"
InputOffscreen2 = "JOY2_BUTTON1"
InputAutoTrigger2 = 1

; Analog guns (Ocean Hunter, LA Machineguns)
InputAnalogGunLeft = "NONE"               ; digital, move gun left
InputAnalogGunRight = "NONE"             ; digital, move gun right
InputAnalogGunUp = "NONE"                   ; digital, move gun up
InputAnalogGunDown = "NONE"               ; digital, move gun down
InputAnalogGunX = "JOY1_XAXIS"    ; analog, full X axis
InputAnalogGunY = "JOY1_YAXIS"    ; analog, full Y axis
InputAnalogTriggerLeft = "JOY1_BUTTON2"
InputAnalogTriggerRight = "JOY1_BUTTON1"
InputAnalogGunLeft2 = "NONE"
InputAnalogGunRight2 = "NONE"
InputAnalogGunUp2 = "NONE"
InputAnalogGunDown2 = "NONE"
InputAnalogGunX2 = "JOY2_XAXIS"
InputAnalogGunY2 = "JOY2_YAXIS"
InputAnalogTriggerLeft2 = "JOY2_BUTTON2"
InputAnalogTriggerRight2 = "JOY2_BUTTON1"

So yeah, use Touchmote to emulate 360 controllers and use this setup. Works great!

If you haven't done it yet, I highly recommend taking the time to set up the custom version of Touchmote posted earlier in this thread. Makes the Wiimotes near line of sight accurate.

Edited by Tomkun
Link to comment
Share on other sites

20 hours ago, Tomkun said:

If you haven't done it yet, I highly recommend taking the time to set up the custom version of Touchmote posted earlier in this thread. Makes the Wiimotes near line of sight accurate.

Thanks @Tomkun , I have not yet done the setup, however I saw @spacorn posted a compiled binary so I did download this and tried it but it doesn't seem to work for me on Windows 10. I will work though getting it compiled myself and then use the readme to set up the json. I totally forgot about this modification after I had requested a binary way early on (2017 lol) and life got in the way. I'll get this set up hopefully soon and look forward to the ease of just setting sticks!!

 

Edited by ThePolish
info on posted binary
Link to comment
Share on other sites

Strange...  It works fine here on my Windows 10 setup.  I remember there was some faff about drivers when I set it up, so I had to get them from somewhere else... don't remember where, sorry.

Let me know if you have trouble setting it up and I'll zip up my folder and send it to you along with the keymaps I use. I also use the Wiimotes as steering wheels for a lot of the simpler driving games.

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...