Amiberry: Mapping mouse clicks to joypad not working

Created on 14 Jul 2017  Â·  75Comments  Â·  Source: midwan/amiberry

I tried adding left and right mouse clicks to L and R on a USB joypad and the custom controls don't seem to work.

In addition I also tried assigning Joy stick up to the B button, and it doesn't work either.

I have been able to assign space and enter to X and Y, so custom controls seem to work to some degree.

Test platform is Raspberry Pi, built from source on RetroPie.

Thanks

enhancement

All 75 comments

@vretro
Thanks for the feedback!

I've been away for a while, due to some personal matters, so work on the project stalled.
I'm slowly getting back into it, so this will be looked into soon.

Hi Dimitris / @midwan
Thank you for the update.

Take all the time you need, your work on this project is much appreciated.

@vretro can you tell me what lines you use in your config file for adding custom controls for mouse clicks and space and enter ?

I only have for now in my uae
button_for_menu=0
button_for_quit=16

also is this possible in the SDL1 version (2.1) or only the SDL2 ?

Hi @voljega,

I used the Amiberry UAE4Arm GUI to customise configurations as needed.

After saving each configuration, within Retropie, when launching each game I pressed A and selected the appropriate configuration required.

Sorry I don’t know anything about SDL.

As I haven’t been able to get custom controls working, can’t suggest configurations.

@vretro can you share your saved uae configuration then ? on zippyshare or something ?

Hi @Voljega
I have uploaded my Amiberry configuration directory as located at "opt/retropie/configs/amiga/amiberry/conf/adfdir.conf" for you:

https://send.firefox.com/download/b5fcd95009/#zDdGz0Tt8iYl45lDiA0eiQ

Hope this helps

Thank you @vretro !

But I don't see how you manage to assign space to X and enter to Y unless you also assigned space to gui and enter to quit emulator or something like that ? which would cause trouble given the high number of game requiring pressing either on space or enter to start the game ?

I will be looking at the overall approach to mouse mapping to a controller

I'm interested too if some one found a solution to map mouse on right joystick (x360 pad).
For some games we can't play without mouse :(

you should be able to set the 'mode' to 'mouse' in the .uae config file, but it will need buttons 0/1 to be used as the mouse buttons, and only an axis will be used for mapping.

This is already fixed on the controller branch, by the use of the custom mapping for input devices.

@HoraceAndTheSpider Does the Joypad Mouse work with Digital only pads (by using the swap thing in custom controls) or does it only work for Analogue gamepads ? I can't read the last few choices in the custom controls drop-down menu because of the character limit.

The code does not care regarding Digital or Analogue. It only cares about AXIS/HATS/Buttons. "real" Analogue control can _only_ be achieved on an AXIS, but an AXIS can be suppied it's values from _either_ digital or analogue sources. We don't need "real" analogue control for the mouse though :)

If you are talking about the 'original' method used above (leaving the input port on mouse mode), then what matters is how your digital pad sends its signal. If it uses an AXIS (and this is perfectly valid for a digital input - my DragonRise USB does this) then it can be used as a mouse replacement directly in the master branch of amiberry, but it will probably require you to change parameters via the .uae config file.

If you are using the controller branch, then the recommended route will be to leave the input (port 0 for most games) on joystick or cd32 mode, and then enable left/right/both mousemap for that port also. This will map AXIS 1 and/or AXIS 2 (digital or anlaogue, doesnt matter) to the MOUSE AXIS. There is a small bug on this atm because the left-mode should also map the d-pad as well (if available) using either DPAD 'buttons' (e.g. PS3 pad) or HAT input (e.g. PS4 pad), but currently this does not work, and requires you to use the CUSTOM mapping to achieve the same end.

You wont need to use the swap button function in the drop-down (and tbh, i am probably going to remove it from the list anyway until some kind of OnScreen graphics are available for control changes), since the mouse-map function is now in the input panel :)

