10. Property reference

This section gives more detailed information about the configuration properties you can set in btnx-config.

10.1. Mouse properties

Vendor

Optional. The name of the manufacturer of the mouse.

Product

Optional. The model name of the mouse.

Vendor ID

Uneditable. A 16-bit hexadecimal value, identifying the manufacturer of your mouse. This is set automatically when detecting your mouse with btnx-config.

Product ID

Uneditable. A 16-bit hexadecimal value, identifying the model type of your mouse. This is set automatically when detecting your mouse with btnx-config.

10.2. Button properties

10.2.1. General

Enabled

If the Enabled check-box is checked, btnx will generate the event you define when pressing that button. btnx will ignore that button if you leave it unchecked and will do nothing when you press the button. Always check this value first if a button isn't working.

Name

Required. This is the name of the button. You need to set it to something. It doesn't matter what you name your buttons, but you should give it an easily recognizable name so you know what button you are editing.

Event type

Required. This is the type of event sent by btnx when pressing a button. You can define two different types of events.

Key combination

Sends a key combination. A key combination can be a keyboard or mouse button combined with up to three different modifier keys.

Command execution

Executes a shell command. You can execute any binary or script file that has execution privileges. You must define a UID for the command.

Repeat delay

Required. This is the amount of delay, in milliseconds (1/1000 of a second), that must pass before btnx will allow the button to send another event. This is especially useful for mice that have very sensitive buttons and easily send multiple clicks at once.

You can leave this field to 0 milliseconds if your button isn't too sensitive.

Recommended values for sensitive buttons is 200-400 milliseconds, depending on your needs.

Force immediate button release

Optional. Enabling this property will force btnx to release the button as soon as it's pressed. This means you will not be able to hold down the button.

Use this option if your button seems to get stuck down until you press it again.

10.2.2. Key combination

Keycode

Required. This property can only be set if the Event type is set to "Key combination".

This is the key or mouse button that is sent by btnx when you press the mouse button. The list of keycodes is huge, and not all might be handled by your window manager.

Tip

The keycodes starting with KEY_ are keyboard keys. The keycodes starting with BTN_ are mouse buttons.

Modifier key 1-3

Optional. This property can only be set if the Event type is set to "Key combination".

You can define up to three modifier keys to accompany a keycode, or none at all. Modifier keys are buttons such as Ctrl, Alt, Shift, etc. This allows you to send keyboard combinations such as Ctrl+Alt+Left.

Tip

KEY_LEFTMETA is the Start start key. KEY_RIGHTMETA is the Menu key.

10.2.3. Configuration switch

Next config.

This property can only be set if the Event type is set to "Configuration switch".

This option makes btnx switch to the next configuration in the Configuration Manager list when the selected button is pressed. If the current configuration is the last one, btnx will switch to the first configuration.

Prev config.

This property can only be set if the Event type is set to "Configuration switch".

This option makes btnx switch to the previous configuration in the Configuration Manager list when the selected button is pressed. If the current configuration is the first one, btnx will switch to the last configuration.

Switch to

This property can only be set if the Event type is set to "Configuration switch".

This option makes btnx switch to the configuration selected in the drop-down box next to this radio button.

10.2.4. Command execution

Execute command

Required. This property can only be set if the Event type is set to "Command execution".

This is the shell command to execute when you press the mouse button. You must first specify the full path of the file to execute, followed by any number of arguments.

Example: open the btnx configuration file in gedit.

/usr/bin/gedit --new-window /etc/btnx/btnx_config

Process UID

Required. This property can only be set if the Event type is set to "Command execution".

This is the UID (User Identification) of the user that executes the command. You should set this to your own UID.

Warning

If you leave UID to zero, the process will run as ROOT. This could do damage to your system. Use root privileges only if you really need to. Then, ask yourself once more why you need to run as root.

10.2.5. Other properties

Rawcode

Uneditable. This property is not visible in the button property frame, and can only be seen during a button detection conflict or in the button list.

Rawcode is a 32-bit hexadecimal value that is sniffed from an input device event handler stream. It distinguishes the different buttons. It is automatically bound to a button during button detection and cannot be changed. You will manually have to choose a rawcode to bind to a button during a button detection problem.