Displaying FOSE key bindings

Post » Fri May 04, 2012 5:08 am

Is there a way to display, either on screen or sent to a log file, the current key bindings for a selected or all active mods?

I'm running FO3 on a laptop and I have found that not all the keys match up to the expected scancodes. E.g. I tried to use the = key [DEC 13] as a key in a mod that displays my stats over the level barrier and it wouldn't bind. I could however change it to other keys.
Now I don't know if this is because of a conflict with an existing key binding (I can't find any reference to = in any readme for any of my mods) or a laptop quirk.

Any ideas?
Thanks in advance.
User avatar
sharon
 
Posts: 3449
Joined: Wed Nov 22, 2006 4:59 am

Post » Thu May 03, 2012 4:35 pm

I would think you could have a look at your FalloutPrefs.ini found with your Saves folder. Should be in "Mydocuments\MyGames\Fallout3

However since you mentioned FOSE , maybe there is something inside the Install directory with fose in the name. I dont have FOSE installed at the moment so cant really say.

Edit add: come to think of it , unless you know the 8 Digit code displayed per key? I guess that wont help.

Hmmm ... since its a Mod thing your talking about. I wonder if loading that file in the GECK would give you your info.
User avatar
Chris Jones
 
Posts: 3435
Joined: Wed May 09, 2007 3:11 am

Post » Fri May 04, 2012 6:34 am

No, not really what I'm after. The key bindings for some things aren't hard-coded in the mod but can be changed in-game. FWE for instance has a number of different settings that can bind keys for different setups. Unfortunately I don't know how or where they are stored.
User avatar
Roberto Gaeta
 
Posts: 3451
Joined: Tue Nov 06, 2007 2:23 am

Post » Thu May 03, 2012 8:16 pm

No, not really what I'm after. The key bindings for some things aren't hard-coded in the mod but can be changed in-game. FWE for instance has a number of different settings that can bind keys for different setups. Unfortunately I don't know how or where they are stored.

Yes exactly ... It would seem unless you understand the key map grid of 8 digit codes , there is no text document transforming it into the symbols for keys we understand as the user.

Except in game , so take a screen shot or write it down. If the keys were known when you binded them , then you as the user can remember them one way or another.
User avatar
Krystal Wilson
 
Posts: 3450
Joined: Wed Jan 17, 2007 9:40 am

Post » Thu May 03, 2012 10:06 pm

Hmm, it seems I either am not explaining myself clearly or I have completely lost the plot.
Lets look an example, though this is not the situation I found that started this thread, these steps are obviously stupid and the errors easy to see. I use this just to highlight the point.

1) Ambient Temperature has as its default the NUMPAD * as a hotkey.
2) An option that hotkey provides is setting a new hotkey, so lets change it to "G". However FWE has this set as its default Grenade key so...
3) Open the pipboy - select the FWE Config - Change Grenade hotkey back to "G". FWE also has feedback here saying which key was selected and it responds with "G".
4) Hit "G" expecting to throw a grenade and up comes the Ambient Temperature config menu.

Now I understand that in scripts keycodes are called using their Dec value, in this case "G" is Dec 34 or Hex 0x22. I also understand that in the save file that information is probably stored in some other manner. What I don't follow is how INGAME those values are stored. How can one mod correctly recognize a key change and store it for use, then another also recognize the same key, even giving feedback, but not have that keystroke stored for future use.
Also with FWE's grenade hotkey, without the error of another mod assigning it, I can easily change it to another key and it is stored for future use.

How does this work?
Where are these values stored?
User avatar
Yvonne
 
Posts: 3577
Joined: Sat Sep 23, 2006 3:05 am

Post » Thu May 03, 2012 6:43 pm

'Hotkeys' like this are really just a script 'remembering' a key that you hit when you 'set' it. The value for 'G' would be saved in a variable in one of these scripts. It's not in the save game anywhere else. So another mod is not going to be able to access your variable unless it mastered off of your mod.

There's IsControl/SetIsControl where you can flag that you have changed a control key, but as far as other buttons, I don't know of any. And nothing compels a mod author to even use SetIsControl to register a key if they don't want to - though if you change a control key, you should.

http://fose.silverlock.org/fose_command_doc.html#SetIsControl
http://fose.silverlock.org/fose_command_doc.html#IsControl
User avatar
Sami Blackburn
 