@HoraceAndTheSpider where to found and compile the controller branch ?
I only see SDL1 et SDL2-dev branch ?
https://github.com/midwan/amiberry/branches
Or maybe you will merge to Master branch in a near future for every one ?

https://github.com/HoraceAndTheSpider/amiberry/branches

Yes, we will be merging with the master branch once the control improvements are finished :)

I built your latest controller commits but i'm a bit confused by what you said above

the recommended route will be to leave the input (port 0 for most games) on joystick or cd32 mode, and then enable left/right/both mousemap for that port also.

Port 0 is always mouse (unless playing 2 player) and Port 1 is Joystick. Mine looks like this -

Port 0 [Mouse]: Mouse Mouse
Port 1 [Joystick]: USB,2-axis 8-button gamepad Joystick

I set Mouse Stick 1: to Left, Right and Both but no luck.

Wouldn't it need a 'Hotkey+Button' to change to mouse mode when using Digital Only pads otherwise it will be controlling the mouse and joystick at the same time ? (Which will also start 2 player games).

You must consider that you still need to your controller to act as if it were placed into the Amiga Mouse port, so what i have said above is correct. You are looking to emulate port 0 when you are playing a mouse game. The fact you are using a controller rather than a 'real' mouse does not matter to the 'amiga'.

For all games with the mouse (except a few 2 player mouse games , like Lemmings) you will need your controller to be using port 0.

Select Port 0 as a Joystick (even if you intend it to be a mouse inside Amiga emulation) - then enable the mousemap options. This 'cheats' the joystick into sending mouse signals to the emualtor, instead of joystick signals.

e.g. Port 0 [Mouse]: USB,2-axis 8-button gamepad Joystick

You will not get an instance of it sending both mouse and joystick signals, because each action only sends EITHER a mouse or a Joystick event.

No, it doesn't seem to work. If I set -

Port 0 [Mouse]: USB,2-axis 8-button gamepad Joystick

When going back to the GUI, Port 0 is back to Mouse Mouse again.

There is a known bug which we are resolving with ports 'reseting' to the default as you have mentioned (there is unwanted code left over from the Pandora version) - @midwan and myself are still hunting for the rogue code which causes this (and this is one reason we have not merged with the master branch yet)

However.... If you persist and keep trying with changing it, swapping ports (setting port 1 to mouse, or keyboard for example) it will _eventually_ put your controller in port 0. Honest ;) (i have had many arguements with this bug!!!)

The other way around this bug is to have two controllers connected, which for some reason seems to stop this problem.

OK, I finally got it to control the mouse, but now the Gamepad controls the mouse only (South Button = Left Mouse Button, East Button = Right Mouse Button), how do you get it to change to joystick ? (Hotkey+Button ?).

Sorry, i'm not sure i understand - what is the use case for needing in-emulator swapping between amiga joystick and mouse inputs?

if you want it on normal joystick mode, you switch off mouse-mapping but need to skip past say, a cracktro, then use a normal joystick mode (no mouse map) but custom-map the left mouse button to NORTH or similar.

If you want to play a mouse game with an controller, do what was suggested above, with mousemapping.

If you want a 'mixture' of the two, (e.g. d-pad on joystick, but analogue on mouse) i suggest using the Custom remapping options.

I thought this was the whole point of this feature, to control the mouse and the joystick from the same joypad. Use case would be,

Joystick works as normal, load a ADF (for example) and you need to move the menu bar with mouse and click to select options/skip cracktro etc, so press Hotkey+Button to switch to mouse mode, exit the cracktro then press Hotkey+Button to switch back to Joystick mode.

EDIT: As I said before, you may be able to do this with an Analogue pad that has two Analogue sticks but with a Digital only pad you would need a button to switch between them. So the joystick will stay as Port 1 and when pressing the Hotkey Swap it will put the Joystick as Port 0 with Mouse stick on.

No, sorry, that was never the purpose of the function - it is to enable mouse games etc to be played with a controller, using any of the available input types (buttons/hats/axis).

