Você pode já ter corrigido isso, mas apenas no caso, aqui está o patch do kernel que eu usei para fazê-lo funcionar no Arch Linux com o kernel 3.12.6:
diff -u linux-3.12.org/drivers/hid/hid-core.c linux-3.12/drivers/hid/hid-core.c
--- linux-3.12.org/drivers/hid/hid-core.c 2013-11-03 16:41:51.000000000 -0700
+++ linux-3.12/drivers/hid/hid-core.c 2014-01-10 19:53:45.000000000 -0700
@@ -1738,6 +1738,7 @@
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_S510_RECEIVER_2) },
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_RECEIVER) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_HARMONY_PS3) },
+ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_HARMONY_SMART_PS3) },
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_DINOVO_DESKTOP) },
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_DINOVO_EDGE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_DINOVO_MINI) },
@@ -2347,7 +2348,8 @@
return true;
break;
case USB_VENDOR_ID_LOGITECH:
- if (hdev->product >= USB_DEVICE_ID_LOGITECH_HARMONY_FIRST &&
+ if (hdev->product != USB_DEVICE_ID_LOGITECH_HARMONY_SMART_PS3 &&
+ hdev->product >= USB_DEVICE_ID_LOGITECH_HARMONY_FIRST &&
hdev->product <= USB_DEVICE_ID_LOGITECH_HARMONY_LAST)
return true;
/*
diff -u linux-3.12.org/drivers/hid/hid-ids.h linux-3.12/drivers/hid/hid-ids.h
--- linux-3.12.org/drivers/hid/hid-ids.h 2013-11-03 16:41:51.000000000 -0700
+++ linux-3.12/drivers/hid/hid-ids.h 2014-01-10 19:47:39.000000000 -0700
@@ -542,6 +542,7 @@
#define USB_DEVICE_ID_LOGITECH_HARMONY_FIRST 0xc110
#define USB_DEVICE_ID_LOGITECH_HARMONY_LAST 0xc14f
#define USB_DEVICE_ID_LOGITECH_HARMONY_PS3 0x0306
+#define USB_DEVICE_ID_LOGITECH_HARMONY_SMART_PS3 0xc129
#define USB_DEVICE_ID_LOGITECH_RUMBLEPAD_CORD 0xc20a
#define USB_DEVICE_ID_LOGITECH_RUMBLEPAD 0xc211
#define USB_DEVICE_ID_LOGITECH_EXTREME_3D 0xc215
diff -u linux-3.12.org/drivers/hid/hid-sony.c linux-3.12/drivers/hid/hid-sony.c
--- linux-3.12.org/drivers/hid/hid-sony.c 2013-11-03 16:41:51.000000000 -0700
+++ linux-3.12/drivers/hid/hid-sony.c 2014-01-10 19:47:39.000000000 -0700
@@ -709,6 +709,9 @@
/* Logitech Harmony Adapter for PS3 */
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_HARMONY_PS3),
.driver_data = PS3REMOTE },
+ /* Logitech Harmony Smart Control for PS3 */
+ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_HARMONY_SMART_PS3),
+ .driver_data = PS3REMOTE },
{ }
};
MODULE_DEVICE_TABLE(hid, sony_devices);
O mapeamento de chaves não é ótimo - estou analisando isso em seguida!