If you're a lefty like me, you're probably annoyed that you can't rebind anything to the numberpad. I've sorted out a fix using Auto Hotkey, so I thought I'd post it here to help anyone else in the same boat.
This is also useful for others who use non-default key bindings, since some actions like looting are hardcoded (to E in this case) and don't properly change with your new binds.
First thing, download and install http://www.autohotkey.com/.
With that done, right-click on your desktop and in the context menu, click New>Auto Hotkey script.
It will create a notepad document with a few lines of code at the top. Below those lines, paste in the lines of text that I've posted below. I've mapped movement to 8456, E and Q to 7 and 9, etc. I've kept everything default in the in-game key bindings, except Toggle Always Run. I changed that to Z instead of CapsLock so I wasn't always putting my keyboard in CAPSLOCK mode.
IMPORTANT: I've had to add a space between the : and the 'd' in the mapping for Numpad6 so the forum doesn't convert it to a smiley. Take out the extra space before you save your file.
I've also mapped for both NumLock on and NumLock off states, but you don't have to do that if you always keep NumLock turned on.
You can change the mapping to whatever you like using the format shown. I like to use the down arrow for Jump and the right arrow for Crouch, because that's where my thumb rests. That may be a problem down the road for settlement building if it depends on using the arrow keys. Dialogue uses the arrows, but you can also click with the mouse, so that hasn't been an issue for me.
EDIT: The settlements crafting menu does indeed need the arrow keys, so remapping them with AHK is no good. They can, however, be mapped in-game without impacting the crafting menu, so I've done that and taken them out of my script. Also, NumpadEnter can be mapped in-game, so I've taken that out of my script too. I still use it for Sprint, but now I can hopefully also use it when an interaction wants me to press Enter.
Once you're done, save the file, and run it before playing (double-click it, or right-click and select Run Script). You may need to run it as administrator. I just leave it on my desktop near the Fallout 4 shortcut so I don't forget about it. You can right-click the AHK icon in the taskbar and exit to end the script after you finish playing.
Anyway, here's the text for my remapped keys:
;Movement
Numpad8::w
NumpadUp::w
Numpad4::a
NumpadLeft::a
Numpad5::s
NumpadClear::s
Numpad6:: d
NumpadRight:: d
;take the space out before the d--stupid auto-smileys
;Run
NumpadDot::c
NumpadDel::c
;ToggleAlwaysRun-I remapped in game from capslock to Z
;this means I have a key handy for the menus that call for Z
Numpad3::z
NumpadPgDn::z
;AutoMove
NumpadDiv::x
;Bash
NumpadAdd::LAlt
;PIPboy
Numpad0::tab
NumpadIns::tab
;Interact
Numpad7::e
NumpadHome::e
;VATS
Numpad9::q
NumpadPgUp::q
;Reload
Numpad1::r
NumpadEnd::r
;Favorites
Numpad2::f
NumpadDown::f
;Menu functions
NumpadMult::t
NumpadSub::v
EDIT:
Since this may be more of a long-term fix than I had hoped, I've added a few things to streamline my process. I've added the following lines to my script after the initial lines that autogenerate when you create a new script:
#MaxHotkeysPerInterval 10000
#UseHook
These may or may not help with performance if you're having any issues with Auto Hotkey.
Run, C:\Games\Steam\steamapps\common\Fallout 4\Fallout4.exe
#IfWinActive, ahk_class Fallout4
This causes the script to launch Fallout 4 when I run it, and it also only functions when Fallout 4 is running. I've put a shortcut to the script file on the desktop, and changed the shortcut icon to the Fallout 4 icon. Now, I just use that shortcut instead of the Steam-generated one, and launch my AHK script and the game together.
Obviously, adjust the path as necessary to point to wherever you have the game installed.