Skip to content

Commit be1eb2f

Browse files
Merge pull request #18 from consi/master
Adds support to 3Dconnexion SpaceExplorer
2 parents c246cdf + f34fa4b commit be1eb2f

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

pyspacemouse/pyspacemouse.py

+33
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,39 @@ def config_remove(self):
357357
# the IDs for the supported devices
358358
# Each ID maps a device name to a DeviceSpec object
359359
device_specs = {
360+
"SpaceExplorer": DeviceSpec(
361+
name="SpaceExplorer",
362+
# vendor ID and product ID
363+
hid_id=[0x46D, 0xc627],
364+
# LED HID usage code pair
365+
led_id=[0x8, 0x4B],
366+
mappings={
367+
"x": AxisSpec(channel=1, byte1=1, byte2=2, scale=1),
368+
"y": AxisSpec(channel=1, byte1=3, byte2=4, scale=-1),
369+
"z": AxisSpec(channel=1, byte1=5, byte2=6, scale=-1),
370+
"pitch": AxisSpec(channel=2, byte1=1, byte2=2, scale=-1),
371+
"roll": AxisSpec(channel=2, byte1=3, byte2=4, scale=-1),
372+
"yaw": AxisSpec(channel=2, byte1=5, byte2=6, scale=1),
373+
},
374+
button_mapping=[
375+
ButtonSpec(channel=3, byte=2, bit=0), # SHIFT
376+
ButtonSpec(channel=3, byte=1, bit=6), # ESC
377+
ButtonSpec(channel=3, byte=2, bit=1), # CTRL
378+
ButtonSpec(channel=3, byte=1, bit=7), # ALT
379+
ButtonSpec(channel=3, byte=1, bit=0), # 1
380+
ButtonSpec(channel=3, byte=1, bit=1), # 2
381+
ButtonSpec(channel=3, byte=2, bit=3), # PANEL
382+
ButtonSpec(channel=3, byte=2, bit=2), # FIT
383+
ButtonSpec(channel=3, byte=2, bit=5), # -
384+
ButtonSpec(channel=3, byte=2, bit=4), # +
385+
ButtonSpec(channel=3, byte=1, bit=2), # T
386+
ButtonSpec(channel=3, byte=1, bit=3), # L
387+
ButtonSpec(channel=3, byte=1, bit=5), # F
388+
ButtonSpec(channel=3, byte=2, bit=6), # 2D
389+
ButtonSpec(channel=3, byte=1, bit=4), # R
390+
],
391+
axis_scale=350.0,
392+
),
360393
"SpaceNavigator": DeviceSpec(
361394
name="SpaceNavigator",
362395
# vendor ID and product ID

0 commit comments

Comments
 (0)