MsParanoid: OK so I know the original post is almost three years old, but since I came looking for the same answer recently I thought I'd post what I figured out through trial and error.
Editing the keyboard.txt file is part of the answer. The other part is that I wasn't able to assign previously unused keys to replace existing bindings.
To change the camera swivel keys from the default LEFT and RIGHT arrow keys to something else I chose to assign keys that were already allocated. For example, while I couldn't get A and D to work as Left and Right, I could get Q and E to work. I also could set the ZoomIn key to S. I have a CyberSnipa Flexiglo keypad which has the H key quite close to the Q key and so binding H to the ZoomOut key isn't too much of a hardship to use.
Now (initially) unintuitively my LeftArrow key does a Quick Save, the RightArrow does EnvironmentMappingMode (whatever that is), the UpArrow opens the Spell list and the DownArrow displays History.
HTH
That's pretty useful to know. You should be able to tweak further by reprogramming keys (for darkstone) with auto-hotkey or a programmable keyboard/mouse. Eg if A isn't on the list of usable darkstone keys, you could set up an auto-hotkey script that would send one of the available keys (say, H) when you press A.