Posts: 3306
Joined: Tue Jun 20, 2006 7:56 am

Post » Thu May 03, 2012 7:52 pm

@RickerHK Thanks. What I'm trying to figure out is how these settings are stored because somehow they must be in order for the mod to read it after a new game is started.

Like this: start Fallout3 - load game - make a change to a hotkey - save game - quit - start Fallout3 - load game

and voila the hotkey is the same. It can't be a variable stored in memory as you have completely closed the game down.

What started me off on this was a small mod bundled with http://fallout3.nexusmods.com/downloads/file.php?id=8874 that checked your stats when the "\" key was pressed. Now on my Toshiba laptop that mod wouldn't recognize my "\" key but I could edit the mod to another, in this case the "F12".

I initially thought it was my keyboard as the "~" tilde key also wouldn't bring up the console but now I'm not so sure. I have run the 'keyview' utility mentioned on the http://cs.elderscrolls.com/index.php/IsKeyPressed2 page and even with the correct scancodes some hotkeys sometimes appear to be unavailable.

All I want to know is where these values are stored?

Thanks for the help so far.
User avatar
Kelvin Diaz
 
Posts: 3214
Joined: Mon May 14, 2007 5:16 pm

Post » Fri May 04, 2012 6:49 am

They are stored in the 8 digit keyboard map grid , usually inside of Ini files. however like RickerHK said , its inside of scripting.
So open up the GecK like I said , and look in scripting like he suggest the location..

It seems like your looking for an easy button on this? , But there isnt one unless you can think like the machine.
User avatar
Jessica Nash
 
Posts: 3424
Joined: Tue Dec 19, 2006 10:18 pm

Post » Fri May 04, 2012 12:41 am

Okay I'll try again.

I'm not looking for an easy fix or something from fairyland! :swear: .
All I want to know is how these variables, which can be changed ingame, can be stored ready for use the next time the game is started. I know where the scripts say what the initial value is. I can also figure out in the scripts how a keypress is assigned when I press a key.

I just cannot understand how they stay at what is set. Like you say Mktavish they are usually stored in *.ini files but there are no ini's for these mods and it is impossible to store any keypress I make in a script inside a mod.

Now I'm not trying to sound like I'm ranting or anything it's just frustration. I didn't want to ask the FOSE team directly, they've got better things to do I reckon, but it looks I might have to.
I think I'll search through the OBSE and NVSE forums as well.

Again, thanks guys.
User avatar
Louise Andrew
 
Posts: 3333
Joined: Mon Nov 27, 2006 8:01 am

Post » Thu May 03, 2012 6:27 pm

Okay I've had some sleep and a chance to chill out .

Clearly the savefile stores the keybindings that were existing only in memory during each game session. Where I don't know. What I can figure out though is when a saved game is loaded those keybindings are then returned to memory and accessed by the game's engine and/or scripts, either vanilla or modded.

In the FOSE documents I have learnt that the command "SetIsControl" is useful in setting user-defined hotkeys as essential and providing feedback if another mod tries to use that key. Thanks to RickerHK for that. Much appreciated.
I also believe, but I am not certain, that 'Menumode' hotkeys have precedence over 'Gamemode' ones. ie. when the pipboy is open the hotkey will work even if another mod uses it in gamemode.

Now all I need to figure out if it is possible for one mod to know which other mod set the specific key as a hotkey. So that if, eg. "P" is pressed feedback could be given along the lines of:

"You pressed "P" but 'ModA' already has assigned that key.
Please choose another"

What I'm trying to do here is see if mods can be made to work better together. If 'ModA' assigns "P" as its hotkey and 'ModB' also assigns "P" but has the ability to change it by ingame scripting.
What determines if 'ModA' gets precedence and thus removing the option to change 'ModB's hotkey?
Is it loadorder or how the script is called, either MenuMode or GameMode? Or both? Or neither?

All I'm trying to do is learn. Not being difficult or obtuse. This is how I do it, by asking questions.

Thanks now I' just going to have a little walk in the Wasteland, find a nice quite spot and stick a Mini-Nuke down my pants :confused: .
User avatar
pinar
 
Posts: 3453
Joined: Thu Apr 19, 2007 1:35 pm


Return to Fallout 3