Il telecomando in questione viene riconosciuto come tastiera / mouse usb
"Cypress Cypress USB Keyboard / PS2 Mouse"
Codice: Seleziona tutto
I: Bus=0003 Vendor=04b4 Product=0101 Version=0100
N: Name="Cypress Cypress USB Keyboard / PS2 Mouse"
P: Phys=usb-0000:00:03.0-3/input0
S: Sysfs=/devices/pci0000:00/0000:00:03.0/usb2/2-3/2-3:1.0/input/input3
U: Uniq=
H: Handlers=kbd event3
B: EV=120013
B: KEY=800000 0 e0b0ffdf 1cfffff ffffffff fffffffe
B: MSC=10
B: LED=1f
I: Bus=0003 Vendor=04b4 Product=0101 Version=0100
N: Name="Cypress Cypress USB Keyboard / PS2 Mouse"
P: Phys=usb-0000:00:03.0-3/input1
S: Sysfs=/devices/pci0000:00/0000:00:03.0/usb2/2-3/2-3:1.1/input/input4
U: Uniq=
H: Handlers=kbd mouse1 event4
B: EV=17
B: KEY=70000 0 2010000 3978 d840d000 1e0000 0 0 0
B: REL=103
B: MSC=10
Seguendo alcune guide trovate in giro (in particolare questa http://wiki.xbmc.org/index.php?title=Hama_MCE_Remote) ho installato lirc ed inputlirc
Adesso se lancio irw riesco ad ottenere i codici dei tasti con output di questo tipo:
Codice: Seleziona tutto
74 0 KEY_POWER event4
67 0 KEY_UP event3
6c 0 KEY_DOWN event3
69 0 KEY_LEFT event3
6a 0 KEY_RIGHT event3
e 0 KEY_BACKSPACE event3
7f 0 KEY_COMPOSE event3
73 0 KEY_VOLUMEUP event4
72 0 KEY_VOLUMEDOWN event4
68 0 KEY_PAGEUP event3
6d 0 KEY_PAGEDOWN event3
Premetto che non dispongo di un lircd.conf adatto al telecomando in questione nè riesco a crearne uno, in quanto irrecord non riconosce il telecomando. Sul forum tedesco ho trovato un post (http://www.vdr-portal.de/index.php?page ... tid=900440) relativo al mio telecomando ed un remote.conf per vdr già impostato con i codici che si ricavano da irw
Codice: Seleziona tutto
LIRC.Up KEY_UP
LIRC.Down KEY_DOWN
LIRC.Menu ALT_KEY_ENTER
LIRC.Ok KEY_ENTER
LIRC.Back KEY_BACKSPACE
LIRC.Left KEY_LEFT
LIRC.Right KEY_RIGHT
LIRC.Red CTRL_KEY_E
LIRC.Green CTRL_KEY_M
LIRC.Yellow CTRL_KEY_I
LIRC.Blue CTRL_SHIFT_KEY_T
LIRC.0 KEY_0
LIRC.1 KEY_1
LIRC.2 KEY_2
LIRC.3 KEY_3
LIRC.4 KEY_4
LIRC.5 KEY_5
LIRC.6 KEY_6
LIRC.7 KEY_7
LIRC.8 KEY_8
LIRC.9 KEY_9
LIRC.Info KEY_DELETE
LIRC.Play CTRL_SHIFT_KEY_P
LIRC.Stop CTRL_SHIFT_KEY_S
LIRC.Record CTRL_KEY_R
LIRC.FastFwd CTRL_SHIFT_KEY_F
LIRC.FastRew CTRL_SHIFT_KEY_B
LIRC.Next CTRL_KEY_F
LIRC.Volume+ KEY_VOLUMEUP
LIRC.Volume- KEY_VOLUMEDOWN
LIRC.Mute KEY_MUTE
LIRC.Channel+ KEY_PAGEUP
LIRC.Channel- KEY_PAGEDOWN
Grazie a tutti.
AGGIORNAMENTO
Ho provato a lanciare vdr con il remote.conf riportato sopra ma funzionavano solo pochi tasti.
Inoltre non riuscivo a farne funzionare alcuni rilevati come combinazione di tasti in quanto avevo installato una vecchia versione di inputlirc che non supportava l'opzione -c.
Ho aggiornato inputlirc ed ora riesco a fare l'autoapprendimento lanciando vdr con opzione plugin -P'remote -l /dev/lircd'.
Il file lircd.conf non serve, fa tutto inputlirc ma ci sono ancora dei tasti che non mi funzionano
Codice: Seleziona tutto
67 0 KEY_UP event3
69 0 KEY_LEFT event3
6c 0 KEY_DOWN event3
2 0 KEY_1 event3
3 0 KEY_2 event3
4 0 KEY_3 event3
5 0 KEY_4 event3
6 0 KEY_5 event3
7 0 KEY_6 event3
8 0 KEY_7 event3
9 0 KEY_8 event3
a 0 KEY_9 event3
b 0 KEY_0 event3
Continuo a provare...
RISOLTO!!!!
Non io ma Klaus....
vdr ignora i messaggi di lirc se inferiori a 21 caratteri a causa di questa riga di codice in lirc.c
Codice: Seleziona tutto
if (ready && ret > 21) {
Codice: Seleziona tutto
--- lirc.c 2006/05/28 08:48:13 2.0
+++ lirc.c 2011/03/08 15:35:13
@@ -86,7 +86,8 @@
}
}
- if (ready && ret > 21) {
+ if (ready && ret > 0) {
+ buf[ret - 1] = 0;
int count;
char KeyName[LIRC_KEY_BUF];
if (sscanf(buf, "%*x %x %29s", &count, KeyName) != 2) { // '29' in '%29s' is LIRC_KEY_BUF-1!
Ho applicato la patch ed ora tutti i tasti funzionano alla perfezione.