English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   project.GameBase Amiga (https://eab.abime.net/forumdisplay.php?f=76)
-   -   How to redefine a new Keyboard Layout in WinUAE for use in GameBase Amiga? (https://eab.abime.net/showthread.php?t=47605)

Port_H 22 September 2009 01:49

How to redefine a new Keyboard Layout in WinUAE for use in GameBase Amiga?
 
Since I started using Gamebase Amiga approx. one year ago, I never played nor I want to play again any Amiga game without using it. To me, its main advantage (if I understand it correctly) is that it configures automatically WinUAE settings accordingly to the game selected, I only have to choose the game from the list and hit the "Play game" button. However, I haven't checked updates for it nor I updated the Games Database for it since I first installed it, I don't know if there's any new version(s).

I started a thread in the prb.Games forum because of a few problems I found in the game Shadow Fighter (AGA). One user in that thread suggested that I might have some keyboard jamming/ghosting between cursor down, cursor left and right control. In order to confirm that problem, I used the program 'Keythis' he linked to, and verified that the program doesn't register "[Down] + [left] + [R Ctrl]" when I press simultaneously in that order those 3 keys! But it register "[Down] + [right] + [R Ctrl]" when I press the correspondent combination. lilalurl told me here that I could define my own keyboard layout in Winuae, in Host/Input and in the first dropdown list, selecting config#X, keyboard in the second dropdown list and then defining the input target for each 'source' key. As I wanted that to work with Gamebase settings, I loaded in WinUAE the GameBase Amiga.uae configuration file which is located in C:\Programas\GameBase\GameBase Amiga, went to Host>Input, selected Configuration #1 in the first dropdown list, and Keyboard* in the second dropdown list and then defined for each 'Input source' of Keyboard layout B (Cursor keys, Right CTRL = Fire), the 'Input target' I wanted, hoping to "redefine keys". In other words, I changed Up arrow, Down arrow, Left arrow, Right arrow, Right CTRL in the 'Input source' column to the keys Numpad 8, Numpad 5, Numpad 4, Numpad 6, Numpad 0 in the 'Input target' column. Then, saved the configuration file in the same location and launched Shadow Fighter (AGA) with GameBase Amiga. However, to my disappointment, when the game started, the keyboard stopped responding at all: neither the original keys in the Keyboard layout B (Cursor keys, Right CTRL = Fire), nor the new keys I defined to replace them responded.
Then, I tried to do the same thing, but this time, I loaded the WHDLoad.uae configuration file which is located in C:\Programas\GameBase\GameBase Amiga, selected the same as I did before in the first and second dropdown lists. This time, I tried to change the keys in the Keyboard layout C (W=Up S=Down A=Left D=Right, Left Alt = Fire), changing W, S, A, D in the 'Input source' column to the keys Q, A, E, R in the 'Input target' column. Saved the configuration file, and launched WHDload (Unregistered) version of Shadow Fighter (AGA) with GameBase Amiga. The disappointing result was the same as before: the keyboard didn't respond, it only responds if I then go to WinUAE (press F12), go to Host/Input, and change the first dropdown box from Configuration #1 back to Compatibility mode.

I must be doing something wrong. Anyone can help me on this? Apart from the keyboard jamming/ghosting problem, I would love to be able to play any game using my own customized keyboard layout. This is especially true in games like Shadow Fighter (AGA), in which the player has to perform a series of quick keyboard combinations in a certain order to produce a certain move. Of course, this question doesn't matter at all to those who play with Joystick, but so far I only played Amiga games in WinUAE using the keyboard, I only have a keyboard and a mouse, and never had a Joystick.

AAG 26 September 2009 13:11

Hi

The "GameBase Amiga.uae" you mentioned gets "altered" by the Gemus Scripts / emulator settings you use to play a game - eg when you right click on Play Game - a list appears. Left click on play game and the 1st emaultor in the list is used - I think (unless to play the game via the "extras" option).

The GEMUS scripts/configs are listed in ".\GameBase\GameBase Amiga\Scripts\".

I can't test any of this - but I suggest that you revert any changes to "GameBase Amiga.uae" back to the original version. Also take a copy at this point.

Then lauch your game as per normal - and make your key changes and save it.

Then compare that to the copy you made earlier.

Hopefully you'll see what the differences are - and then hopefully you;ll be able to see a section in the script that you used which relates to it. Looking at the scripts for "GameBase Amiga A.txt" and "GameBase Amiga B.txt" - the difference are around

Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||kbd2)

Maybe you'd need to make a new script (by copying 1 and renaming it). Theres some help on the gemus commands shipped with gamebase in ".\GameBase\Docs"

Hope that might provide some help?

AAG

PS I beleive that the WHDL games use a single "WHDLoad.uae" file - so any changes saved to this should perists for all whdl games?

Port_H 09 October 2009 20:35

Can't make my changes to work when I launch the game from WinUAE directly, without GB
 
I haven't thought that I would have to edit a script to customize keyboard layout in GameBase Amiga, unfortunately I know nothing about scripting, I don't have the know-how. Nevertheless, I believe that apart from making my changes permanent in GameBase Amiga (which you say involves scripting), it seems that I'm not able to make my changes in Host>Input tab of WinUAE to work out regardless of using or not GameBase Amiga.

In more detail:
I launched the game (with GameBase Amiga), pressed F12, went to Host>Input tab of WinUAE, selected Configuration #1 in the first dropdown list, and Keyboard* in the second dropdown list, changed the Input target for the keys arrow Up, arrow Down, arrow Left, arrow Right, Right CTRL to map those to customized keys of my preference (I selected keys from keypad: Numpad 4, Numpad 1, Numpad 5, Numpad 6, Numpad 0 respectively), pressed the Restart button on the bottom of WinUAE window, and finally pressed the Start button on the bottom of WinUAE window to relaunch game without GameBase.
The result is that the game doesn't respond to keyboard: for instance, neither it responds to Right CTRL nor it responds to Numpad 0 as the Fire key.
Note that in WinUAE, Host>Game Ports, the Keyboard Layout selected in Port 1 is Keyboard layout B (Cursor keys, Right CTRL and ALT = Fire).

Given all this, my conclusion is that I cannot define my own keyboard layout in Winuae, regardless of using or not GameBase Amiga to launch the game. This time, the game I tested was Fightin' Spirit (Floppy disks images), but I had already tested this with Shadow Fighter with the same disappointing result.

I must be missing something or doing something wrong. Anyone can help? I would love to be able to play any game using my own customized keyboard layout.

eLowar 09 October 2009 21:48

Quote:

Originally Posted by AAG (Post 598363)
PS I beleive that the WHDL games use a single "WHDLoad.uae" file - so any changes saved to this should perists for all whdl games?

That is correct, changing that file should be sufficient (so long as you want the same settings for all games). GBA only overrides the settings actually relevant to successfully running the game (CPU, memory, etc.).

Simply load the file with WinUAE, make your changes, and hen save it back to the same location.

I can't comment on the general problems right now, but maybe someone else can help (or maybe I can get back to you later).

Port_H 11 October 2009 04:05

I sent a PM to lilalurl asking for his help. Here's an excerpt of his reply:
Quote:

Originally Posted by lilalurl
(...)As for your issue, from what I read (supposing that gamebase does not interfere in any way, which is very likely):

1) you should be able to have the changes in Host/Input take effect immediately.
In other words, once you have made the changes, you just have to return to the game and the changes should work (no need to restart etc....)