The added potential of doing both joystick (port 1) and mouse (port 0) on a single controller which has multiple direction controls is an 'unexpected feature' of the custom mapping. Perhaps you could consider using hotkey+dpad to control the mouse, as this would achieve what you require.

Because the purpose you have described would also involve swapping the ports it is considerably more involved, because we are talking about a lot of potential events (all directions + buttons * number of ports) to be changed. This might be on a 'long term' plan, but not currently. There is an existing event for port swapping, but i dont believe this currently works correctly - i would consider fixing this as a first approach to rectifying the problem.

Controlling the mousemap from a hotkey swapping button is also now only a long-term plan, because there are problems caused by 'input re-triggering', which is why i am likely to remove that option, now that the menu can be navigated from a controller.

This functionnality (mouse/joystick swapping) is used by the Hatari emulator, but I agree the mapping of both on one controller is better.

The only use case I can think of is using a controller where is not enough commands, such as a SNES controller.

BTW are you also cleaning the related inputs in uae config file ? There is a lot of unused verbose stuff in there regarding controllers.

Will there be a doc for that ?

OK, so this "feature" is only really useful for Playstation controllers again or Analogue (I hate that Gamepad, the Analogue sticks are too big and horrible !). This is how it works on the Pandora anyway, and even then you have to use Port 0 which is the mouse port on Amiga and some games probably wont work unless the gamepad is in Port 1. I don't see the point of manually going back and forth to the GUI to swap the Ports etc. May as well just use a real mouse.

@Voljega You will be pleased to hear, all of the redundant input items are gone in the new config files, and the order has been restructed to be easier to read.

The SNES controller layout could still use SELECT as hotkey and then the custom mapping mentioned above could still be used...

You only start reaching isues with minimal button devices such as as 9-pin joysticks with USB interfaces (where you might only have 2 buttons), but then I feel it is unrealistic to expect this kind of usage with such a limited input device.

@blinkydoos - sorry, i dont undertand why this

is only really useful for Playstation controllers again or Analogue

As mentioned DPAD and HAT (both digital) input devices will still be mapped to the mouse events using this function.... please avoid confusing the matter by referring to analogue inputs specifically not all Axis inputs are Analogue inputs, as was explained previously.

This has nothing to do with Playstation pads either. One of my test controllers for example is the DragonRise USB controller and i am using only 5 buttons and one _digital_ axis on that.

I don't see the point of manually going back and forth to the GUI to swap the Ports etc. May as well just use a real mouse.

Sorry, i respectfully disagree. It takes only a matter of seconds to do this directly with the controller, whereas the requirement to have an additional peripheral device is considerably more inconvenient, especially where dealing with wireless controllers.

As i have already said, i am not writting-off the option of port swapping, but it is lower on the priority list than, for example, making the keyboard controller remappable.

What I meant was that with a Playstation controller (or dual Analogue) you could use both at the same time, mouse on one Analogue and Joystick on the other (like the Pandora does).

If you don't mind opening the GUI, swapping the controls, going back to game and skip a cracktro, then open the GUI again and switch the controls back then go back to game, then you fill your boots ! I'll just use a real mouse. Don't get me wrong though, I appreciate the custom controls addition.

this is all you would need to do to achieve what you are after (assuming your device using HAT or DPAD buttons for its digital input)

http://www.djcresswell.com/amigaonline/input_panel.JPG
http://www.djcresswell.com/amigaonline/custom_panel.JPG

You can then navigate the cractro menu with hotkey+directions, but ensure that in-game you are still using the joystick port.

I didn't know you could actually map the mouse movements in the Custom Controls (I didn't look to be honest!). Although my RetroArch hotkey is 'Select', it will be a bit difficult to use but better than nothing I guess, thanks.

No, it won't let me map the D-Pad !! So my custom controls are limited to only the buttons even with a hotkey ? I give up !

Also, I notice your version actually tells you the hardcoded hotkeys Menu, Reset & Quit (like RetroArch). Mine doesn't say that.

