Add support for MouseButton4, MouseButton5, etc

Couldn’t one use ContextActionService to map it to multiple buttons, keys, etc.?

Either way, this feature would probably need a first-party key/button remapping system to be useful - because there’s no way all mice have a uniform definition for what a button4 vs button5 is. Could make for some situationally-uncomfortable control layouts otherwise.

1 Like

This isn’t a fair reason. Mobile can use Swipe features, but PC can’t. Should Swipe features be removed because PC users can’t use them?

As long as the function they execute is either determined by the Player (like a “Keybind Remap” setting in the game) or has an alternative mapping or interaction that could cause the same effect.

For example: Making MouseButton4 be an “Undo”, also have CTRL+Z and/or a button on screen to undo as well. It’s not “limiting” or “blocking” the use of anything, just making it a bit easier for those who can. Of course, that requires the developer to do what I’m saying, however it wouldn’t be Roblox’s fault if a game developer forgot to add alternates. That’s like blaming Roblox for a game not having proper controller support.

1 Like

That’s the fault of the developer if they’re binding controls poorly. There’s no reason to hold back the engine because of developer incompetence.

2 Likes

This isn’t about Mobile, it’s about how having more than 3 mouse buttons isn’t the normality, Roblox is trying to keep you from ruining those people’s experience by forcing them to have a modern mouse to play.

You’re correct, it’s up to the developer to ruin their game’s player experience, but having MB1 - MB9 would be way to ugly, they should instead remodel their Enum for the Mouse Buttons or certain buttons that may be variable in quantity.

i guess you just forgot how to read more than ten words? next time, please at least attack a point i made constructively instead of attacking air.

2 Likes

No because there aren’t mouse buttons past 4 and 5, other mouse buttons either just bind to numpad keys or are programmable and don’t have their own unique identifiers that the OS will recognize. I have never seen a 6th mouse button referenced in any software or libraries before and to my knowledge one doesn’t actually exist.

This is not true, a lot of mice support button 4 & 5 including my cheap laser mouse. They’re not exclusive or obscure buttons. Most ‘gaming’ mice support the two buttons, a lot of office mice support these buttons, and this has been true for at least the last decade but probably longer. It’s not an uncommon pair of buttons at all, in fact the last three pairs of mice I’ve owned all had them and it wasn’t something I was even actively looking out for.

But, they do. All mice with the 4th and 5th button have a unified definition of what those buttons are and they’re recognized by all browsers and quite a lot of software. Windows itself supports these buttons in the file explorer and in other places, my OS’s file browser supports them, Steam supports them. They are decades old and well recognized.

Having a button 4 and 5 is not modern. These buttons are not new, or obscure, and are supported on a large number of mice including as I’ve mentioned, office mice too. They are recognized by windows itself in the file explorer, they are recognized by all major browsers, VSCode, Steam, etc. You can find mice with a button 4/5 all over the place for the exact same price as mice without them. Nobody is making games that require you to press the middle mouse button, button 3, because it would be frankly terrible input design. It isn’t something people do because it just doesn’t make sense to do.

The argument that ‘but people might use it wrong’ can literally be applied to anything and is therefore, in my opinion, not a relevant argument to the question of whether or not Roblox should support mouse buttons that have been around for decades and are implemented in plenty of major software. The idea that someone will make a game that requires you to have a button 4 and button 5 so Roblox shouldn’t support button 4/5 at all sounds completely silly to me.

There is not a button 6+.

1 Like

So, that logic can also be applied to the numpad keys because there are keyboards that do not have those yet can be binded


I think there is a use-case for this if done right

1 Like

Full sized keyboards are more common than mice with more than 3 buttons. You’re forgetting most Roblox children are probably playing on office computers.

A lot does not mean all of them, a lot of people use Mac and Linux, but that doesn’t mean they’re a large majority compared to Windows. Majority of Mice have a total of 3 buttons due to them being over manufactured for office settings and being cheaper.

If you refuse to acknowledge a valid point because you didn’t like the amount of text used to communicate it then you are not arguing in good faith.

This is almost certainly false depending on the demographic you pick, the majority of Roblox players are mobile players, and beyond that the demographic you are talking about on PC tend to play on laptops which don’t have full sized keyboards. You can speculate all day on these things which is why I think it’s not relevant to be making arguments like these for or against my feature request.

The majority of players on the platform do not use a keyboard or a mouse, but that doesn’t mean there is no value in supporting a keyboard/mouse. Your idea that it has to be some majority thing is completely arbitrary and doesn’t make sense, most engine features are not for the majority.

I’ll reiterate that the argument you seem to have been making is fundamentally just very flawed. So far you are against this because you have theorized that people might implement awful input design in a game, and you don’t want that. But that argument can be applied to anything.

My request for Roblox to add support for decades old mouse inputs with widespread support in major software is not invalid because you came up with a hypothetical scenario where for some unspecified reason you can’t play a game because it wants you to have side buttons on your mouse for some reason.

