[SOLVED] Feature request: Add side mouse-buttons to mouse logic node

This are the forward and backward buttons.
They have the same states as primary mouse buttons.

The logic node under InputMouse.


Hi. I assume by Forward & Backward buttons you mean the mouse wheel buttons? You can already get their states using the Get Mouse Movement node. Here’s an example I made a while back on how to return mouse wheel states:

I mean the (navigation)buttons on the side that are also used to go back on webpages or in the file explorer.

Mouse image

Hi, i would just map some keyboard buttons to them and use the keyboard node to check if they are pressed. Pick your choice

Hi @Procolgen. Those buttons are now implemented. Cheers.


Hi. Very fast draw, but does not work for me :slightly_frowning_face: On what level has it been implemented? Too bad. Mouse: CSL Pro 3000, Manjaro

Hi. Thanks for the report. I tested and implemented the source code based on my Corsair Gaming M65 Pro RGB Mouse that has extra side input buttons.

Some guesses from me:

  1. Perhaps you didn’t updated your Iron submodules?
  2. Have you checked to see if perhaps some of your other mouse buttons are connected to those side mouse buttons that I registered?

Two persons on Discord confirmed it worked for them.

Using more mouse cursors wasn’t implemented for Linux in the Kinc backend until a few days ago, so I think it will not work before Lubos updates Kinc and recompiles Armorcore with that: https://github.com/Kode/Kinc/pull/751. If you know how you can of course do this already :slight_smile:

  1. Updated the entire SDK in preferences. Do you mean i have to update more manually?
  2. Of course i tried every single button. I have the impression they enumerate differently. The mouse i mentioned has some numbers on the button, which do not correspond to the numbers reported by xev namely 8 and 9. After trying out your solution i have assigned some keys to the buttons and now it behaves even different i.e. no button numbers shown anymore for the changed buttons.
  3. On what level has it been implemented? Cause the hx file does not reveal very much.
  4. Looks like that is not as easy as it appeared.
  5. You developed that on Win, didn´t you?

Btw, your mouse and mine have a lot more buttons than these extra two. What about the others? Too difficult to implement? As far as i understood you implemented these features?

The change in Armory only added more mouse buttons to the logic node and to Iron’s input system, but the actual low-level implementation of these mouse buttons in the Linux backend was missing until a few days ago.

Yes. It’s not straightforward though (at least if you’re not used to it), you need to locally check-out the latest Kinc version in the Armorcore repository using Git and then compile Armorcore. If that’s too much you will need to wait until Armory officially updates its version of Kinc.

Adding support for more buttons shouldn’t differ much in difficulty, but it should be implemented by someone who can test this. My mouse has three more buttons, but I think they are solely for changing the DPI so I’m not sure whether an application can react to them. But I will test it when I get time.


Side-buttons are standard buttons, so they can be implemented like primary mouse buttons.
Other extra buttons are different with every mouse(not the same or no identifier “keycode”) and they usually simulate keyboard key presses.