That means that your 'digital' control is in fact an AXIS, just like an analogue stick, so you would need to use the mousemap function, (which is why that function was added) ... yes.. looking at your previously provided cfg file confirms this is the case.

The menu you mentioned wanting this function for ... does it need all 4 mouse directions? You could map up/down to HOTKEY+Left_shoulder and HOTKEY+Right_shoulder to achieve the same effect. Or you could use HOTKEY + A/B/X/Y ?
(if you use this, remember to add ENTERGUI to another button, such as START)

The mentioned extra keys will show if you have downloaded the latest commits from today. They will not be hardcoded, but taken from the RetroArch config file. I am currently implementing this further in game-running as we speak.

OK, so i've gone with HOTKEY + A/B/X/Y/L/R. Is there any way to slow down the mouse when using the joypad to control ? The mouse speed slider in the GUI has no effect.

Did you say that we can navigate the GUI using the joypad ? It's not working for me. I can open and close the GUI with a custom control but the joypad d-pad does nothing.

Mouse speed I think (currently) only works with axis mapping; along with adding axis control of the menu (hats and buttons only atm), this is on the list of WIP items.

WOAW i will kill myself AMIGA make me sealy :(
I lost all my day on it :( ... i have many problems with WHDLOAD that not working fine with all games and i read all the tutorial and also use your RetroPieAmigaSetup !
Now i compile this build to try better joystick configuration and mouse, and nothing working fine :(
The key to use menu not working and to exit too ?
I read you have hard coded keys, where can i found a doc or something to help ?
Thanks

I cannot write documentation whilst I am still working on coding, sorry.

The quit_button option is removed from the latest version, because it is no longer needed: the RetroArch hitkey/quit key functions are used.

Probably you need to set the controllers path in the paths Panel to “/opt/retropie/configs/all/retroarch/autoconfig”

This will be done by default on the final release but please keep in mind you are using a development version and if you are not comfortable with that, please stick to the release versions.

I understand, i know i try a beta version.
I try to access the emulator menu to configure joystick or exit but i can't find it. I must access it to set controller path. Only tel me how to access it
This : http://www.djcresswell.com/amigaonline/input_panel.JPG
And after i will make my test myself, no problems.

"The
quit_button option is removed from the latest version, because it is no longer needed: the RetroArch hitkey/quit key functions are used.

Probably you need to set the controllers path in the paths Panel to “/opt/retropie/configs/all/retroarch/autoconfig” "

Hmmm what ? do you mean you have heavily linked amiberry to retropie or retroarch ? :(

Hmmm what ? do you mean you have heavily linked amiberry to retropie or retroarch ? :(

I think he only speak about controller keys, nothing more. It use the gamepad CFG from Retroarch.
It is perfect because if he can detect like Retroarch witch pad you use ? You will always have the same keys assigned :)
I think it's really a good idea, i only search now to understand how to use these CFG files.

Yeah I just think this is too soon and weird at that point, would have been much simpler to just advance to sdl2, clean the controller conf and everything and then transform amiberry into a libreto core.

So if I understand this right, controller configuration will not be in an uae conf anymore but we will have to generate alongside it or somewhere else another conf file akin to the retroarch one ?

@Voljega Yes and no.

Amiberry will Read RetroArch controller Config files to perform mapping of controllers to the internal input triggers.

This is provided by a plain text file.

FS UAE does exactly the same thing but has its own controller file layout. Maybe I will also add support to read these files.

For 90% of all use cases, (RetroPie) the above path should be used. For everyone else you can place a retroarch Config file into an Amiberry “controllers” folder (currently the default) which enables the “benefit” of RetroArch layout mapping, but without actually being tied to RetroArch/RetroPie.

Ther is , of course, a fall back where a “default” controller layout will be used. However it is very unlikely this will match up with most controllers.

Hope this helps to explain

No , please do not confuse a host controller layout setting (which does not normally exist in UAE) with the actual emulator settings which are held in the .uae Config file.

All this does is tell the emulator where your “x” or “a” or “up” button is ... since this changes between controllers. This will be needed on the SDL branch too.

I do not understand why it is too soon or too weird. This satisfies the needs of 99% of Amiberry users, and can be replicated across the addition systems we will be adding support for.

ok I'm mostly worried because I'm working into the integration of amiberry into Recalbox and it is not the same as retropie, but it uses Retroarch too ;)
So amiberry will use a retroarch mapping conf file and you will decide which button in that mapping are used for which functionnality is this correct ? We won't configure that by ourself anymore ?

I assume you will try to have a setup working for both standard Amiga and CD32 ?

Yes standard settings for cd32 and and normal 2 button joystick are already available. There is also a full custom mapping option (pictured above) for games that need extra keyboard controls.

No , please do not confuse a host controller layout setting (which does not normally exist in UAE) with the actual emulator settings which are held in the .uae Config file.

All this does is tell the emulator where your “x” or “a” or “up” button is ... since this changes between controllers. This will be needed on the SDL branch too.

So the settings in the uae files won't correspond to "sdl button id" anymore but to "retroarch button ids" ?

Actually I was already generating automatically my uae file with the right buttons independently of the controller connected using its configuration

If you have recall box using retroarch all you need to do is point the path to your desired controller folder and you will be able to share the same .uae settings for custom layouts etc with everyone

Yes, there are no SDL buttons in the use files

I use a referencing such as north_button =
Again, the same as fs uae :)

ok nice ! thank you for your explanation

so i assume exit = hk +start
and entering gui will be on select ? (as the cd32 doesn't seem to have a select button)

If your RetrOArch cfg has “select” as the HotKey and “start” as your quitkey then yes.

Entering /existing GUI is the “menu button” in retroarch. The common use is HotKey+Triangle (in PlayStation terms, AKA “north button”) - I have it so that here is no need to press the HotKey to “exit” the gui with this button however.

It is actually possible to use an “extra” button (eg PS logo button) as the “hotkey” and free up an extra button (start) for in game remapping.

I think i have all understand but i always have my only question :
Whare to put the joystick file ?
I take my : Xbox 360 Wireless Receiver (XBOX).cfg
There : /opt/retropie/configs/all/retroarch/autoconfig
to there : /opt/retropie/configs/amiga/amiberry/conf
And i must rename it ?
If some one use an other controller he must change this file ?
Because for the moment Amiberry detect fine the different controlers...

Amiberry does not do any controller detection. You are “lucky” that your controller(s) happen to match the default layout (button 0=fire etc)

Leave the file where it is , enter the “paths” panel on the Amiberry GUi and point it to the retroarch controllers file.

Someone using another controller will have already set up their on cfg file.

http://www.djcresswell.com/amigaonline/paths_panel.JPG

This picture should show what you need. You may need to reload Amiberry after setting though.

Ok i finally understand i must launch it without a game, change path and exit. I don't see any save setting button.
But now with you last compiled version it not starting fine without a game and come back to ES :(
I change nothing, only replace the EXE by the new one.

I plan to add a save button.

Please check you have all the files from the repo, including the new QuickStart and controller icons. There is no pre compiled version of that branch.

Ok thanks, i only forgot the icon, now i can see the menu, i will make test with my friends and make my feedback. Try to make my joystick working too.

It's work really fine with this LN while i can't save settings :
ln -s /opt/retropie/configs/all/retroarch/autoconfig /opt/retropie/emulators/amiberry/controllers

Sorry to boring you.

It’s fine - this stuff needs testing.

And I agree ; a “save” and “rescan” button would be very useful for this.

It should save when you exit /enter the GUI, but this is not very clear at the moment, and I think it needs improvement... I have managed to save it on mine, but I think I did this using the keyboard.

I have make some test this evening on my PI3 and my friend Waal will test later on PI2.
Try to add the SAVE button. When i configure a game and resume i can try the settings, when i exit game i lost all my settings :(

  • The best were to save game settings in his UAE launching file.
  • I have map without any problem the mouse on the D-Pad and it works fine with shoulder buttons for clic 1 & 2.
    > Mouse speed I think (currently) only works with axis mapping

If you can, it can help to fix it. For exemple it is impossible to use mouse on Heimdall 2 menu, so fast :(
Or if possible to fix the problem, have the choice to invert. Walking with D-Pad like on a console game, and use stick for the mouse because it is analogic.
For many games it will be better to use, for the moment you hard code to use the Left Stick.

  • Why can't we use the Right Stick ? Maybe it can help to for the mouse settings.
  • You have hard coded the MENU and QUIT option, will you add them to the combobox ? If some one want to move them. And maybe add the SAVE and LOAD SAVESTATE buttons ?
  • An other thing, on Display there is an FRAMESKIP option, but we can't choose how many frame to skip ? Maybe it can help for games like Flink that is slow if i remember fine.

I love your work and i only ask these questions to configure games for my children. I want to try to make some thing easy to use, like a console, to make them discover this fantastic computer.
Thanks a lot.

  • mouse speed works on the analogue sticks fine, this is only an issue with Dpad mapping - consider using the analogue stick

  • right stick can already be mapped with the “mousemap” function , it is incorrect to say the left stick is hard coded - perhaps you are using The “mouse” direct mode and need to switch to joystick+mousemap

  • you can already map other functions to dpad (as suggested) over the top of the mouse map function for say, walking. (Assuming that uses the keyboard) - I do this for RPG and strategy games usually.

  • also menu/quit are not hardcoded. They are taken from the RetroArch Config. There will be an option to not use these also, and allow you you map these hotkey-buttons to other functions.
    You can already map the menu/quit functions to other buttons.

Frameskip would need to be something for @midwan - it should skip only the number of frames needed to achieve 50fps but perhaps this is not performing correctly

Frameskip doesn't actually frameskip as such. It just halves the framerate to 25fps. If you turn the on-screen power light on in the GUI it will show you the FPS.

@blinkydoos ok thanks i understand fine, it is not perfect but it help to have Flink at normal speed, it's cool ... maybe it will be update on the future or when Amiberry will become a Retroarch engine.

@HoraceAndTheSpider :

mouse speed works on the analogue sticks fine, this is only an issue with Dpad mapping - consider using the analogue stick

Maybe you speak by using UAE files ?
Because on Amiberry menu we can't see all the Jostick buttons.
http://www.djcresswell.com/amigaonline/custom_panel.JPG
I can only map the D-PAD, but not the stick Left and Right ?
It's why i write it is hard coded, but yes it's in the UAE file. If we can have them show to screen, it can help us for tests. But i understand it is some more work for you and it will take more place on screen to show, we will must scroll the window ...

also menu/quit are not hardcoded. They are taken from the RetroArch Config. There will be an option to not use these also, and allow you you map these hotkey-buttons to other functions.

Ok thanks my apologies, i don't see them at the end of the combobox,
Because i search for "None (Menu)" and you write "Enter GUI" :p

Please can we not use GitHub for user guideance - please post on one of the many support pages for this sort of thing.

Please be aware that developers get notifications _every_ time someone posts on these threads, and it makes it very difficult for us to correctly track the actual bugs/issues etc

@Darknior - no it sounds like you are not using this correctly. It is not cesseary to use the drop-down or the then UAE file.

http://www.djcresswell.com/amigaonline/input_panel.JPG

See "mouse stick 0:" which can be set to NONE, LEFT, RIGHT or BOTH.

If you use this, along with a Joypad in PORT 0 and the MODE set to "JOYSTICK" you will find that you can map the joystick to mouse control for 1 or 2 sticks.

@HoraceAndTheSpider I'll type this here as this thread could be closed soon after the merge because the OP is fixed. On your latest controller commits the RetroArch hotkeys (Menu, Exit etc.) are now fixed and not changeable, the button drop-down is greyed out (on my digital only controller). My mappable buttons are reducing rapidly !

I will be adding an option to not use retroarch buttons, where you have reduced buttons available.

However , you must need 2 buttons for those anyway? Or perhaps generally you only want to use the quit key? Either way : menu/quit and reset (all available from retroarch) will be optional

Yes, but the Hotkey+Menu button (which is North button) is now greyed out and I can't map it. I was using this button for Mouse Up.

I had my custom Menu button as Start but now it's hardcoded.

It’s not hardcoded. Look for “enter gui” in the custom map.

out of interest - what do you do with other retroarch emulators? Set up specifics for each one? I ask becuase it is getting your HOTKEY+NORTH = MENU from your retroarch config.

there is nothing to stop you using your own amiga dedicated retroarch config file and then not selecting a menu or quit button. This is what the 'controllers' path is for. So you can use a bespoke setup for amiberry alone.

If you did this, you could set HOTKEY+NORTH = nothing and then you would be able to map the button again, even in the current version.

This is why i say it is not hard-coded. Hardcoded means that the program is forced to use a specific button, which is exactly what does not happen here.

So now I have to create another config file to change these buttons ? Why are they being set like Retroarch ? This emulator is not Libretro. A couple of commits ago I could map North and Start (using Hotkey) to whatever I wanted but now only South, East, West, L & R can be changed, all the rest are greyed out. Yes it says 'None (Menu)' and 'None (Quit)' but why can't I change them anymore in the GUI ?

Custom Controls ?!?

We are using the retroarch method because it is an existing and very flexible system. It is also the most common use case for amiberry by far and can be used across multiple systems.

It is no different to the controller setup files used by Fs-uae, other than the syntax. We could create our our own controller layout mapping but what would be the point? There is nothing to gain from re-inventing the wheel by creating our own system.

You currently cannot remap those buttons because we are now tapping into retroarches “quit” and “menu” options (have a read of your Config file and you will see these)
this actually gives use more flexibility than a few commits ago, where in fact we defined (internally) the use of HotKey+north. It was the lack of flexibility that allowed it to be remappable by default.

As I have already said, you will soon be able to disable the use of the retroarch quit/menu... once you do this, you will be able to remap those individual buttons again, but please remember you are using a version that is still in development.

Nonetheless, your current situation can be resolved as follows;

-Go to the paths panel

  • set the “controllers” path to a location such as Amiberry/controllers
  • quit Amiberry
  • copy your joypad’s cfg file to this location
  • edit the file with a text editor
  • change the menu button to none or another preferred button
  • reload Amiberry

If you set it to “None” you can also add the control via the custom inputs panel and set the drop down to “enter gui”

As I have already said, you will soon be able to disable the use of the retroarch quit/menu... once you do this, you will be able to remap those individual buttons again

OK but you already had this working, i'm not sure why you changed it. If the Custom key was left at 'None' on Hotkey+North for example, then it defaulted to 'Open GUI'. If you changed it to something different then it overided it. I commented on it before because it was a good idea, again, I don't know why you changed it. Oh well.

I agree too, that nothing should be hard coded and not modifiable by the user

@Voljega - please tell me what is hardcoded?

There seems to be a misunderstanding here that you guys think that taking something from a separate controller cfg file is the same as hardcoding something.

Hardcoding would mean there was a line in the code that forced the use of a specific key. This doesn’t happen. (Although it used to)

You have the freedom now to create a controller layout that works in whatever way you want.

It might be worth you guys doing some reading up on what the retroarch controller files contain and how to use them.

@blinkydoos
Using the old method the default had to always be HotKey+north. Even if you did not have a North button... therefore potentially useless to some users, so although this situation may have suited your own setup , it was incomplete.

Now you can have HotKey+anything ... which is defined within your retroarch Config file, by the line input_menu_toggle_btn ... in your setup, you must currently have this set to the same button number as “north” . It is “greyed out” because you have effectively already custom-mapped it via the Config file and therefore cannot do this twice.as I have said 3 Times now I will be added an option to not read this in as well, but it is kind of tiring to be having to justify something that is

  • a - incomplete
  • b - using an existing standard
  • c - additional function that did not exist previously

You can very easily have this value set to nothing, and remap this button. If you want to do this on Amiberry alone, you create a specific controller file for Amiberry alone.

This is one of the reason we give you a controllers path... more flexibility. Libretro cores will use specific path for this - we allow you to change it to whatever you want.. Again: far more flexible than we ever had on Amiberry previously, and still more flexible than the version a few commits previously.

This is why it has changed.

You did not answer previously what you do with other retroarch emulators. MAME for example uses HotKey+menu key which it will get from you retroarch controller Config file.

Below is an example of a retroarch controller cfg file which is being read , and you can see the use of menu/ reset and quit buttons.

There is nothing to stop you changing these on your setup, but please do not call this hard coding because it is anything but!!!

I hope this helps ease any concerns here guys.

I do appreciate feedback, but please keep in mind that this stuff is not documented yet and we are trying to take on board as many different use cases as possible and would not be adding it if we didn’t not think there was an improvement to be gained.

input_device = "USB gamepad " input_driver = "udev" input_r_btn = "5" input_save_state_btn = "5" input_start_btn = "9" input_exit_emulator_btn = "9" input_l_btn = "4" input_load_state_btn = "4" input_up_axis = "-1" input_a_btn = "1" input_b_btn = "2" input_reset_btn = "2" input_down_axis = "+1" input_right_axis = "+0" input_state_slot_increase_axis = "+0" input_x_btn = "0" input_menu_toggle_btn = "0" input_select_btn = "8" input_enable_hotkey_btn = "8" input_y_btn = "3" input_left_axis = "-0" input_state_slot_decrease_axis = "-0"

Sorry my mistake then, I was talking about the greyed out part but it seems I misunderstood.
Thank you for the example of the retroarch conf file it is much clearer now ! And for your work and explanations off course

Will you do a full documentation about the new controller conf when it is merged ?

It seems I (or someone) will have to do some documentation!! (No doubt, with screenshots)

For my part i read all your message and it is clear you only use the Retroarch key config, but we can use what we want. It is our choice. Ad it is perfect like this, i love your work.
I don't have time to make more test this week, but i will, i must make for my children's a good AMIGA game pack, i will must configure many games for control, and switch the UP key with the B button for jump etc ... I really stand you give us a solution to save settings we made in the menu, it easier to use for me. Now i think i have also understand for the mouse control and different Analogic pad using. I must make some try. Thanks

People, may I remind you that the stuff you're referring to above is in a development version, i.e. not yet ready for release? :)
Things need to be improved, bugs need to be fixed, maybe documentation or presets need to be prepared, before this is published.

Please try to keep that in mind (in other words, we know stuff is not ready yet!)

@blinkydoos @Voljega I have added the option to switch off the use of RetroArch Menu/Quit/Reset buttons. Hopefully this covers the need identified above.

This is currently in the MISC panel, but will be probably moved to the INPUT panel when i am able to tidy that up. (The quit/menu 'keys' should also be moved)

The _default_ behaviour is to have 'Quit' and 'Menu' used, but 'Reset' not. These settings are saved with your .uae config file.

Switching off these options then allows you to remap the button to another custom action in the CUSTOM panel. You can still set the 'Enter GUI' and 'Quit Emulator' options in the custom drop-down for another key also, or you can set up (as before) an alternative button using the RetroArch .cfg file.

Enjoy.

Gentlemen, I believe we can close this one then?
Let me know if I've missed something and we'll re-open it.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

BrianGilbert picture BrianGilbert  Â·  9Comments

Fourdee picture Fourdee  Â·  4Comments

LimeyGeeza picture LimeyGeeza  Â·  5Comments

tenleftfingers picture tenleftfingers  Â·  8Comments

Gerbinist picture Gerbinist  Â·  8Comments