This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Contour ShuttlePro v2 not detected by Kdenlive

Tags: None
(comma "," separated)
TheDiveO
Registered Member
Posts
595
Karma
3
OS
I've just gotten my Contour ShuttlePro v2 jog dial. Plugged into an USB socket and the Linux kernel properly detects this USB device and assigns a device (udev) name. This is the relevant snippet from the kernel messages:
Code: Select all
[  670.684710] usb 2-1.6: new low-speed USB device number 5 using ehci-pci
[  670.781942] usb 2-1.6: New USB device found, idVendor=0b33, idProduct=0030
[  670.781947] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  670.781950] usb 2-1.6: Product: ShuttlePRO v2
[  670.781953] usb 2-1.6: Manufacturer: Contour Design
[  670.786765] input: Contour Design ShuttlePRO v2 as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input12
[  670.787116] hid-generic 0003:0B33:0030.0009: input,hidraw5: USB HID v1.10 Device [Contour Design ShuttlePRO v2] on usb-0000:00:1d.0-1.6/input0


I also have a udev rule in place, 99-shuttlepro.rules:
Code: Select all
ATTRS{name}=="Contour Design ShuttlePRO v2" MODE="0666"


Checking the /dev tree according to the information listed in the kernel messages, I see that my ShuttlePro has been mapped to
Code: Select all
/dev/input/by-path/pci-0000:00:1d.0-usb-0:1.6:1.0-event

which is in fact a link to
Code: Select all
/dev/input/event5


When I start Kdenlive and go into the general settings, I don't see my ShuttlePro listed in the jog dial section; in fact, no device is listed there at all. Could it be that Kdenlive expects the jog dial devices to pop up under a different set of names in the udev /dev tree?
TheDiveO
Registered Member
Posts
595
Karma
3
OS
I've found out that Kdenlive does seem to look for the wrong device names. If I manually create a link for a /dev/input/inputnumber to the correct event dev file, then Kdenlive immediately detects my ShuttlePro. To find out the correct name for a ShuttlePro on a particular system, list the /dev/input/by-id; this shows also my ShuttlePro v2:

Code: Select all
lrwxrwxrwx 1 root root 9 Feb  1 10:36 usb-Contour_Design_ShuttlePRO_v2-event-if00 -> ../event5


If I now set a link from, say input5 to event5, then Kdenlive is happily detecting the ShuttlePro. At least, I've got Kdenlive working with my new ShuttlePro v2. But this is not fully satisfying, as it requires setting up device links manually. Eeek.
TheDiveO
Registered Member
Posts
595
Karma
3
OS
Okay, fixed it myself. I've set up a 99-shuttlepro.rules as follows:
Code: Select all
ATTRS{name}=="Contour Design ShuttlePRO v2" MODE="0666" SYMLINK+="input/input%n"

This rule automatically creates the correct /dev/input/inputX and links it to the appropriate eventX device file. It's not perfect as it also creates a mouseX device file, but I can live with it.
asilnevs
Registered Member
Posts
50
Karma
0
This is how I get it working:
sudo groupadd -f input
sudo gpasswd -a jef input
gksudo gedit /etc/udev/rules.d/99-input.rules
and put the next text in it:
KERNEL=="event*", NAME="input/%k", MODE:="660", GROUP="input"
KERNEL=="js*", NAME="input/%k", MODE:="664", GROUP="input"
Save this file and reboot the computer and the ShuttlePro v2 is available.
This comes from: viewtopic.php?f=265&t=114318
I'm very happy with the shuttlePro v2, it makes editing very fast and easy :)
TheDiveO
Registered Member
Posts
595
Karma
3
OS
No need to reboot, just do a...
Code: Select all
#udevadm control --reload

...works like a charm, tested it myself as I didn't want to reboot during my experiments.
TheDiveO
Registered Member
Posts
595
Karma
3
OS
asilnevs wrote:This is how I get it working:
KERNEL=="event*", NAME="input/%k", MODE:="660", GROUP="input"
KERNEL=="js*", NAME="input/%k", MODE:="664", GROUP="input"

I would like to understand the rationale for these rules, can you help me? To me, the first rule seems to be unnecessary unspecific, kinda catch-all rule. It may cause havoc when I connect other input devices, such as my tablet...

And what is the second rule good for? What are js* devices?? I don't see them in my /dev/input branch, so why should I add rules that may do something else?
asilnevs
Registered Member
Posts
50
Karma
0
Sorry, I can't help you with this because I'm not familiair with all those commands.
Maybe you can ask it in the topic that I mentioned before: viewtopic.php?f=265&t=114318
In that topic he also refers to:
http://osdir.com/ml/video.kino.devel/20 ... 00027.html
and
http://sourceforge.net/apps/mediawiki/g ... _udev_Rule
I hope that can help you.
TheDiveO
Registered Member
Posts
595
Karma
3
OS
Another update: I've noticed that the Linux kernel renumbers input/event devices, especially when waking up from a system sleep or hibernation. In consequence, Kdenlive looses contact with my ShuttlePRO v2. I've solved this problem by setting a permanent symbolic link from /dev/input/input00 to /dev/input/by-id/usb-Contour_Design_ShuttlePRO_v2-event-if00. This solves the problem of Kdenlive finding only inputX devices and at the same time keeps the name input00 constant across the kernel renumbering devices as the link references the ShuttlePRO v2 by its identifier, not by its ever-changing device number.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], lockheed, Sogou [Bot]