2) Keyboard layout A, B, C are overridden by your custom key config., unless "compatibility mode" is chosen.

3) I believe, from what you wrote, that what you are doing wrong is mixing things up.


Input source refers to the keys on your keyboard (the one you want to press/use) while Input target refers to the keys/joystick buttons you want to emulate.

For instance, although you don't see that directly, when you use keyboard layout B, the Input source "cursor key right" is translated as the Input target "joy 2 right" (as in joystick in the port number 2, the one that is usually used by default in Amiga games, in the right direction).

So what you will have to do is find the keys you want to use in the Input Source column and then attribute what you want the keys to do.
Supposing you want to remap space to fire, you will select space in Source and then attribute it in Target "Joy 2 Fire".


If this solves your issue, say so in the thread so that people spend time answer an issue that is solved

Thank you once again, lilalurl! That was it, you explained it clearly enough. :cool Now I finally understand what I was doing wrong:

1. I mistakenly swapped Input source and Input target :In input target I placed the keys I wanted to press/use, rather than the keys/joystick buttons I wanted to emulate.

2. As I had Keyboard Layout B selected in Host>Game Ports, I erroneously tried to emulate the keys of Keyboard Layout B (Cursor keys, Right CTRL = Fire), trying to map each of those to a different key, while I should have emulated joystick buttons instead. In other words, I should have searched in the Input source column each of the keys I wanted to press/use on my keyboard, and for each of them replace the correspondent Input target by Joy 2 Up, Joy 2 Down, Joy 2 Left, Joy 2 Right, or Joy 2 Fire (from my testing it seems that Joy 1 Up, Joy 1 Down, ... , Joy 1 Fire must be used instead to control Player 2 when the game is in 2 Player mode ?)

Furthermore, IIUC what eLowar said, I suppose that if I want to make those Input changes permanent in GameBase Amiga, I only have to load 'WHDLoad.uae' and/or 'GameBase Amiga.uae' in WinUAE, make the desired changes in Host>Input and save those files back to the same location, and I don't have to edit any scripts?

eLowar 11 October 2009 04:06

Quote:

Originally Posted by Port_H (Post 603767)
Furthermore, IIUC what eLowar said, I suppose that if I want to make those Input changes permanent in GameBase Amiga, I only have to load 'WHDLoad.uae' and/or 'GameBase Amiga.uae' in WinUAE, make the desired changes in Host>Input and save those files back to the same location, and I don't have to edit any scripts?

Yeah, that should work, as far as I'm aware, nothing in the existing scripts touches those settings (so if you save them in there once, they should stay there).


All times are GMT +2. The time now is 12:54.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.08336 seconds with 11 queries