#include "mediactrl.h"
-static char *_shuttle_name = "Shuttle";
-static char *_jog_name = "Jog";
+static char *_shuttle_name = (char*)"Shuttle";
+static char *_jog_name = (char*)"Jog";
/*
ShuttlePro keys
/*
ShuttleXPress keys
*/
-static struct media_ctrl_key _mc_shuttle_xpress_keys[] = {
- { 0x104, "Button B4", MEDIA_CTRL_B4 },
- { 0x105, "Button B2", MEDIA_CTRL_B2 },
- { 0x106, "Button B1", MEDIA_CTRL_B1 },
- { 0x107, "Button B3", MEDIA_CTRL_B3 },
- { 0x108, "Button B5", MEDIA_CTRL_B5 },
- { 0, NULL, 0 }
-};
-
static struct media_ctrl_key mc_shuttle_xpress_keys[] = {
{ 0x104, "Button B1", MEDIA_CTRL_B1},
{ 0x105, "Button B2", MEDIA_CTRL_B2 },
return NULL;
}
+int media_ctrl_get_keys_count(struct media_ctrl *ctrl)
+{
+ int i = 0;
+ struct media_ctrl_key *keys = ctrl->device->keys;
+
+ while ( keys[i].key != 0 ) {
+ i++;
+ }
+
+ return i;
+}
void translate_contour_hid_event(struct media_ctrl *ctrl, struct input_event *ev, struct media_ctrl_event *me)
{
struct media_ctrl_device supported_devices[] = {
{ 0x0b33, 0x0030, "Contour ShuttlePRO v2", mc_shuttle_pro_keys, translate_contour_hid_event },
- { 0x0b33, 0x0020, "Contour ShuttleXPress", mc_shuttle_xpress_keys, translate_contour_hid_event },
+ { 0x0b33, 0x0020, "Contour Design ShuttleXpress", mc_shuttle_xpress_keys, translate_contour_hid_event },
{ 0x0b33, 0x0010, "Contour ShuttlePro", mc_shuttle_pro_keys, translate_contour_hid_event },
{ 0x0b33, 0x0011, "Contour ShuttlePro", mc_shuttle_pro_keys, translate_contour_hid_event }, /* Hercules OEM */
{ 0x05f3, 0x0240, "Contour ShuttlePro", mc_shuttle_pro_keys, translate_contour_hid_event },
{ 0x0760, 0x0001, "JLCooper MCS3", mc_jlcooper_mcs3_keys, translate_compliant },
{ 0x077d, 0x0410, "Griffin PowerMate", mc_powermate_keys, translate_compliant },
{ 0x05f3, 0x0241, "X-Keys Editor", mc_x_keys, translate_contour_hid_event },
- { 0, 0, 0 }
+ { 0, 0, 0, 0, 0 }
};
fd = open( devname, O_RDONLY );
if ( fd < 0 ) {
perror(devname);
+ mc->fd = -1;
} else {
mc->fd = fd;
//mc->eventno = i;