X-Arcade: Unlocked

A Comprehensive Guide to VR Pinball Optimization, Haptics Tuning, and Hardware Mods for the X-Arcade Arcade2tv-xr Controller


Part 1: Hardware Modifications

Solenoid Dampening Mod

See HackAfterDark x-arcade-haptics-mod-guide: https://www.hackafterdark.com/blog/x-arcade-haptics-mod-guide/

Audio Whine / Artifacts Mod

See HackAfterDark x-arcade-haptics-mod-guide: https://www.hackafterdark.com/blog/x-arcade-haptics-mod-guide/

Upper Shelf Mod

TBD

3D Print Mods

  • Shelf brackets:

https://www.printables.com/model/1592221-dodgy-arcade2tv-xr-shelf-brackets

  • Controller blanks:

https://www.printables.com/model/1585076-dodgy-arcade2tv-xr-quest-controller-blank

  • Bottom Shelf:

https://www.printables.com/model/1658751-dodgy-arcade2tv-xr-undershelf 

  • Front Keyboard Shelf:

https://www.printables.com/model/1714973-dodgy-arcade2tv-xr-keyboard-shelf 

  • Touch Panel Guards:

https://www.printables.com/model/1622401-dodgy-arcade2tv-xr-touch-panel-guard

  • Spinner Mount Kit of Quest Controller for Pinball FX VR (Under “Print Your Own”):

https://support.xgaming.com/support/solutions/articles/12000104204-how-to-use-the-quest-controller-mount-kit-for-spinner-equipped-arcade2tv-xr-pinball-fx-vr-mapping-fix-

  • Williams or Bally Styled Speaker Grill Replacement:

https://makerworld.com/en/models/2733127-arcade2tv-xr-speaker-grill-replacement 

  • Cup Holder

https://makerworld.com/en/models/2741808-xarcade2tv-xr-cup-holder   

  • Pinball Palm Rest Kit (Under “DIY printing instructions”):

https://support.xgaming.com/support/solutions/articles/12000105562-pinball-palm-rest-kit-for-arcade2tv%E2%80%91xr-tankstick-vr-installation-diy-guide


Part 2: Controller Configuration and Modes

Pinball FX VR

Mode: KEYBOARD RED MODE

Optimization Resources

For the best audio tuning and haptic feedback in these Quest-native experiences, refer to the BlahCade optimization guide. This resource provides a baseline for making your digital VR pinball sound and feel authentic.

Star Wars Pinball VR & Pinball VR Classics (Quest)

Mode: XINPUT-SOLO / PINBALL PURPLE MODE

Optimization Resources

For the best audio tuning and haptic feedback in these Quest-native experiences, refer to the BlahCade optimization guide. This resource provides a baseline for making your digital VR pinball sound and feel authentic.

Button Mapping Note

Star Wars Pinball VR requires specific button remapping to function correctly with the X-Arcade.

  1. Open the Options menu in Star Wars Pinball VR
  2. Locate Flipper Controls
  3. Change the flipper input to use:
  • LB / RB for flipper control

This aligns flipper input correctly with the Arcade2TV-XR pinball layout.

Zaccaria Pinball (PC)

Mode: XINPUT-SOLO / PINBALL PURPLE MODE

Connection & Mode Setup

Connect the X-Arcade2TV-XR to your PC via USB cable or Dongle V2. Ensure the LED is flashing Purple, indicating it is in XINPUT-SOLO/PINBALL mode. This mode is required for nudging to function correctly.

Controls

Navigate to Options > Controls and map your physical buttons to the in-game controls manually.

Sound and Haptics Settings

These settings are based on design principles from the BlahCade community (Jared Morgan and Chris Friebus) to maximize tactile feedback.

Mechanical / Ball Rolling / Flipper / Nudge Volume: 100%

Table Announcements / DMD Volume: 75%

Music / Menu / SFX / Background Volume: 50%

Tilt Volume: 50%


Visual Pinball X (PC)

Mode: XINPUT-SOLO / PINBALL PURPLE MODE

Connection & Mode Setup 

Connect the X-Arcade2TV-XR to your PC via USB cable or Dongle V2. Ensure the LED is flashing Purple, indicating it is in XINPUT-SOLO/PINBALL mode. This mode is required for nudging to function correctly.

VPX VR Mod

For the best experience using VPX in VR, refer to the Atwiki Visual Pinball VR guide which walks you through VPin community developer Panasony’s mod (aka The Panasony mod). The Panasony mod is a fork of Visual Pinball 10.8.0 that improves a number of things including focus issues, VR room movement, nudge actions, F12 Tweak menu, and controller vibrations.

https://w.atwiki.jp/visualpinball/

Button Mapping