The hypothetical existence of bad design in regards to something is not a reason to have literally no relevant design features for that thing at all whatsoever.

By your logic, Roblox should never have added MeshParts because people can import a cube made of half a million triangles.

2 Likes

Laptop argument, I use a gaming laptop, I have a full sized keyboard plugged into it, because as a developer you need it.

But any mouse buttons over MB3 are useless, when I did have MB4 I just programmed it to be my autoclicker with the included drivers, and anybody else with MB4 has probably done the same.

If a player wants to remap their mouse to have MB4 in your game they can easily do that by mapping a key which your game should have and shouldn’t be based entirely on Mouse keys.

Even if you don’t have a full sized keyboard, you still have Num Lock which acts like a Numberpad if required, your argument is invalid.

No, they should NOT add support for Mouse Buttons above 3.

I see you flagging posts disagreeing with you.

And for more complex games, you may need a mouse with 5 buttons, just like how you state that you need a full-sized keyboard as a developer. Obviously, a developer should try to be as inclusive as possible, but they should also be given the option of using more advanced form of input.

They aren’t necessarily ‘useless’, sometimes there aren’t enough keybinds on a mouse to provide easy access to certain common functions and keyboard input may be deemed too slow given you have to find and press down the key. For power users, supporting this as an additional feature would be helpful.

This makes the assumption that the player both knows how to re-map these bindings in their computer settings and is willing to take the effort to do so; which unfortunately isn’t always the case. The convenience would be nice to have over this current workaround.

However, F13 to F15 are also supported, in which the documentation even specifies that they aren’t supported on all keyboards. There are also many other keybinds that Roblox specifies are not supported on all keyboards as listed in the KeyCode documentation. Support on all devices for KeyCodes seemingly hasn’t been an issue in the past, and I doubt it would be now. Also, I wouldn’t say their argument was ‘invalid’ either; they’ve brought up many other valid points as reasons for why this should get supported.

I am genuinely curious, however, is there a reason why this would be a negative feature? I can personally only see a net-gain from adding this functionality? More feature support is nearly always a good thing?

2 Likes

I use these ‘useless’ buttons in non-Roblox games, mostly so that I don’t need to let go of WASD. Examples:

  • Deep Rock Galactic: Traversal tool / Previous weapon
  • Noita: Interact / Kick
  • Space Engineers: Interact / Reload

Extra mouse buttons would indeed be appreciated.

I’m not against supporting MB3 - MB-Infinity, but the way Roblox handles these Enums is very inefficient because you have MB1 - MB9, that’s 9 whole Enums.

Developers should be allowed to ruin their game, but Roblox adding 9 Enums for Mouse Buttons is the wrong approach.

What about chromebooks or the average laptop keyboard? Lots of schools gives these out to students for their work and they probably will use it for Roblox

I understand if you have a full-sized keyboard plugged into a laptop, but some people don’t. Hell, I have a 98% keyboard and I still want to make sure that bindings can be accessible to all users, if I can. It’s not about what you have, it’s about catering to all possible inputs if the player/developer so chooses to have.

Hate to be that guy, but you’re forgetting that most Roblox children probably don’t know this fact if they do have a keyboard without a numpad

I don’t agree, but I think Roblox needs to allow for better support for more advanced inputs that people can have. Maybe not as Enums, but maybe an extension of the InputObject instance. Maybe adding a single Enum.UserInputType.MouseButton with a separation on which button would be a lot better

This is what I can agree with. More Enums may sound good on paper for allowing these other mouse inputs, but there has gotta be better implementations of this on Roblox’s end to better support buttons that are past the lowest-common-denominator

It’s getting off topic with the Mouse Buttons, there should be no reason to add more Enums, they should just renovate the system for Enums which allows us to set MB1600 if I want to without them messing with Enums.

Roblox on chromebooks is not actively supported, nor does it run very well and is a very small minority in devices playing Roblox, even Mac has a larger playerbase.

And Children who don’t know how their keyboard works, they should probably learn how it functions first.

1 Like

This is necessary and has been necessary for years, I don’t think anyone needs to be told that, I think it’s much more likely that this has just been forgotten about by Roblox.

MB1-MB5 has been the standard for quite some time, and I can think of many games off the top of my head which would benefit from this.

Hilariously enough, Roblox actually already has a “MouseBackButton” written into the engine, but no inputs are actually mapped to it.

We do have working F13-F15 keys, though! I suppose a developer could add support for those in their keybinds system, and then a player could remap their forward and back buttons to F13 and F14, at least then we’d only be half-missing this feature.

Really though, we honestly need a more robust form of handling user inputs in general - we have 95 “World” Keycodes which aren’t mapped to anything in engine. Unfortunately backwards compatibility means that it’s unlikely we’ll ever be getting a reworked input handler.

As for the “concerns” raised in this thread, given that the person raising them doesn’t know what ContextActionService is, I think it’s safe to just ignore them.