-
Notifications
You must be signed in to change notification settings - Fork 55
Device button names
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 [email protected]
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 thenmake
in the libspnav directory to build libspnav - change into the
examples/simple
directory, and runmake
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.
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 |
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 |
number | device button |
---|---|
0 | left side |
1 | right side |
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 |
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 |
number | button label |
---|---|
0 - 7 | 1 - 8 |
8 | * (asterisk) |
number | button label |
---|---|
0 - 8 | 1 - 9 |
9 | A |
10 | B |
11 | C |