The button mapping between the X-Arcade controller and VPX can get a bit complicated, but it’s doable. Here’s what we think is best:

  1. Install JoyToKey which is a utility that converts controller inputs into keyboard strokes. This will be used to map a few of the X-Arcade buttons that do not map as buttons into VPX directly. Instead, we will remap these buttons as keyboard input, and then configure VPX to use that key.
  2. Map the following buttons in JoyToKey as such:
  1. Stick2: ↓  set to Numpad *  (or any other key you will NOT use). The P2 Joystick ↓ sends the same signal as the physical plunger. Remapping to an unused keyboard key will ensure you don’t accidentally plunge by hitting P2 Joystick ↓.
  2. POV: →  set to F12  This is so we can assign X-Arcade button 24 to the Tweak menu.

  1. To remap, simply double-click the corresponding row in JoyToKey and then click in the top left assignment box, then press the keyboard key to assign. Then click ‘OK’.

  1. Do this for the Stick2: ↓ and the POV: →.
  2. Close out of JoyToKey as we’re done for now. It will continue running in the task tray.
  3. Open VPX. Click on ‘Preferences’ -> ‘Configure Keys, Nudge and DOF…’

  1. Configure your Button Assignments as so:

  1. For VR, open ‘Preferences’ -> ‘VR Settings…’ and configure your ‘Button Assignments’ as so:

  1. That’s it! Open a table and test it all out. If you find you want to adjust things, you can use the Controller Mapping Diagram below as a guide to customize for yourself.

Controller Mapping Diagram (VPX)

Click the Spreadsheet image to download the actual sheet for your own use.

How To Use

The X-Arcade controller image shows in RED the ‘X-Arcade Button’, an arbitrary button assignment solely for the purpose of identifying which physical button is being referenced.

The BLACK text is what ‘Xbox 360 Controller Button’ is registered in the JoyToKey utility.

