The Dork Knight himself.
Since cojo asked, here's how I rebound my mousewheel for grate ripping.
AA keeps multiple different copies of ini files in 2 places. The first is in the game folder itself (Batman Arkham Asylum GOTY\BmGame\Config). The second set, which contains your actual key bindings and command aliases, is located in your My Documents folder (My Documents\Square Enix\Batman Arkham Asylum GOTY\BmGame\Config).
Open up UserInput.ini and search for whatever key you normally have for run/glide/open, which for most is spacebar, and you'll find this line:
.Bindings=(Name="SpaceBar",Command="ContextSensitive | Run | CapeGlide | AcceptConversation | Evade | CancelBatarangCamera", Shift=false, Control=false, Alt=false, bIgnoreShift=false, bIgnoreCtrl=false, bIgnoreAlt=false):META:COM_RUN_GLIDE_USE,0,-1,-1,"bRunButton",false,false,CI_RunGlide,CI_Interact
Now that we know the command, it's time to change the mousewheel to match. In Unreal, the mousewheel is named MouseScrollUp and MouseScrollDown. Copy/paste the above command at the bottom of the ini file twice, and change the Name="SpaceBar" accordingly. Once you're done, the last two commands should look like this:
.Bindings=(Name="MouseScrollUp",Command="ContextSensitive | Run | CapeGlide | AcceptConversation | Evade | CancelBatarangCamera", Shift=false, Control=false, Alt=false, bIgnoreShift=false, bIgnoreCtrl=false, bIgnoreAlt=false):META:COM_RUN_GLIDE_USE,0,-1,-1,"bRunButton",false,false,CI_RunGlide,CI_Interact
.Bindings=(Name="MouseScrollDown",Command="ContextSensitive | Run | CapeGlide | AcceptConversation | Evade | CancelBatarangCamera", Shift=false, Control=false, Alt=false, bIgnoreShift=false, bIgnoreCtrl=false, bIgnoreAlt=false):META:COM_RUN_GLIDE_USE,0,-1,-1,"bRunButton",false,false,CI_RunGlide,CI_Interact
Save the file, then set it to read-only to make sure the game doesn't override your change. For some reason the game is set so the mousewheel is permanently set to changing weapons and the UI for changing your controls is set to not recognize the wheel for binds. This little fix just gets around that.
Another thing you'll notice is that Unreal binds are very complex, most of which are a series of situation specific commands bunched together. It is possible to make your own alias that only has 1 specific command in it and not the rest, but I'm pretty sure it wouldn't be SDA legal to use them.
AA keeps multiple different copies of ini files in 2 places. The first is in the game folder itself (Batman Arkham Asylum GOTY\BmGame\Config). The second set, which contains your actual key bindings and command aliases, is located in your My Documents folder (My Documents\Square Enix\Batman Arkham Asylum GOTY\BmGame\Config).
Open up UserInput.ini and search for whatever key you normally have for run/glide/open, which for most is spacebar, and you'll find this line:
.Bindings=(Name="SpaceBar",Command="ContextSensitive | Run | CapeGlide | AcceptConversation | Evade | CancelBatarangCamera", Shift=false, Control=false, Alt=false, bIgnoreShift=false, bIgnoreCtrl=false, bIgnoreAlt=false):META:COM_RUN_GLIDE_USE,0,-1,-1,"bRunButton",false,false,CI_RunGlide,CI_Interact
Now that we know the command, it's time to change the mousewheel to match. In Unreal, the mousewheel is named MouseScrollUp and MouseScrollDown. Copy/paste the above command at the bottom of the ini file twice, and change the Name="SpaceBar" accordingly. Once you're done, the last two commands should look like this:
.Bindings=(Name="MouseScrollUp",Command="ContextSensitive | Run | CapeGlide | AcceptConversation | Evade | CancelBatarangCamera", Shift=false, Control=false, Alt=false, bIgnoreShift=false, bIgnoreCtrl=false, bIgnoreAlt=false):META:COM_RUN_GLIDE_USE,0,-1,-1,"bRunButton",false,false,CI_RunGlide,CI_Interact
.Bindings=(Name="MouseScrollDown",Command="ContextSensitive | Run | CapeGlide | AcceptConversation | Evade | CancelBatarangCamera", Shift=false, Control=false, Alt=false, bIgnoreShift=false, bIgnoreCtrl=false, bIgnoreAlt=false):META:COM_RUN_GLIDE_USE,0,-1,-1,"bRunButton",false,false,CI_RunGlide,CI_Interact
Save the file, then set it to read-only to make sure the game doesn't override your change. For some reason the game is set so the mousewheel is permanently set to changing weapons and the UI for changing your controls is set to not recognize the wheel for binds. This little fix just gets around that.
Another thing you'll notice is that Unreal binds are very complex, most of which are a series of situation specific commands bunched together. It is possible to make your own alias that only has 1 specific command in it and not the rest, but I'm pretty sure it wouldn't be SDA legal to use them.