From 1238cacbe6b2b96d13807d2f4acc93aad358dd6e Mon Sep 17 00:00:00 2001 From: zoltanvb Date: Sun, 12 May 2024 22:22:28 +0200 Subject: [PATCH] Updates for Remote Retropad: controller and keyboard test functions --- docs/library/remote_retropad.md | 75 +++++++++++++++------------------ 1 file changed, 35 insertions(+), 40 deletions(-) diff --git a/docs/library/remote_retropad.md b/docs/library/remote_retropad.md index a59920edbd..aaf2647000 100644 --- a/docs/library/remote_retropad.md +++ b/docs/library/remote_retropad.md @@ -3,13 +3,20 @@ ## Background -RetroPad is controller method for RetroArch over the network. +Remote RetroPad is a built-in core for 2 purposes: controlling another instance of RetroArch over the network, and testing input methods (retropad and keyboard). -#### How to start the Remote RetroPad core: +#### How to use the Remote RetroPad core: -- To start the Remote RetroPad core, go to RetroArch's main menu screen. Select 'Load Core', then 'Remote RetroPad'. +This core is present in all RetroArch builds that have networking enabled. To start the Remote RetroPad core, go to RetroArch's main menu screen. Select 'Load Core', then 'Remote RetroPad'. -The content should now start running! +The screen should now display a RetroPad, and buttons will react to controller activity. Digital inputs will be highlighted in one shade of red, analog inputs will be highlighted in a gradual manner. Any input that has been activated at least once, will turn green. + +To switch to the keyboard test screen, pass keyboard focus to the core (default hotkey Scroll Lock), and press keyboard keys A and B simultaneously. This screen includes a standard 102-key PC keyboard + extra blocks for all RETROK_ values present in the code. Screen adapted from DOSBox-Pure onscreen keyboard with permission. Keyboard test screen shows pressed keys, including special and multimedia keys, however some keys may be capture by the operating system and cannot be detected by RetroArch. Keyboard inputs are not set up for remote transmission, only for local test. + + +#### Setting up the RetroArch instance to be controlled + +To allow a RetroArch instance to be controlled by Remote RetroPad, enable "Network retropad" under Settings / Network, and enable the remote control for the desired user(s). ### Author/License @@ -54,45 +61,46 @@ Frontend-level settings or features that the Remote RetroPad core respects. | Crop Overscan | ✕ | | LEDs | ✕ | -### Directories - -The Remote RetroPad core's internal core name is 'RetroPad Remote' - ### Geometry and timing - The Remote RetroPad core's core provided FPS is 60.0 +- The Remote RetroPad core's resolution is 320x240 - The Remote RetroPad core's core provided sample rate is 30000.0 Hz - The Remote RetroPad core's core provided aspect ratio is 4.0 / 3.0 -## Usage - -Awaiting description. - ## Core options The Remote RetroPad core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded. Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch. -- **Port** [net_retropad_port] (55400 to 55420 in increments of 1. **55400 is default.**) +- **Port** (55400 to 55420 in increments of 1, default **55400**.) + + UDP port for the connection on the target machine. One port is for one user only, if you wish to control e.g. user 2, add one to the base port. + +- **IP address part 1** (0 to 255 in increments of 1, default **0**.) + + First octet of the target machine's IP address (e.g. **192**.168.0.33) - Awaiting description. +- **IP address part 2** (0 to 255 in increments of 1, default **0**.) -- **IP address part 1** [net_retropad_ip_octet1] (0 to 255 in increments of 1. **0 is default.**) + Second octet of the target machine's IP address (e.g. 192.**168**.0.33) - Awaiting description. +- **IP address part 3** (0 to 255 in increments of 1, default **0**.) -- **IP address part 2** [net_retropad_ip_octet2] (0 to 255 in increments of 1. **0 is default.**) + Third octet of the target machine's IP address (e.g. 192.168.**0**.33) - Awaiting description. +- **IP address part 4** (0 to 255 in increments of 1, default **0**.) -- **IP address part 3** [net_retropad_ip_octet3] (0 to 255 in increments of 1. **0 is default.**) + Fourth octet of the target machine's IP address (e.g. 192.168.0.**33**) - Awaiting description. +- **Start screen** (**Retropad** / Keyboard tester) -- **IP address part 4** [net_retropad_ip_octet4] (0 to 255 in increments of 1. **0 is default.**) + Initial screen when starting Remote Retropad. - Awaiting description. +- **Hide mismatching analog inputs** (**Yes** / No) + + Certain input methods (like using the keyboard to simulate controller buttons) do not send the analog value. Remote Retropad indicates this by leaving the center of the button white, if this option is turned off. ## Controllers @@ -108,24 +116,11 @@ The Remote RetroPad core supports the following device type(s) in the controls m #### Joypad -| User 1 Remap descriptors | RetroPad Inputs | -|--------------------------|------------------------------------------------| -| B | ![](../image/retropad/retro_b.png) | -| Y | ![](../image/retropad/retro_y.png) | -| Select | ![](../image/retropad/retro_select.png) | -| Start | ![](../image/retropad/retro_start.png) | -| D-Pad Up | ![](../image/retropad/retro_dpad_up.png) | -| D-Pad Down | ![](../image/retropad/retro_dpad_down.png) | -| D-Pad Left | ![](../image/retropad/retro_dpad_left.png) | -| D-Pad Right | ![](../image/retropad/retro_dpad_right.png) | -| A | ![](../image/retropad/retro_a.png) | -| X | ![](../image/retropad/retro_x.png) | -| L | ![](../image/retropad/retro_l1.png) | -| R | ![](../image/retropad/retro_r1.png) | -| L2 | ![](../image/retropad/retro_l2.png) | -| R2 | ![](../image/retropad/retro_r2.png) | -| L3 | ![](../image/retropad/retro_l3.png) | -| R3 | ![](../image/retropad/retro_r3.png) | +Remote RetroPad supports all standard RetroPad buttons. Analog values are supported for analog sticks. Analog button values are shown for L1/R1/L2/R2, A/B/X/Y buttons, but not transferred. + +## Usage for automated tests + +It is possible to supply an expected input file, and show instructions on which button to press. For details, see [PR #16357](https://github.com/libretro/RetroArch/pull/16357). ## External Links