Skip to content

Device button names

Jim Duchek edited this page Feb 18, 2023 · 18 revisions

Table of Contents

This is an effort to document the mapping between physical device buttons and their button numbers, across all known 6dof devices. If you have a device not listed in this page, please consider adding to the growing list of devices in this page. If you have a listed device and you discover an error in this page, please consider fixing it. If you don't want to make a github account, which is needed in order to edit this page, feel free to send the information over email at spacenav-users@lists.sourceforge.net

How to document button names

If you have a device not listed here, and you wish help us grow this list, the first step is to figure out the mapping between the actual physical buttons and their button numbers. The easiest way to do that is to run the "simple" example program which comes with libspnav, press all the buttons and note the numbers printed for each one of them.

  • Download the latest libspnav release from https://github.com/FreeSpacenav/libspnav/releases extract it somewhere, and change into that directory.
  • run ./configure and then make in the libspnav directory to build libspnav
  • change into the examples/simple directory, and run make to build the example program.
  • finally run ./simple_af_unix

Simple example output:

got button press event b(3)
got button release event b(3)
got button press event b(5)
got button release event b(5)

If you have remapped your device buttons in /etc/spnavrc or through spnavcfg, this will affect what the simple example prints. So please move /etc/spnavrc out of the way (rename it or move it to somewhere else temporarily), and restart spacenavd before doing this.

Alternatively you can use spnavcfg to discover the mapping between buttons and their numbers. The advantage of spnavcfg is that it uses raw button events, which makes it unaffected by button remapping. Go into the "Buttons" tab, and when you press any buttons, their numbers will be listed at the top of the button mapping interface, and the number in the corresponding button row will turn red.

spnavcfg button hilighting

Devices

Space Pilot

Space Pilot

number button label
0 - 5 1 - 6
6 T
7 L
8 R
9 F
10 Esc
11 Alt
12 Shift
13 Ctrl
14 Fit
15 Panel
16 + (increase)
17 - (decrease)
18 Dom
19 3D (lock icon)
20 Config

Space Pilot Pro

Space Pilot Pro

number button label
1 - 10 12 - 21
2 T
6 B
5 F
7 Bk
4 R
3 L
10 Iso1
11 Iso2
8 Clockwise
9 C-Clockwise
22 Esc
23 Alt
24 Shift
25 Ctrl
1 Fit
0 Menu
29 + (increase)
30 - (decrease)
28 Dom
27 PanZoom
26 Rotation

Space Navigator

Space Navigator

number device button
0 left side
1 right side

SpaceMouse Pro

SpaceMouse Pro

There was a bug in spacenavd 1.0 and 1.1 which affected the spacemouse pro and resulted in discontinuous button numbers. This table corresponds to the fixed mappings, of spacenavd 1.2 or later.

number button label
0 1
1 2
2 3
3 4
4 Menu
5 Fit
6 [T]
7 [R]
8 [F]
9 [ ]
10 Lock
11 Esc
12 Alt
13 Shift
14 Ctrl

SpaceMouse Enterprise

SpaceMouse Enterprise

There was a bug in spacenavd 1.0 which affected the spacemouse pro and resulted in discontinuous button numbers. This table corresponds to the fixed mappings, of spacenavd 1.1 or later.

number button label
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 Menu
13 Fit
14 [T]
15 [R]
16 [F]
17 [ ]
18 Esc
19 Alt
20 Shift
21 Ctrl
22 Lock
23 Enter
24 Delete
25 Tab
26 Space
27 V1
28 V2
29 V3
30 ISO

Magellan SpaceMouse

Magellan SpaceMouse

number button label
0 - 7 1 - 8
8 * (asterisk)

Spaceball 4000/5000

Spaceball 4000/5000

number button label
0 - 8 1 - 9
9 A
10 B
11 C