Sure. That's easy enough.
0. DISABLE JOYSTICK in Oblivion.ini!!! It's under [Controls], the line is:
Note the space in there.
1. Download JoyToKey from
. Install it.
2. Create a configuration file for Oblivion. The configuration files (profiles, if you like) are stored in Documents/JoyToKey. Below is my profile for Oblivion. You can copy that text and paste it as "Oblivion.cfg".
[General]
FileVersion=65
NumberOfJoysticks=2
NumberOfButtons=32
DisplayMode=2
UseDiagonalInput=0
UsePOV8Way=1
RepeatSameKeyInSequence=0
Threshold=0
Threshold2=0
KeySendMode=0
SoundFile=
ImageFile=
[Joystick 1]
Axis1n=7, 4, 0, 41:0:0:0, 10:41:0:0, 10:41:0:0, 0:0:0:0, 90, 99, 0.000, 0, 0, 20 ##Move Left
Axis1p=7, 4, 0, 44:0:0:0, 10:44:0:0, 10:44:0:0, 0:0:0:0, 90, 99, 0.000, 0, 0, 20 ##Move Right
Axis2n=7, 4, 0, 57:0:0:0, 10:57:0:0, 10:57:0:0, 0:0:0:0, 90, 99, 0.000, 0, 0, 20 ##Move Forward
Axis2p=7, 4, 0, 53:0:0:0, 10:53:0:0, 10:53:0:0, 0:0:0:0, 90, 99, 0.000, 0, 0, 20 ##Move Down
Axis3n=2, -20, 0, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##Look left
Axis3p=2, 20, 0, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##Look right
Axis4n=2, 0, -18, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##Look up
Axis4p=2, 0, 18, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##Look down
POV1-1=1, 31:00:00:00, 0.000, 0, 0 ##Hotkey 1
POV1-2=1, 32:00:00:00, 0.000, 0, 0 ##Hotkey 2
POV1-3=1, 33:00:00:00, 0.000, 0, 0 ##Hotkey 3
POV1-4=1, 34:00:00:00, 0.000, 0, 0 ##Hotkey 4
POV1-5=1, 35:00:00:00, 0.000, 0, 0 ##Hotkey 5
POV1-6=1, 36:00:00:00, 0.000, 0, 0 ##Hotkey 6
POV1-7=1, 37:00:00:00, 0.000, 0, 0 ##Hotkey 7
POV1-8=1, 38:00:00:00, 0.000, 0, 0 ##Hotkey 8
Button01=1, 20:00:00:00, 0.000, 0, 0 ##A: Activate
Button02=1, 09:7B:00:00, 0.000, 0, 0 ##B: Inventory/Exit conversation
Button03=1, 46:79:00:00, 0.000, 0, 0 ##X: Sheath/Take All
Button04=1, 45:00:00:00, 0.000, 0, 0 ##Y: Jump
Button05=5, 1, 0 ##LB: Map2
Button06=1, 43:10:00:00, 0.000, 0, 0 ##RB: Cast
Button07=1, 54:00:00:00, 0.000, 0, 0 ##Back: Wait
Button08=1, 1B:00:00:00, 0.000, 0, 0 ##Start: Pause
Button09=1, 11:00:00:00, 0.000, 0, 0 ##L3: Sneak
Button10=1, 52:00:00:00, 0.000, 0, 0 ##R3: Switch view
Button11=2, 0, 0, 0, 1, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##RT: Attack
Button12=2, 0, 0, 0, 0, 0, 1, 0.000, 0, 95, 1.0, 30, 0, 0, 0, 0 ##LT: Block
Up-Right=7, 4, 0, 44:57:0:0, 10:44:57:0, 10:44:57:0, 0:0:0:0, 99, 99, 0.000, 0, 0, 20 ##Move Right Up
Up- Left=7, 4, 0, 41:57:0:0, 10:41:57:0, 10:41:57:0, 0:0:0:0, 99, 99, 0.000, 0, 0, 20 ##Move Left Up
Dn- Left=7, 4, 0, 41:53:0:0, 10:41:53:0, 10:41:53:0, 0:0:0:0, 99, 99, 0.000, 0, 0, 20 ##Move Left Down
Dn-Right=7, 4, 0, 44:53:0:0, 10:44:53:0, 10:44:53:0, 0:0:0:0, 99, 99, 0.000, 0, 0, 20 ##Move Right Down
Button15=1, BF:00:00:00, 0.000, 0, 0 ##Forward+B: Roll
Button16=1, BF:00:00:00, 0.000, 0, 0 ##Left+B: Roll
Button17=1, BF:00:00:00, 0.000, 0, 0 ##Right+B: Roll
Button18=1, 47:10:57:00, 0.000, 0, 0 ##Forward+Y: Sprint
Button19=1, 10:201:00:00, 0.000, 0, 0
[ButtonAlias]
Button13=60, 2, 59
Button14=60, 3, 56
Button15=2, 57, -1
Button16=1, 57, -1
Button17=0, 57, -1
Button18=2, 59, -1
Button19=66, 56, -1
[Joystick 2]
POV1-1=1, 21:00:00:00, 0.000, 0, 0 ##Next poison
POV1-3=1, 23:00:00:00, 0.000, 0, 0 ##Call horse
POV1-5=1, 22:00:00:00, 0.000, 0, 0 ##Prev poison
POV1-7=1, 24:00:00:00, 0.000, 0, 0 ##Poison weapon
Button01=1, 58:00:00:00, 0.000, 0, 0 ##A: Ok
Button03=1, 39:00:00:00, 0.000, 0, 0 ##X: Torch
Button04=1, 48:00:00:00, 0.000, 0, 0 ##Y: Flying camera
Button06=1, 5C:12:2C:00, 0.000, 0, 0 ##RB: Screenshot
Button11=2, 0, 0, -20, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##Zoom in
Button12=2, 0, 0, 20, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##Zoom out
Axis1n=1, 25:00:00:00, 0.000, 0, 0 ##Airship Move Left
Axis1p=1, 27:00:00:00, 0.000, 0, 0 ##Airship Move Right
Axis4n=2, 0, -18, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##Look up
Axis4p=2, 0, 18, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##Look down
Axis3n=2, -20, 0, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##Look left
Axis3p=2, 20, 0, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0, 0 ##Look right
Axis2n=1, 4F:00:00:00, 0.000, 0, 0 ##Airship Move Faster
Axis2p=1, 4C:00:00:00, 0.000, 0, 0 ##Airship Move Slower
Button07=1, 11:44:00:00, 0.000, 0, 0 ##Back: Toggle log conversation
Button02=1, 4D:00:00:00, 0.000, 0, 0 ##B: Place map marker
Button05=0 ##LB: --- switch configurations
Button08=1, BA:00:00:00, 0.000, 0, 0 ##Start: Purge cell buffers
Button09=0 ##L3:
Button10=0 ##R3
Button13=1, BC:00:00:00, 0.000, 0, 0 ##Up
Button14=1, BE:00:00:00, 0.000, 0, 0 ##Down
POV1-6=1, 22:00:00:00, 0.000, 0, 0 ##Prev poison
POV1-8=1, 21:00:00:00, 0.000, 0, 0 ##Next poison
POV1-4=1, BB:00:00:00, 0.000, 0, 0 ##Horse wait/follow
Show / Hide Spoiler Text Above!3. Start JoyToKey - it minimises itself into the system tray. You can open the main window by right-clicking the icon. The Oblivion profile should be shown in the right pane - click it.
4. Review the profile. I have all the basic movements and quick slots very similar to the Xbox layout, but I have also defined some keys according to the mods I use. These simply correspond to keyboard mappings, so start your Oblivion and review your keyboard profile.
There are help files and documentation for JoyToKey, and I found it really easy to use. If you have questions, let's hear it! But for me it worked straight away, and I just went fiddling with the settings.
Oh, the important bit. You need to start JoyToKey
you start Oblivion, and you need to switch to the correct profile. You can configure JoyToKey to automatically switch to the profile based on the EXE name or Window title. Works flawless for me, profiles switching automatically. Otherwise you can switch them by right-clicking the icon in the system tray.
JoyToKey must be running while Oblivion is running. Note that if you are running Oblivion as an administrator, then JoyToKey also must run as an administrator. But I run both as a regular user, even with OBSE.