Space Navigator Premiere Pro Timeline

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

Dmar
Posts: 7
Joined: Thu Apr 21, 2016 1:06 am

Re: Space Navigator Premiere Pro Timeline

Post by Dmar »

So I tried to use the Xml code given in the previous post but it doesn't do anything.

One thing is that by default I can use a jog with the Y axis, and it works well. It seems to use the arrow key and a light press is equivalent to a low key hitting and as you press harder the key is pressed faster.

But with my current version 10.4.8 I can't get the custom xml to work.
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Space Navigator Premiere Pro Timeline

Post by jwick »

Is your cfg file just being rejected? The log file will say.
The format has changed slightly over the years. It is minor and limited to the application identification information at the top.
You can PM your file to me and I'll have a look, if you like.
bsg
Posts: 5
Joined: Sat May 28, 2016 12:53 am

Re: Space Navigator Premiere Pro Timeline

Post by bsg »

I am running the latest driver (10.4.10) and I seem to have hit a bug? (or syntax error?) when trying to produce two keypresses on each side of an axis

Code: Select all

    <Device>
      <Name>SpaceMouse Wireless</Name>
      <VendorID>256f</VendorID>
      <ProductID>c62e</ProductID>
      <InheritsFrom>Standard 3D Mouse</InheritsFrom>
      <AxisFilter>None</AxisFilter>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>-512</Min>
          <Max>-250</Max>    
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <Modifiers>
            <Modifier>Shift</Modifier>
          </Modifiers>
          <KeyStroke>
            <Key>7</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>-250</Min>
          <Max>-100</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>7</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>100</Min>
          <Max>250</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>4</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>250</Min>
          <Max>511</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <Modifiers>
            <Modifier>Shift</Modifier>
          </Modifiers>
          <KeyStroke>
            <Key>4</Key>
          </KeyStroke>
        </Output>
      </Axis>
    </Device>
(The HID codes are for "a" and "d").

This, mostly, works as expected:
Slowly rotate the Z axis of the space mouse clockwise, "d" is pressed and held down, continue rotating and "shift" is then held down. (All ok so far)
When you return, slowly, anti-clockwise towards neutral... "shift" is released as expected.

But this is where the strange behaviour comes in - "d" is not released. You pass through neutral (zero) and "d" remains pressed. Continuing anti-clockwise, when you get to the appropriate position for "a" to be pressed and "d" is released and "a" is immediately depressed.

The same happens back to the other way, Through the "deadzone" in the middle, the key remains depressed until the opposite side is activated.

Removing the Shift modifier and using A+B and C+D as the two keys each side has the same result, so it does not seem to be that.

If there is a single key on each side being activated - that works exactly as you'd expect. So it seems that the driver looses track of the first pressed key state as "shift" is depressed.

Any ideas?
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Space Navigator Premiere Pro Timeline

Post by jwick »

It's not that smart. When you leave a hole between (-100,100) it fills in what it finds elsewhere. In this case, it fills in a 3D mouse event in that region. It doesn't know that you would like to also release those keys from the higher region. I know, maybe it should. But then you would not be able to specify multiple output actions for the same region. (Not that you can anyway :D )

Unfortunately, I don't have a way for you to say, in this region release all the keys. I have tried sending a key 0 in that region though, and that seems to work. YMMV.

Code: Select all

	<Device>
      <Name>SpaceMouse Wireless</Name>
      <VendorID>256f</VendorID>
      <ProductID>c62e</ProductID>
      <InheritsFrom>Standard 3D Mouse</InheritsFrom>
      <AxisFilter>None</AxisFilter>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>-512</Min>
          <Max>-251</Max>    
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <Modifiers>
            <Modifier>Shift</Modifier>
          </Modifiers>
          <KeyStroke>
            <Key>7</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>-250</Min>
          <Max>-101</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>7</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>-100</Min>
          <Max>0</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>0</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>0</Min>
          <Max>100</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>0</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>101</Min>
          <Max>250</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>4</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>251</Min>
          <Max>511</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <Modifiers>
            <Modifier>Shift</Modifier>
          </Modifiers>
          <KeyStroke>
            <Key>4</Key>
          </KeyStroke>
        </Output>
      </Axis>
    </Device>
All this emulation is a work in progress. I do appreciate you putting up with the lack of a GUI to make these changes. The GUI allowed me to enforce the expected logic. The feedback is very helpful. Things do rust away because we aren't using this functionality internally.
bsg
Posts: 5
Joined: Sat May 28, 2016 12:53 am

Re: Space Navigator Premiere Pro Timeline

Post by bsg »

Thanks for your support on the forum. I realize this is probably pushing the envelope :)

Also - very nice, elegant fix!

Your solution also scales quite nicely, works well with 50 unit increments, but only goes up to ~350?

Code: Select all

      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>0</Min>
          <Max>50</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>0</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>50</Min>
          <Max>100</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>1E</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>100</Min>
          <Max>150</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>1F</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>150</Min>
          <Max>200</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>20</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>200</Min>
          <Max>250</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>21</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>250</Min>
          <Max>300</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>22</Key>
          </KeyStroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>300</Min>
          <Max>350</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <RepeatStyle>PressAndHold</RepeatStyle>
          <KeyStroke>
            <Key>23</Key>
          </KeyStroke>
        </Output>
      </Axis>
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Space Navigator Premiere Pro Timeline

