InsanePlumber Posted November 16, 2015 Share Posted November 16, 2015 In Skyrim you can define any keyboard button using ControlMap.txt DirectX Scancodes (Data\Interface\Controls\PC\ControlMap.txt) For unknown reasons in F4 Beth did not give us such possibilities. Are you sure this is the case? As I'm insane and decided to dig in Fallout4.exe and INI files. Here's what I discovered. INI Files When you play "run" console and type [saveini] Gamebryo console commands This command will overwrite existing INI file (Fallout4.ini saved using this command) with all existing values in the game. And I found a curious entry: [MAIN] sControlsRemapFile=ControlMap_Custom.txt Here's what I found in Fallout4.exe (suspect that this ASCII) Forward 0xff 0xff 1 1 0 0x1 Back 0x53 0xff 0xff 1 1 0 0x1 StrafeLeft 0x41 0xff 0xff 1 1 0 0x1 StrafeRight 0x44 0xff 0xff 1 1 0 0x1 Move 0xff 0xff 0x000b 0 0 0 0x1 Look 0xff 0xa00 0x000c 0 0 0 0x2 PrimaryAttack 0xff 0x0 0x000a 1 1 1 0x40 SecondaryAttack 0xff 0x1 0x0009 1 1 1 0x40 Melee 0xa4 0xff 0x0200 1 1 1 0x40 Activate 0x45 0xff 0x1000 1 1 1 0x04 ReadyWeapon 0x52 0xff 0x4000 1 1 1 0x40 Pipboy 0x09 0xff 0x2000 1 1 1 0x108 TogglePOV 0x56 0x2 0x0020 1 1 1 0x20 ZoomIn 0xff 0x800 0xff 0 0 0 0x220 ZoomOut 0xff 0x900 0xff 0 0 0 0x220 Jump 0x20 0xff 0x8000 1 1 1 0x401 Sprint 0xa0 0xff 0x0040 1 1 1 0x1 VATS 0x51 0xff 0x0100 1 1 1 0x40 Sneak 0xa2 0xff 0x0080 1 1 1 0x81 Run 0x43 0xff 0xff 1 1 0 0x1 ToggleAlwaysRun 0x14 0xff 0xff 1 1 0 0x1 AutoMove 0x58 0xff 0xff 1 1 0 0x1 Quickkeys 0x46 0xff 0xff 1 0 0 0x8 QuickkeyUp 0xff 0xff 0x0001 0 0 0 0x8 QuickkeyDown 0xff 0xff 0x0002 0 0 0 0x8 QuickkeyLeft 0xff 0xff 0x0004 0 0 0 0x8 QuickkeyRight 0xff 0xff 0x0008 0 0 0 0x8 Quickkey1 0x31,0x61 0xff 0xff 0 0 0 0x8 Quickkey2 0x32,0x62 0xff 0xff 0 0 0 0x8 Quickkey3 0x33,0x63 0xff 0xff 0 0 0 0x8 Quickkey4 0x34,0x64 0xff 0xff 0 0 0 0x8 Quickkey5 0x35,0x65 0xff 0xff 0 0 0 0x8 Quickkey6 0x36,0x66 0xff 0xff 0 0 0 0x8 Quickkey7 0x37,0x67 0xff 0xff 0 0 0 0x8 Quickkey8 0x38,0x68 0xff 0xff 0 0 0 0x8 Quickkey9 0x39,0x69 0xff 0xff 0 0 0 0x8 Quickkey10 0x30,0x60 0xff 0xff 0 0 0 0x8 Quickkey11 0xbd,0x6d 0xff 0xff 0 0 0 0x8 Quickkey12 0xbb,0x6b 0xff 0xff 0 0 0 0x8 Quicksave 0x74 0xff 0xff 1 0 0 Quickload 0x78 0xff 0xff 1 0 0 Pause 0x1b 0xff 0x0010 1 1 1 0x8 Screenshot 0x2c 0xff 0xff 0 0 0 0x10 Console 0xc0 0xff 0xff 0 0 0 0x10 ConsoleToggles 0x2d 0xff 0xff 0 0 0 0x10 CameraPath 0x7b 0xff 0xff 0 0 0 QuickStats 0x4b 0xff 0xff 1 1 0 0x108 QuickInventory 0x49 0xff 0xff 1 1 0 0x108 QuickData 0x4a 0xff 0xff 1 1 0 0x108 QuickMap 0x4d 0xff 0xff 1 1 0 0x108 QuickRadio 0x4f 0xff 0xff 1 1 0 0x108 // Menu Mode Accept 0x0d 0xff 0x1000 0 0 0 0x8 Cancel 0x09 0xff 0x2000 0 0 0 0x8 Up 0x26 0xff 0x0001 0 0 0 0x8 Down 0x28 0xff 0x0002 0 0 0 0x8 Left 0x25 0xff 0x0004 0 0 0 0x8 Right 0x27 0xff 0x0008 0 0 0 0x8 LeftStick 0xff 0xff 0x000b 0 0 0 0x8 RightStick 0xff 0xff 0x000c 0 0 0 0x8 LTrigger 0xff 0xff 0x0009 0 0 0 0x8 RTrigger 0xff 0xff 0x000a 0 0 0 0x8 XButton 0x52 0xff 0x4000 0 0 0 0x8 YButton 0x54 0xff 0x8000 0 0 0 0x8 LShoulder 0x43 0xff 0x0100 0 0 0 0x8 RShoulder 0x51 0xff 0x0200 0 0 0 0x8 Select 0x56 0x1 0x0020 0 0 0 0x8 L3 0x5A 0xff 0x0040 0 0 0 0x8 R3 0x58 0xff 0x0080 0 0 0 0x8 Cursor 0xff 0xa00 0x000c 0 0 0 0x10 Click 0xff 0x0 0x1000 0 0 0 0x10 Cursor 0xff 0xa00 0x000b 0 0 0 0x10 Click 0xff 0x0 0x1000 0 0 0 0x10 PickPrevious 0xff 0x800 0x0002 0 0 0 0x10 PickNext 0xff 0x900 0x0001 0 0 0 0x10 Up 0x26 0xff 0xff 0 0 0 0x10 Down 0x28 0xff 0xff 0 0 0 0x10 PageUp 0x21 0xff 0xff 0 0 0 0x10 PageDown 0x22 0xff 0xff 0 0 0 0x10 NextFocus 0x09 0xff 0x0200 0 0 0 0x10 PreviousFocus 0xff 0xff 0x0100 0 0 0 0x10 PrevPage 0x26 0xff 0xff 0 0 0 0x10 NextPage 0x28 0xff 0xff 0 0 0 0x10 PrevSubPage 0x21 0xff 0xff 0 0 0 0x10 NextSubPage 0x22 0xff 0xff 0 0 0 0x10 PrevPage 0xff 0x0,0x900 0x0009,0x0100 0 0 0 0x8 NextPage 0xff 0x1,0x800 0x000a,0x0200 0 0 0 0x8 Console 0xc0 0xff 0xff 0 0 0 0x10 NextFocus 0x09 0xff 0x0200 0 0 0 0x10 PreviousFocus 0xff 0xff 0x0100 0 0 0 0x10 Up 0x26 0xff 0x0001 0 0 0 0x10 Down 0x28 0xff 0x0002 0 0 0 0x10 Left 0x25 0xff 0x0004 0 0 0 0x10 Right 0x27 0xff 0x0008 0 0 0 0x10 PageUp 0x21 0xff 0xff 0 0 0 0x10 PageDown 0x22 0xff 0xff 0 0 0 0x10 ToggleMinimize 0x74 0xff 0x0020 0 0 0 0x10 ToggleMove 0x73 0xff 0x0080 0 0 0 0x10 Close 0x75 0xff 0xff 0 0 0 0x10 F1 0x70 0xff 0xff 0 0 0 0x10 F2 0x71 0xff 0xff 0 0 0 0x10 F3 0x72 0xff 0xff 0 0 0 0x10 F7 0x76 0xff 0xff 0 0 0 0x10 F8 0x77 0xff 0xff 0 0 0 0x10 F9 0x78 0xff 0xff 0 0 0 0x10 F10 0x79 0xff 0xff 0 0 0 0x10 F11 0x7a 0xff 0xff 0 0 0 0x10 F12 0x7b 0xff 0xff 0 0 0 0x10 LTrigger 0xff 0xff 0x0009 0 0 0 0x10 RTrigger 0xff 0xff 0x000a 0 0 0 0x10 Backspace 0x08 0xff 0xff 0 0 0 0x10 Enter 0x0d 0xff 0xff 0 0 0 0x10 B 0xff 0xff 0x2000 0 0 0 0x10 Y 0xff 0xff 0x8000 0 0 0 0x10 X 0xff 0xff 0x4000 0 0 0 0x10 CameraZUp 0xff 0x800 0x000a 0 0 0 CameraZDown 0xff 0x900 0x0009 0 0 0 WorldZUp 0xff 0x0 0x0200 0 0 0 WorldZDown 0xff 0x1 0x0100 0 0 0 LockToZPlane 0xff 0xff 0x4000 0 0 0 Look 0xff 0xff 0x000c 0 0 0 0x8 ZoomIn 0xff 0x800 0x000a 0 0 0 0x8 ZoomOut 0xff 0x900 0x0009 0 0 0 0x8 Move 0xff 0xa 0x000b 0 0 0 0x8 RotatePick 0xff 0xa00 0x000b 0 0 0 0x8 RotateLock 0x57,0x53,0x41,0x44 0xff 0x000c 0 0 0 0x8 DebugMode 0xbf 0xff 0x4000 0 0 0 0x8 Cancel 0x1b 0xff 0x2000 0 0 0 0x8 Pick 0x51 0xff 0x000a 0 0 0 0x8 Accept 0x45 0xff 0x1000 0 0 0 0x8 Cancel 0x09,0x42 0x1 0x2000,0x0100 0 0 0 0x8 ChangePart 0xff 0xff 0x000b 0 0 0 0x8 NextTarget 0x44 0xff 0xff 0 0 0 0x8 PrevTarget 0x41 0xff 0xff 0 0 0 0x8 NextPart 0x57 0x800 0xff 0 0 0 0x8 PrevPart 0x53 0x900 0xff 0 0 0 0x8 ZoomIn 0x56 0x2 0x0009 0 0 0 0x8 Cancel 0x09,0x42 0x1 0x2000,0x0100 0 0 0 0x8 ApplyCritical 0x20 0xff 0x4000 0 0 0 0x8 MultiActivateA 0x28,0x34 0xff 0x1000 0 0 0 0x8 MultiActivateB 0x27,0x33 0xff 0x2000 0 0 0 0x8 MultiActivateX 0x25,0x32 0xff 0x4000 0 0 0 0x8 MultiActivateY 0x26,0x31 0xff 0x8000 0 0 0 0x8 Accept 0x45 0xff 0x1000 0 0 0 0x8 Cancel 0x09 0xff 0x2000 0 0 0 0x8 Up 0x26 0xff 0x0001 0 0 0 0x8 Down 0x28 0xff 0x0002 0 0 0 0x8 Left 0x25 0xff 0x0004 0 0 0 0x8 Right 0x27 0xff 0x0008 0 0 0 0x8 LTrigger 0x46 0x0 0x0009 0 0 0 0x8 RTrigger 0x47 0x1 0x000a 0 0 0 0x8 XButton 0x52 0xff 0x4000 0 0 0 0x8 LShoulder 0x5a 0xff 0x0100 0 0 0 0x8 RShoulder 0x51 0xff 0x0200 0 0 0 0x8 CloseMenu 0x1b 0xff 0x0020 0 0 0 0x8 AlternateControlsKey 0xa0 0xff 0x0200 0 0 0 0x8 Steady 0xa4 0xff 0x0040 0 0 0 0x41 StartWait 0x54 0xff 0x8000 0 0 0 0x8 Done 0x0d 0xff 0x0010 0 0 0 0x8 Cancel 0x1b 0xff 0xffff 0 0 0 0x8 KeyLeft 0x41,0x25 0xff 0xffff 0 0 0 0x8 KeyRight 0x44,0x27 0xff 0xffff 0 0 0 0x8 KeyDown 0x53,0x28 0xff 0xffff 0 0 0 0x8 KeyUp 0x57,0x26 0xff 0xffff 0 0 0 0x8 Space 0x20 0xff 0xffff 0 0 0 0x8 B 0x42 0xff 0xffff 0 0 0 0x8 C 0x43 0xff 0xffff 0 0 0 0x8 Accept 0x45 0xff 0xffff 0 0 0 0x8 F 0x46 0xff 0xffff 0 0 0 0x8 R 0x52 0xff 0xffff 0 0 0 0x8 T 0x54 0xff 0xffff 0 0 0 0x8 X 0x58 0xff 0xffff 0 0 0 0x8 Y 0x59 0xff 0xffff 0 0 0 0x8 YButton 0x20 0xff 0x8000 0 0 0 0x8 Up 0x57 0xff 0x0001 0 0 0 0x8 Down 0x53 0xff 0x0002 0 0 0 0x8 Left 0x41 0xff 0x0004 0 0 0 0x8 Right 0x44 0xff 0x0008 0 0 0 0x8 DeleteSave 0x58 0xff 0x4000 0 0 0 0x8 ResetToDefault 0x54 0xff 0x8000 0 0 0 0x8 Accept 0x0d 0xff 0xff 0 0 0 0x10 Cancel 0x1b 0xff 0xff 0 0 0 0x10 ZoomOut 0xff 0x900 0x0009 0 0 0 0x8 ZoomIn 0xff 0x800 0x000a 0 0 0 0x8 PrevPerk 0xa2,0xa3 0xff 0x0100 0 0 0 0x8 NextPerk 0xa4,0xa5 0xff 0x0200 0 0 0 0x8 DeleteSave 0x58 0xff 0x4000 0 0 0 0x8 Start 0x1b 0xff 0x0010 0 0 0 0x8 QuickContainerUp 0xff 0x800 0x0001 0 0 0 0xC QuickContainerDown 0xff 0x900 0x0002 0 0 0 0xC QCTakeItem 0x45 0xff 0x1000 0 0 0 0xC QCOpenTransferMenu 0x52 0xff 0x4000 0 0 0 0xC SpecialActivate !Activate 0xff !Activate 0 0 0 0xC SecondaryActivate !ReadyWeapon 0xff !ReadyWeapon 0 0 0 0xC QuickContainerPerk 0x20 0xff 0x8000 0 0 0 0xC Land 0x45 0xff 0x1000 0 0 0 0x04 BailOut 0x20 0xff 0x8000 0 0 0 0x401 Start 0x1b 0xff 0x0010 0 0 0 0x8 The problems is: - do not know where to put ControlMap_Custom.txt to act as I assumed. - suspect that the contents of ControlMap_Custom.txt I created may contain errors If anyone has any suggestions... Please share with me what do you think? Link to comment Share on other sites More sharing options...
Kesta Posted November 16, 2015 Share Posted November 16, 2015 Please share with me what do you think? I think this is EXTREMLY interesting and worth investigating for some times Lot of users (or rather, every user with non QWERTY keyboards) have a lot of issues with keymapping. This could be a solution. However this could also just be a way to handle cross-platform controls. Note that I've also found some GMST indicating that there could be some kind of support for xbox camera and the like. Edit : Did you try to rename your own ControlMap_Custom.txt into ControlMap.txt and put it in Data\Interface\Controls\PC\ (with the proper INTERFACE\ added to fallout4.ini under sResourceDataDirsFinal), so it'd overwrite the original file like with any other ressource ? Link to comment Share on other sites More sharing options...
InsanePlumber Posted November 16, 2015 Author Share Posted November 16, 2015 Until Thursday I am away from home and I only have with me a laptop that does not run the F4 so I have not tested.For now poking at the game files and analyze themWhen I get home I'll try assigning full path to the file like [MAIN] sControlsRemapFile=C:\Program Files\Steam\SteamApps\common\Fallout 4\Data\Interface\Controls\PC\ControlMap_Custom.txt It works with screenshots It may work in this case. Link to comment Share on other sites More sharing options...
Arthmoor Posted November 16, 2015 Share Posted November 16, 2015 Keymapping even on qwerty keyboards is flaky at best. Anything that can make the process of changing this stuff easier is welcome. Link to comment Share on other sites More sharing options...
garthand Posted November 16, 2015 Share Posted November 16, 2015 Super excited about anything that could unlock game's keybinds. It's just too frustrating for me to play until this is resolved (I'm hopeful either Bethesda or a modder will figure this out) Those entries look like hex? I wonder if they translate to anything we could identify? Link to comment Share on other sites More sharing options...
Mael Posted November 17, 2015 Share Posted November 17, 2015 Reverse engineer it. We, for instance, know what the default keys for movement are, so see what numbers those correspond to and if it follows a simple incremental pattern, you should be able to figure out at least all of the letter keys. All of the non-letter keys are already on there. Link to comment Share on other sites More sharing options...
InsanePlumber Posted November 22, 2015 Author Share Posted November 22, 2015 Problem solved thanks to F4SE Team. F4SE 0.1.0 0.1.0:- everything- plugin manager- simple hooks for papyrus, scaleform, and the classic script system, but nothing useful for modders yet- customization of internal keymappings Copy CustomControlMap.txt to Data\F4SE\CustomControlMap.txt. Edit that file to set your bindings. The format is the same as Skyrim, it's a space-separated file. The first column is the name of the internal keybind. The second column is the keyboard scan code that should activate the bind in hex, or 0xFF if unbound. Use google to find a table of scan codes. The third column is for mice, the fourth for controllers. The next three columns control whether or not a control should be written to the user's config file. The final column specifies which input layer the bind is associated with - you will probably not want to change that.- currently-installed version of F4SE is shown in the Settings menu next to the game version- running GetF4SEVersion from the console will print the current version as well- log spam is written to My Documents\My Games\Fallout4\F4SE\ Link to comment Share on other sites More sharing options...
Arthmoor Posted November 22, 2015 Share Posted November 22, 2015 Heh, "log spam", do they mean their own logs? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now