Chad Stevens

chadstevens94

About Me

Connect

LOCATION
Not Specified
ウェブサイト

Houdini Engine

Availability

Not Specified

Recent Forum Posts

3D Connextion space mouse with Houdini 2025年9月17日14:05

Alright, I've been messing around with trying to get this to work for a while now.

I've finally managed to sort it out.

I'm using the Wireless Pro BT version

So I had to add the following python code to the python panel supplied by Jonothan (Thanks very much for giving us access to this by the way, it's amazing.)

After adding it the important part is getting the hid_id to be the same as your device.

You can check this by running and replacing the code below in your houdini python shell and replace hid_id= with your space mouse hid_id

Code to run in Python Shell

from pywinusb import hid
for d in hid.find_all_hid_devices():
    print(hex(d.vendor_id), hex(d.product_id), d.product_name)


CODE to ADD

"SpaceMouse Pro Wireless BT": DeviceSpec(
            name="SpaceMouse Pro Wireless BT",
            hid_id=[0x256F, 0xC638],          # BT product id
            led_id=[0x8, 0x4B],
            mappings={
                "x":     AxisSpec(channel=1, byte1=1,  byte2=2,  scale=-1),
                "y":     AxisSpec(channel=1, byte1=3,  byte2=4,  scale=1),
                "z":     AxisSpec(channel=1, byte1=5,  byte2=6,  scale=1),
                "pitch": AxisSpec(channel=1, byte1=7,  byte2=8,  scale=1),
                "roll":  AxisSpec(channel=1, byte1=9,  byte2=10, scale=1),
                "yaw":   AxisSpec(channel=1, byte1=11, byte2=12, scale=-1),
              },
              button_mapping=[
                ButtonSpec(channel=3, byte=1, bit=0),   # MENU
                ButtonSpec(channel=3, byte=3, bit=7),   # ALT
                ButtonSpec(channel=3, byte=4, bit=1),   # CTRL
                ButtonSpec(channel=3, byte=4, bit=0),   # SHIFT
                ButtonSpec(channel=3, byte=3, bit=6),   # ESC
                ButtonSpec(channel=3, byte=2, bit=4),   # 1
                ButtonSpec(channel=3, byte=2, bit=5),   # 2
                ButtonSpec(channel=3, byte=2, bit=6),   # 3
                ButtonSpec(channel=3, byte=2, bit=7),   # 4
                ButtonSpec(channel=3, byte=2, bit=0),   # ROLL CLOCKWISE
                ButtonSpec(channel=3, byte=1, bit=2),   # TOP
                ButtonSpec(channel=3, byte=4, bit=2),   # ROTATION
                ButtonSpec(channel=3, byte=1, bit=5),   # FRONT
                ButtonSpec(channel=3, byte=1, bit=4),   # REAR
                ButtonSpec(channel=3, byte=1, bit=1),   # FIT
            ],
            axis_scale=350.0,
        ),

I hope this works for you guys.

Cheers.