Post by jwick »

All current devices have a range of +/-350. This may change in the future and old devices off eBay may have different ranges.

One thing to be aware of is modifier conflicts across multiple axes. E.g., if you specify a shift key on one axis, but not another, and you generate both with your hand, one of those is probably not going to be doing what you want. I can't press and not press a shift key at the same time. In most cases, the Dominant filter is your friend to get one axis at a time.
bsg
Posts: 5
Joined: Sat May 28, 2016 12:53 am

Re: Space Navigator Premiere Pro Timeline

Post by bsg »

I am happy using the XML. I would love a dictionary or linux man file for of all the commands though - nudge, nudge :P :P

re: modifier issues across axis - yeah, thats an astute observation. Hopefully any use case only needs *one* semi-analog keypress emulator/hack :)
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Space Navigator Premiere Pro Timeline

Post by jwick »

r4ph
Posts: 2
Joined: Tue May 23, 2017 9:36 pm

Re: Space Navigator Premiere Pro Timeline

Post by r4ph »

hi ... I have an old good working SpacePilot.

I have installed the latest driver, and working flawlessly. I know it doesn't work well with Adobe premiere CC , The knob works only with tilting up and down that represent the mousewheel.

I have tried download and copy paste the <axis> RZ codes to existing xml configuration. but seems the twist doesn't work as it should.

Anyone here has succesfully implement twist <axis> RZ Code?


regards,

Rafael
r4ph
Posts: 2
Joined: Tue May 23, 2017 9:36 pm

Re: Space Navigator Premiere Pro Timeline

Post by r4ph »

hi .. Hypersonic, Thank you for your xml profile file. I have download it but seems the twist doesn't work at all. Do you have the latest version of XML ?

fyi , I'm using the old Spacepilot. and windows 7 with adobe premiere cs5 and cc

Hypersonic wrote:Check it out in action using this XML file I made for notepad (I only copied over this functionality to the SpaceNavigator device, but it could be copied over to other devices)
-Light twists simply moves the cursor
-Hard twist will select along the way
This is a good way to gauge the force applied to key repeat rate relationship.

https://sites.google.com/site/3dmouse6d ... OTEPAD.xml
Place in %AppData%\3Dconnexion\3DxWare\Cfg

Want an XML file for Premiere Pro? Simple, just change inside the file <ExecutableName> from notepad.exe to Adobe Premiere Pro.exe, and save as Adobe Premiere Pro.xml. I could also add JKL to the config if you'd like. Now light twist will cycle 1 frame at a time, while hard twists will cycle 5 frames at a time.

While GUI xml editors are convenient, they are also limited in what they can do, unless alot of time is devoted to expanding their functionality. For example, the XML file I created sections off 4 zones of the Rz axis, you can only section off 2 zones using the GUI alone.

-512 to -180: left arrow with shift
-180 to -020: left arrow
020 to 180: key right arrow
250 to 511: key right arrow with shift

Actually deadband isn't needed at all as you can simply incorporate that into the min/max range. Here's the portion of the XML that defines what Rz(spin) does. 64 for MaxEventRate is probably high, just change this for each axis entry if you want. The XML file I created is simply the joystick template with Rz axis replaced with the following code (I only changed the SpaceNavigator section, but you can copy to any section.) I was impressed that all 4 zones scale up as you apply more torque.

Here is the XML code for Rz

Code: Select all

      <Axis>
        <Enabled>True</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>-512</Min>
          <Max>-180</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <MaxEventRate>64.00</MaxEventRate>
          <Modifiers>
            <Modifier>Shift</Modifier>
          </Modifiers>
          <Keystroke>
            <Key>50</Key>
          </Keystroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>True</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>-180</Min>
          <Max>-20</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <MaxEventRate>64.00</MaxEventRate>
          <Keystroke>
            <Key>50</Key>
          </Keystroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>True</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>20</Min>
          <Max>180</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <MaxEventRate>64.00</MaxEventRate>
          <Keystroke>
            <Key>4F</Key>
          </Keystroke>
        </Output>
      </Axis>
      <Axis>
        <Enabled>True</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rz</ActionID>
          <Min>180</Min>
          <Max>511</Max>
        </Input>
        <Output>
          <ActionID>KB_Keystroke</ActionID>
          <MaxEventRate>64.00</MaxEventRate>
          <Modifiers>
            <Modifier>Shift</Modifier>
          </Modifiers>
          <Keystroke>
            <Key>4F</Key>
          </Keystroke>
        </Output>
      </Axis>
There is a bug though, at least in this older driver I'm using (might have been fixed in later versions.) Sometimes a keystroke gets stuck, so as I type something the cursor will move even long after I applied input to the 3dmouse.
seboldsg
Posts: 1
Joined: Fri Jan 18, 2019 2:59 pm

Re: Space Navigator Premiere Pro Timeline

Post by seboldsg »

Hey,

I'm new here and new to 3dconnection spacenavigator.

I have premire pro cc2019 and I would like to use my spacenavigator to move on my sequence :)
At the moment straight out the box is not that bad, when i tilt forward and backwards i move on sequence the same way as scrolling mouse - thats nice.

But here is a issue - Right button is assigned to alt so when i press alt and tilt joystick up - unzoom.
right button and tilt down - zoom - How can I invert it? it is possible to have the same function but only invert tilt when pressing right button = alt?
Post Reply