This section describes how to configure the buttons detected by btnx-config. You must first detect your mouse and buttons before configuring them. See the sections "Detecting the mouse" and "Detecting buttons". The screenshot below shows btnx-config with a configured mouse and buttons.

btnx-config with configured buttons
The list on the left side of the btnx-config window contains all the buttons that have been detected. You can choose a button to edit by pressing on its name in the list. If you double click on the name, the button will be expanded, and its properties will be visible on the list.
For more detailed information on button properties, see the "Property reference" section.
First, make sure to check the Enabled check-box if you want btnx to handle that button. If you don't enable a button, btnx will do nothing when you press it.
The Name field is set to whatever you named that button during button detection. You can rename it if you want.
The Event type field is set to either "Keyboard combination", "Configuration switch", or "Command execution", depending on what you want that button to do.
You can set Repeat delay to a value greater than zero if you want btnx to block additional clicks from that button within a certain time frame.
You can enable the Force immediate button release setting if you want btnx to release the button immediately after pressing it. This means you will not be able to hold the button down, but it will help if your button seems to get stuck down occasionally.
If you set the Event type to "Keyboard combination", you have to choose at least a Keycode value for that button. This is the key that is sent by btnx when you press that mouse button. You can also define up to three modifier keys for that keycode, so you can send combinations like Ctrl+Alt+Left.
If you set the Event type to "Configuration switch", you have to choose how the switch is made. You can either switch to a next, previous, or specific configuration when pressing the button.
If you set the Event type to "Command execution", you have to fill in the Execute command field with the shell command that you want to send. You also have to set the Process UID to a valid UID (User Identification), preferably your own. The UID determines what user executes the command, and what privileges the subsequent process has. If you leave it to zero, the commands will be executed as ROOT.
You can delete a button by pressing . You will need to detect it again if you want to use the button after deleting it.

btnx-config command execution configuration