libretro / libretro-cap32

caprice32 4.2.0 libretro
21 stars 34 forks source link

Impossible to remap joystick + keyboard #63

Closed nportillo2 closed 5 years ago

nportillo2 commented 5 years ago

I'm trying to remap games so you don't have to plug a real keyboard on a bartop machine. Just select and play; some games are ready to play with joystick but need some keys to be pressed before (to start game o pass some menus before the main menu) Sometimes game needs to just press Space bar to bypass a demo before the game but...

Last version 4.5 4e7a1a4 only allows you to configure Joystick OR keyboard. Not both. In 1943 game you need "1" key to start, and then you need the joystick to play.

On libretto recap32 4.2 version you could choose keyboard and leave UP/DOWN/LEFT/RIGHT without in blank (--- mark) and it worked as joystick, fire included and also asign a key "Left Shift" (used to flip the plane) to B button gamepad and "1" key to start button. That was great.

Now you can't use both, so many games are not blayable without using a keyboard too.

I don't know if this is a issue or I am asking for a new request. It would be great to add to keyboard options something like "Joystick UP", "Joystick down" etc so you could use both if a game needs them.

Thank you in advance.

DSkywalk commented 5 years ago

Remember in 4.5 you have some combos like SELECT+LEFT to press 1,Y Please check our new documentation: https://docs.libretro.com/library/caprice32/#joy-config-default-joystick

I created a new joystick configuration called "simple" (or maybe I could change to legacy), is a simple joystick mode (just directions and fire1/2) that allows your remap combo. imagen

But my commit is not ready yet, I need to finish another feature ;-)

Thanks!

nportillo2 commented 5 years ago

The problem is not every game starts with 1, some even don't show you the key to start so you should have to write down each game combination because you can not use joystick and remap a few keys other than space, Y o 1.

¿Wouldn't be great a complete keyboard&joystick mapping option?

So no need to use keyboard and just select the game and press start and play on every game, no matter the key used to jump, start or whatever, like a console.

It's a pity because I achieved it with 4.2 version :(

DSkywalk commented 5 years ago

please test the new changes, for me it works great :+1:

-- El último mensaje no lo entendí bien, me lo puedes escribir en español si quieres.

nportillo2 commented 5 years ago

En la versión 4.2 se podía mapear cualquier tecla a cualquier botón del joystick y si no especificadas nada para las direcciones funcionaban como joystick.

Así era posible cargar un disco y sin usar teclado jugar una partida. Se definía "1" en el botón start, direcciones y A en blanco y en B se definía "left shift" para voltear el avión en el caso del 1943.

Sin embargo por mucho que se quiera ahora es imposible jugar sin teclado ya que si elijes definir teclas para poder mapear B a left shift Te quedas sin movimiento del avión ya que no funciona como joystick sino como teclas de dirección del teclado amstrad.

Por eso lo que pido es que en la rueda de selección para mapear teclas del teclado amstrad se añadan además las direcciones arriba, abajo, izq, derecha y disparó del joystick.

Así cualquier juego sencillo podría jugarse aunque tuviera teclas poco comunes o de apoyo y además hubiera que jugar con joustick sintener que conectar un teclado físico.

Es una pena porque con el sistema de mapeado anterior (4.2) pude configurar 200 juegos de Amstrad para la bartop que para los niños funcionaba como si fueran juegos de consola: elegían el juego, esperaban la carga y fuera el juego que fuera con start se empezaba y con el joystick se movían y con los botones a,b,x e y se disparaba/saltaba/cogía objetos... Lo que fuera sin usar teclado. Ahora es imposible en muchos juegos.

DSkywalk commented 5 years ago

Con la nueva versión tienes eso de nuevo, pruébala :+1:

Tienes que en opciones usar la config de "joystick" y puedes usar los mismos ficheros remap de antes (sin necesidad de configurar joys en el remap). Si te da algún problema vuelve a abrir la issue. Yo con mis pruebas me ha funcionado todo igual que en la vieja 4.2, pero si no te va sube los ficheros y los pruebo.

Saludos!

--

Please update your core, is already implemented ;-)

nportillo2 commented 5 years ago

Muchísimas gracias! De nuevo funciona, pero aún queda algún daño colateral, supongo que relacionado con loas cambios que estás haciendo: no funciona el remapeado de la tecla back.

Aquí te paso 1943.rmp de nuevo:

input_libretro_device_p1 = "259" input_libretro_device_p2 = "259" input_libretro_device_p3 = "0" input_libretro_device_p4 = "1" input_libretro_device_p5 = "1" input_player1_analog_dpad_mode = "1" input_player1_key_b = "304" input_player1_key_select = "32" input_player1_key_start = "49" input_player1_key_x = "110" input_player1_key_y = "121" input_player2_analog_dpad_mode = "0" input_player3_analog_dpad_mode = "0" input_player4_analog_dpad_mode = "0" input_player5_analog_dpad_mode = "0"

"Back" está remapeado a Space para poder pasar la típica pantalla de entrada pero no hace ningún efecto. Ya sé que por defecto la tecla space está remapeada por defecto en otro botón, pero es que las bartop siempre tienen back, start, ABXY usados para las consolas/arcade. Más botones ya es opcional, pero esos siempre están.

Si quieres que te pase los remapeados de los juegos de amstrad y unos 500 de spectrum avisa.

DSkywalk commented 5 years ago

Siento comentarte que SELECT no se puede mapear por que se usa para los combos de carga y teclado en pantalla. Espero que igualmente los otros cambios te hayan ayudado. Muchas gracias por el ofrecimiento :)

nportillo2 commented 5 years ago

Deberíais quitar pues la posibilidad de mapeado, quizás indicar "reserved" o algo asi. Gracias a ti por tu ayuda y este emulador tan genial. Un saludo!

DSkywalk commented 5 years ago

saludos @nportillo2 después del proximo commit podrás de nuevo mapear el botón SELECT, si deshabilitas el combo key :+1:

imagen