I use mwheelleft/mwheelright to change inventory selection. It works fine in GZDoom and has always worked fine for as long as I remember. But it does not work in Raze, I tried in Duke and in Shadow Warrior. I even edited the ini to paste it in the relevant bindings sections (since I couldn't bind them in the customize controls submenu), the binding shows in the menu as a result, but the buttons still have no effect in the game.
Gez wrote:I use mwheelleft/mwheelright to change inventory selection. It works fine in GZDoom and has always worked fine for as long as I remember. But it does not work in Raze, I tried in Duke and in Shadow Warrior. I even edited the ini to paste it in the relevant bindings sections (since I couldn't bind them in the customize controls submenu), the binding shows in the menu as a result, but the buttons still have no effect in the game.
What version of GZDoom are you on? I can't make it work in GZDoom 4.5.0. Binds fine in both games but performs no action. And what OS are you on? I can't see any supporting code in any other platform besides SDL.
Last edited by mjr4077au on Wed Dec 09, 2020 4:18 am, edited 2 times in total.
Support in Windows is there, but a bit stupid, see i_mouse.cpp, line 345.
But from the looks of it the second wheel axis is only supported in RawInput and GUI mode, not DInput.
Yeah, but in `FMouse::WheelMoved()` irrespective of what axis is passed to that `WheelMouse[]` array, the game will only set `ev.data` to `KEY_MWHEELDOWN` or `KEY_MWHEELUP`, never keyfefs for `KEY_MWHEELRIGHT` or `KEY_MWHEELLEFT`.
Using raw input on my end (in_mouse 0).
Ignore all of the above... No idea why its not working in either port for me, then.
I've chased it all the way to `FButtonStatus::PressKey()` and it gets there.
If I do something like "bind MWheelLeft stat", I get stat output in the console, just seems to be +/- commands. +crouch does not work, for instance. Has to be something in `C_DoCommand()`.
invprev and invnext are not +/-
Binding mouse wheels to button actions is a known problem and simply cannot work because the wheel has no "held down" state.
mjr4077au wrote:What version of GZDoom are you on? I can't make it work in GZDoom 4.5.0. Binds fine in both games but performs no action. And what OS are you on? I can't see any supporting code in any other platform besides SDL.
GZDoom 4.5 works fine for me on Windows, as have all previous versions of GZDoom and ZDoom (and Zandronum and Skulltag) since 2007.