The Spreadsheet columns are as follows:

  • VPX Function is self-explanatory.
  • X-Arcade Button ID is the arbitrary assignment given to the physical buttons in the controller image above, to help identify the button being referenced.
  • JoyToKey Button is the ‘XBOX 360 Controller Button’ that is registered in JoyToKey when the physical button ‘X-Arcade Button’ is pressed.
  • JoyToKey Function is the keyboard mapping for the JoyToKey Button. This keyboard key will be sent when the physical button is pressed.
  • VPX Key is the keyboard key assigned to the VPX Function.
  • VPX Button is the button assigned to the VPX Function. These button numbers typically align with the JoyToKey Button numbers if displayed, but also are assigned to buttons that do not display a button [#] in JoyToKey. Example: the ‘POV: ↑’ JoyToKey Button comes through to VPX as the ‘13’ button.
  • Notes is self-explanatory.


Nudge and Plunger Config - *Updated 3/15/2026*

        Normally on a real pinball machine, your nudging is affecting the table itself and the ball is redirected based on the friction of the table moving underneath it. In VPX, the accelerometer input is translated to the ball physics, unfortunately, so what happens without specific nudge settinags is that you see the ball wobble with the wobble of your accelerometer in an unpleasant and unnatural way. This not only looks off, but it completely throws off your ability to accurately apply your real life nudging skills. We have found a way to address this with some incredible results.

  1. Open VPX in table editor mode (press cancel after launching VPinballX_GL64.exe when it asks to select a table)
  2. Go to Preferences -> Configure Keys, Nudge, and DOF…
  3. Configure your ‘Nudge, Plumb, Plunger’ section as shown below as a baseline.
  4. You may change some parameters here to your liking without throwing off the desired visual effect.
    1.
    X-Gain and Y-Gain can be tweaked above or below these values as you prefer.
    2.
    Deadzone can be altered if you’d like, but I do find this range +/- a few % to be ideal.

3. Change the Tilt to your liking.

Everything else seen here should remain as is! 👇

Panasony’s VR Mod Visual Nudge Settings

This is CRITICAL. This is where the magic happens. Panasony’s VR mod (the one you installed earlier in the doc) gives us some fantastic table movement to tweak in the F12 menu so that we can counteract this wobbling effect and give us some predictable and believable nudge reactions.

The only options you should worry about here are:


        1.
VisualNudgeStrength (this can also be set in the Video/Graphics settings in VPX) - to 0.0008. Play with that number +/- to your liking.

2. VisualAnalogNudgeGain X - This NEEDS to be a positive value. I like the range from 700-900. I have 730 chosen here.
        3.
VisualAnalogNudgeGain Y - This NEEDS to be a negative value.  I like the range from 700-900. I have 730 chosen here.


And that’s it for the F12 settings! Press whatever your Start button is to save these settings. A restart of VPX altogether would be a good idea after this as well for good measure. Double check that they have persisted.

Test some tables out and see what feels best within these ranges I’ve provided. The nudge now behaves as it would on a real pinball machine…

Consider a “Straight Down The Middle” scenario. You smack the controller on the left side (nudging right) and the ball is redirected towards your left flipper, saving the drain… and vis versa.

The ball is coming down the outer loop, riding the wall on the left side. You smack the controller on the left side and it propels the ball off of the left wall and sends it to the right… Fantastic!

If this is not how your nudging is behaving, then you need to double check your settings and reference the notes above.

NudgePlugIn.vbs

  1. Go into the scripts folder (..\VisualPinballX\scripts) and copy the ‘NudgePlugIn_mjrAccelAndTilt.vbs’ script and name the copy ‘NudgePlugIn.vbs’.

VPX core scripts are hard-coded to look for this specific script filename to override default nudge behavior. This script disables artificial software "jolts" during nudging, ensuring only your hardware’s real analog movement affects ball physics. It prevents unrealistic "double-nudging" and is essential for providing realistic feedback on accelerometer-based controllers.


Fine-Tuning Your Nudge

For the most accurate results, playing an actual table in VPX is going to show you quickly how a nudge is behaving in a real gameplay scenario. However, if you’d like to see it happening in a slowed down manner, the "Nudge Test and Calibration" table, which is included by default with your Visual Pinball X installation can be used. This tool provides an On-Screen Display (OSD) that visualizes your accelerometer data and lets you adjust settings in real-time.

  1. Open the included ‘Nudge Test and Calibration.vpx’ table to visualize and adjust physics in real-time.

Controls: Use Magna Save buttons to select a setting (X / Y Gain, X / Y Max, Dead Zone, etc.) and Flippers to adjust the value.

Visuals: The Red Dot (right dot) shows raw input; the Blue Dot (left dot) shows final in-game physics.

The Controls

  • X/Y-Gain (Sensitivity): The "volume knob." Higher = ball moves more with less effort.
  • X/Y-Max (The Ceiling): The speed limiter. Caps the maximum force to prevent unrealistic rocket-ball on hard hits.
  • Dead Zone (The Gatekeeper): The minimum force required to register a nudge.
  • Primary Job: Ignores sensor noise (drift/jitter) so the ball sits still.
  • Side Effect: If set too high, you lose the ability to do subtle "micro-nudges" because light touches get ignored.

Troubleshooting the "Feel"

If the nudge feels...

Then try this:

Too weak (even on hard hits)

Increase Max (and/or Gain).

Too twitchy (moves too much on small hits)

Lower the Gain.

Unresponsive (ignores gentle shoves)

Lower the Dead Zone (just enough to stop drift).

Jittery (ball shakes when idle)

Increase Dead Zone.


Part 3: Default X-Arcade-Button Layouts

Part 4: Troubleshooting and Known Issues

How do I make Steam stop popping up every time I press player 1 button?


1. Open Steam: Launch the Steam application on your PC.

  1. Go to Settings: Click "Steam" in the top-left corner and select Settings (or Preferences).
  2. Controller Settings: Navigate to the Controller tab.
  3. Disable the Option: Find and uncheck the box for "Guide button focuses Steam" (or similar wording like "Enable guide button chords for controller").
  4. Restart Steam: Right-click the Steam icon in your system tray and select Exit, then relaunch Steam.

     Meta Quest 3 is flashing  bright lights on and off. What should I do?

This is a known bug that should be fixed but currently occur if you switch modes while in application

My plunger is not working correctly when I pull it back. I can't return it closer to the table without launching the pinball.

This occurs when you have a button in Joy2Key mapped to the plunger key.  Make sure you don't have a key mapped to plunger.  If you feel it necessary, map it to a keyboard key like was discussed.

     In Star Wars Pinball VR my plunger and haptics quit working.  How do I fix it?

This happens when your controls are not set up correctly.  Below is a picture showing the correct configuration.

Contributors

Contribution

Contributor

[DOCUMENT] ‘X-Arcade: Unlocked

Discord: @mekelburgj

Discord: @ChuckRibbits

[Source Material] from [DOCUMENT] ‘VR Pinball featuring X-Arcade2TV-XR

Discord: @lordskylar


Change Log

Date

Comment

User

1/28/2026

Initial Draft

mekelburgj

1/30/2026

Added Star Wars flipper mapping instructions

mekelburgj

1/30/2026

Added VPX button mapping instructions and diagrams

mekelburgj

2/1/2026

Added some basic troubleshooting tips

lordskylar

2/2/2026

Added Star Wars Plunger and Haptics Troubleshooting

lordskylar

4/7/2026

Added links to 3d Print mods

tpancoast

4/17/2026

Added Default Button Layouts

tpancoast

5/9/2026

Added additional 3d print mods

tpancoast