Linux driver for Contour Design Shuttle Pro V2
 
 
Go to file
Alexandre Bourget e4e55249cc Even better config. Hebrew aren't that good. 2017-07-14 17:53:02 -04:00
.shuttle-go.json Even better config. Hebrew aren't that good. 2017-07-14 17:53:02 -04:00
LICENSE First draft. 2017-07-14 02:41:48 -04:00
README.md Even better config. Hebrew aren't that good. 2017-07-14 17:53:02 -04:00
config.go IMprovements.. attempts to fixup. Implemented Slow Jog, to allow you to send 2017-07-14 17:25:51 -04:00
definitions.go IMprovements.. attempts to fixup. Implemented Slow Jog, to allow you to send 2017-07-14 17:25:51 -04:00
main.go IMprovements.. attempts to fixup. Implemented Slow Jog, to allow you to send 2017-07-14 17:25:51 -04:00
mapper.go Even better config. Hebrew aren't that good. 2017-07-14 17:53:02 -04:00
sample_config.json First draft. 2017-07-14 02:41:48 -04:00
watch.go First draft. 2017-07-14 02:41:48 -04:00

README.md

Linux driver for Contour Design Shuttle Pro V2

My goal is to set it up for the Lightworks Non-Linear Editor.

This program supports having modifiers for your Shuttle Pro V2 buttons. Avoid Lightworks key bindings with modifiers however. Capital letters are great as they cannot be combined, and are more direct and they are less likely to conflict with your other bindings and Lightworks recognizes them. All key names used here will work: http://www.tcl.tk/man/tcl8.4/TkCmd/keysyms.htm

Right now, you need to install xdotool from your package repositories. Eventually, we'll get rid of this dependency.

Buttons layout on the Contour Design Shuttle Pro v2:

       F1   F2   F3   F4

    F5   F6   F7   F8   F9


            (Shuttle)
    S-7 .. S-1  S0  S1 .. S7

 M1        JogL    JogR        M2



          B2        B3
        B1            B4

You can also use SlowJogL and SlowJogR, to use Frame nudge for example.

Disable the native mouse pointer

The Shuttle acts as a mouse when you plug it into Ubuntu. Disable it with:

$ xinput --list
"Virtual core pointer"  id=0    [XPointer]
"Virtual core keyboard" id=1    [XKeyboard]
"Keyboard2"     id=2    [XExtensionKeyboard]
"Mouse2"        id=3    [XExtensionKeyboard]

# Disable with:
$ xinput set-int-prop 2 "Device Enabled" 8 0

Ref: https://unix.stackexchange.com/questions/91075/how-to-disable-keyboard

TODO

  • Don't require xdotool

    • Use xgb's xtest package and send the FakeInput directly there.. should work a lot better.
    • Document in here all the keys that are work and their proper syntax. Add a few helpers.
  • Watch the configuration file, and reload on change.

  • Check udev, DISPLAY=:0.0 to start ?

    • Retry ? Check the error message going out.