You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Monday, September 20th 2010, 11:17am

HAMA Fernbedienung - so geht's richtig

Hama MCE Remote (Ortek VRC-1100): Anleitung für yavdr 0.2

Hallo,
nachdem ich jetzt lange gekämpft habe, um meine HAMA-Fernbedienung korrekt einzurichten, und von den diversen Anleitungen hier und anderswo ziemlich verwirrt wurde, versuche ich mal eine richtige Anleitung zu schreiben. ;-)

Ein paar Anmerkungen vorweg:
1) Die Fernbedienung ist ein reines USB-HID. D.h. für das Betriebssystem eine Tastatur und eine Maus. Es ist Unsinn, den Treiber lirc_atiusb zu laden, weil der mit dem Gerät nichts anfangen kann! Mich hat das lirc_atiusb in diversen Anleitungen ziemlich verwirrt, weil ich eine ATI schon am Laufen hatte und dachte, das wird ganz einfach mit der HAMA.

2) Die Fernbedienung ist wie gesagt eine Tastatur, allerdings sendet sie die wirrsten Tastenkombinationen. Leider versteht VDR keine Tastenkombinationen und kann daher einige Tasten nicht von sich aus unterscheiden (wenn eine CTRL-t hat und die andere CTRL-SHIFT-t). Mit inputlirc (und dem Parameter -c) kann man das aber elegant lösen. Also: Vergesst alle Anleitungen, die kein inputlirc nutzen, weil die die halbe Fernbedienung brach liegen lassen.

4) Manche Tasten der Fernbedienung sind wirklich identisch, also nicht zu unterscheiden: OK/Enter, Info/rechte Maustaste und Play/Pause. Daher kann die Pause-Taste in VDR nicht benutzt werden! (Andere Player, wie z.B. XBMC nutzen die Play-Taste auch als Pause-Taste, VDR unterscheidet hier aber).

3) XBMC kann im Gegensatz zu VDR auch Tastenkombinationen auswerten. Damit hat man zwei Alternativen:
a) Man nimmt auch inputlirc für XBMC. Dann kann man die Fernbedienung wie jede andere Fernbedienung konfigurieren. Hab ich aber nicht gemacht.
b) Man nimmt für XBMC kein inputlirc. Dann muss man in der keymap.xml die Fernbedienung als "keyboard" konfigurieren. Das hat einen Vorteil: Man kann die Mausfunktion der Fernbedienung nutzen und XBMC auch mit Mauszeiger steuern. Ich habe das bei mir mal so gemacht, allerdings bin ich mir nicht sicher, ob das wirklich sinnvoll ist. Da gibt's ein paar Haken dabei (siehe unten).

Jetzt die Anleitung:
1) inputlirc einrichten (siehe auch http://wiki.xbmc.org/index.php?title=Hama_MCE_Remote )
Für die initiale Konfiguration von inputlirc habe ich im Web-Frontend von yavdr inputlirc aktiviert und einen der beiden zur Auswahl stehenden "HID 05a4:9881"-Empfänger gewählt. Dann ist schon mal sichergestellt, dass die Grundkonfiguration stimmt und inputlirc gestartet wird.

Das reicht aber nicht:
Die Fernbedienung meldet sich zwei mal beim System: Einmal als Tastatur und einmal als Maus. Ein paar der Tasten gehören dabei zur Maus und ein paar zur Tastatur. Damit man alle Tasten nutzen kann, muss man inputlirc beibringen, beide Geräte zu nehmen. Das kann er zwar aber es ist leider im Web-Frontend von yavdr nicht vorgesehen, daher muss man Hand an die Konfig-Dateien anlegen.

Die beiden Geräte sind zwei der /dev/input/event*-Geräte. Je nach System sind das andere. In yavdr 0.2 muss man die aber nicht mühsam suchen, sondern kann einfach /dev/input/by-id/usb-05a4_9881-event-kbd und /dev/input/by-id/usb-05a4_9881-event-mouse nehmen (die sollten überall so heißen).

Außerdem benötigt inputlirc zusätzliche Aufrufparameter, damit es funktioniert:
-m0: Ansonsten ignoriert inputlircd diverse Tasten
-c: Dann wird ein CTRL-SHIFT-t nicht nacheinander als Ctrl-, Shift- und t-Event geschickt, sondern nur ein CTRL_SHIFT_KEY_T Event. Nur so kann VDR mit Tastenkombinationen umgehen.
-g: Die Devices dürfen nur von inputlirc benutzt werden. Ansonsten bekommt VDR das Event von inputlirc und dann noch das Event von der Tastatur und ein "Auf" wird zu zwei "Auf".

Eigentlich wollte ich beides (Parameter und Geräte) einfach in /etc/default/inputlirc eintragen. Die wird aber komischerweise nicht gezogen (warum??). Daher habe ich /etc/init/remoted.conf angepasst.

Also: /etc/yavdr/templates_custom/etc/init/remoted.conf/30inputlirc anlegen mit folgendem Inhalt:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?cs if:(system.remoted == "inputlirc") ?>
# Starts Inputlirc daemon.
#
# Inputlirc is used to control different
# infrared receivers and transceivers.
# angepasst auf vdr-frontend

description     "Inputlirc Daemon"
author          "Gerald Dachs <gda@dachsweb.de>"

start on starting vdr-frontend
stop on stopping vdr-frontend

respawn

script
[ -r /etc/default/inputlirc] && . /etc/default/inputlirc
test -f /usr/sbin/inputlircd || exit 0

exec /usr/sbin/inputlircd -f -g -c -m0 $OPTIONS $EVENTS /dev/input/by-id/usb-05a4_9881-event*
end script
<?cs /if ?>

Zum Original (/usr/share/yavdr/templates/etc/init/remoted.conf/30inputlirc) wurde die Zeile "stop on stopping vdr-frontend" eingefügt (Erklärung unten bei XBMC) und die "exec ..."-Zeile angepasst.

Danach ein "sudo process-template /etc/init/remote.conf" und am besten einen Reboot.

Das war's eigentlich schon, die Fernbedienung ist für VDR nutzbar. Anpassungen in lircmd.conf oder hardware.conf sind nicht nötig.
Zum Konfigurieren löscht man entweder (falls vorhanden) die LIRC.*-Zeilen in der /etc/vdr/remote.conf und lernt sie dann beim Starten von VDR an, oder Ihr könnt folgende Zeilen von mir dort einfügen:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
LIRC.Up         KEY_UP
LIRC.Down       KEY_DOWN
LIRC.Menu       ALT_META_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_I
LIRC.Yellow     CTRL_SHIFT_KEY_T
LIRC.Blue       CTRL_KEY_M
LIRC.0          KEY_KP0
LIRC.1          KEY_KP1
LIRC.2          KEY_KP2
LIRC.3          KEY_KP3
LIRC.4          KEY_KP4
LIRC.5          KEY_KP5
LIRC.6          KEY_KP6
LIRC.7          KEY_KP7
LIRC.8          KEY_KP8
LIRC.9          KEY_KP9
LIRC.Info       BTN_RIGHT
LIRC.Play       KEY_PLAYPAUSE
LIRC.Pause      CTRL_KEY_G
LIRC.Stop       KEY_STOPCD
LIRC.Record     CTRL_KEY_R
LIRC.FastFwd    CTRL_SHIFT_KEY_F
LIRC.FastRew    CTRL_SHIFT_KEY_B
LIRC.Next       KEY_NEXTSONG
LIRC.Prev       KEY_PREVIOUSSONG
LIRC.Power      KEY_SLEEP
LIRC.Channel+   KEY_PAGEUP
LIRC.Channel-   KEY_PAGEDOWN
LIRC.Volume+    KEY_VOLUMEUP
LIRC.Volume-    KEY_VOLUMEDOWN
LIRC.Mute       KEY_MUTE
LIRC.Audio      KEY_KPASTERISK
LIRC.Subtitles  ALT_KEY_KP5
LIRC.Schedule   CTRL_KEY_T
LIRC.Channels   CTRL_KEY_O
LIRC.Timers     BTN_MOUSE
LIRC.Recordings CTRL_SHIFT_KEY_M
LIRC.Setup      KEY_ESC
LIRC.Commands   ALT_KEY_F4
LIRC.User1      KEY_HOMEPAGE

(ist noch optimierungsfähig)

Ich hab' noch in /etc/vdr/keymacros.conf den Start von XBMC auf die "Homepage"-Taste (ganz oben rechts) gelegt:

Source code

1
User1 @externalplayer Ok


Wer wissen will, welche Tasten welche Kombination erzeugen: In meiner keymap für XBMC habe ich das teilweise dokumentiert, ansonsten "irw /dev/lircd" aufrufen und ausprobieren.

2) XBMC
Wie gesagt wollte ich die Mausfunktion in XBMC erhalten. Da die Event-Devices von inputlirc mit "-g" aber in Beschlag genommen werden, geht das nicht, wenn inputlirc läuft.
Ich habe das dadurch gelöst, dass inputlirc mit dem vdr-frontend gestartet und gestoppt wird. Das ist durch die "stop on ..."-Zeile in /etc/init/remote.conf gelöst (siehe oben). Damit wird inputlirc automatisch gestoppt, wenn das vdr-Frontend gestoppt wird und wieder gestartet, wenn er wieder startet. Das hat den Zusatznutzen, dass die Mausfunktion in jedem "externalplayer" von VDR verfügbar ist, auch im Firefox.

XBMC muss man dann nur die ganzen wirren Tastenkombinationen beibringen. D.h. eine keymap-Datei anlegen und entsprechend editieren.
Hier meine Keymap (einfach als /var/lib/vdr/.xbmc/userdata/keymaps/hama.xml speichern):

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
<!--  keymap.xml fuer HAMA MCE Remote = Ortek VRC 1100                                        -->
<!--  Aus "Standard"-remote.xml angepasst                                                     -->
<!--  teletext, subtitle, language, start, display_pause wurden entfernt, da anderweitig vorhanden   -->
<!--  select, title, info wurden auf Sondertasten (unter Farbtasten) gelegt                   -->
<!--  Andere Tasten wurden durch entsprechende Codes ersetzt                                  -->
<!--  Auf Close wurde das Bookmarkfenster gelegt                                              -->
<!--  Noch freie Tasten: Homepage (e oben links), Sondertaste 2                               -->
<keymap>
  <global>
    <keyboard>
      <play_pause>Play</play_pause>
      <stop>Stop</stop>
      <f mod="ctrl,shift">FastForward</f>
      <b mod="ctrl,shift">Rewind</b>
      <left>Left</left>
      <right>Right</right>
      <up>Up</up>
      <down>Down</down>
      <o mod="ctrl">FullScreen</o> <!-- Sondertaste 1. von links unter Gelb -->
      <return>Select</return> <!-- OK-Taste -->
      <pageup>PageUp</pageup>
      <pagedown>PageDown</pagedown>
      <backspace>ParentDir</backspace>
      <key id="847885">PreviousMenu</key>  <!-- Gruener Start-Button (Menue) - Alt-Meta-Enter laut inputlirc-->
      <f4 mod="alt">XBMC.ActivateWindow(videobookmarks)</f4> <!-- Close-Taste - neue Funktion, kein Default -->
      <t mod="ctrl">ContextMenu</t> <!-- Sondertaste 3. von links unter Gruen -->
      <m mod="ctrl,shift">Info</m> <!-- Sondertaste 4. von links unter Rot -->
      <next_track>SkipNext</next_track>
      <prev_track>SkipPrevious</prev_track>
      <!-- schon auf Sondertaste 1, nicht noetig <display_pause>FullScreen</display_pause> -->
      <r mod="ctrl">Screenshot</r> <!-- Record CTRL-R laut inputlirc-->
      <volume_up>VolumeUp</volume_up>
      <volume_down>VolumeDown</volume_down>
      <volume_mute>Mute</volume_mute>
      <key id="61599">XBMC.ShutDown()</key> <!-- Power - Sleep laut inputlirc -->
      <e mod="ctrl">XBMC.ActivateWindow(Home)</e>  <!-- Rot -->
      <i mod="ctrl">XBMC.ActivateWindow(MyVideos)</i>  <!-- Gruen -->
      <t mod="ctrl,shift">XBMC.ActivateWindow(MyMusic)</t>  <!-- Gelb -->
      <m mod="ctrl">XBMC.ActivateWindow(MyPictures)</m>  <!-- Blau -->
      <zero>Number0</zero>
      <one>Number1</one>
      <two>JumpSMS2</two>
      <three>JumpSMS3</three>
      <four>JumpSMS4</four>
      <five>JumpSMS5</five>
      <six>JumpSMS6</six>
      <seven>JumpSMS7</seven>
      <eight>JumpSMS8</eight>
      <nine>JumpSMS9</nine>
    </keyboard>
  </global>
  <Home>
    <keyboard>
      <play_pause>PlayDVD</play_pause> <!-- Direkter Zugriff auf DVD -->
      <key id="847885">XBMC.Skin.ToggleSetting(HomeViewToggle)</key>
      <m mod="ctrl,shift">XBMC.ActivateWindow(SystemInfo)</m>
      <escape>XBMC.ActivateWindow(Weather)</escape> <!-- Clear-Taste -->
      <five mod="alt">XBMC.ActivateWindow(Settings)</five>  <!-- # -->
    </keyboard>
  </Home>
  <MyFiles>
    <keyboard>
      <escape>Delete</escape>
      <zero>Highlight</zero>
      <numpadtimes>Move</numpadtimes> <!-- * - KPASTERISK laut inputlirc -->
      <five mod="alt">Rename</five>
    </keyboard>
  </MyFiles>
  <MyMusicPlaylist>
    <keyboard>
      <backspace>Playlist</backspace>      <!-- Close playlist -->
      <escape>Delete</escape>
      <zero>Delete</zero>
    </keyboard>
  </MyMusicPlaylist>
  <MyMusicPlaylistEditor>
    <keyboard>
      <zero>Queue</zero>
    </keyboard>
  </MyMusicPlaylistEditor>
  <MyMusicFiles>
    <keyboard>
      <zero>Queue</zero>
      <numpadtimes>Queue</numpadtimes>
    </keyboard>
  </MyMusicFiles>
  <MyMusicLibrary>
    <keyboard>
      <zero>Queue</zero>
      <numpadtimes>Queue</numpadtimes>
    </keyboard>
  </MyMusicLibrary>
  <FullscreenVideo>
    <keyboard>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <left>StepBack</left>
      <right>StepForward</right>
      <up>BigStepForward</up>
      <down>BigStepBack</down>
      <backspace>SmallStepBack</backspace>
      <key id="847885">OSD</key>
      <o mod="ctrl">AspectRatio</o>
      <t mod="ctrl">CodecInfo</t>
      <m mod="ctrl,shift">Info</m>
      <!-- brauch ich nicht <teletext>XBMC.ActivateWindow(Teletext)</teletext>  -->
      <!-- brauch ich nicht, ist schon auf * <subt mod="ctrl">ShowSubtitles</subt> -->
      <numpadtimes>ShowSubtitles</numpadtimes>
      <!-- brauch ich nicht, ist schon auf # <language>AudioNextLanguage</language> -->
      <five mod="alt" >AudioNextLanguage</five>
    </keyboard>
  </FullscreenVideo>
  <!-- Gibt es laut Log nicht
  <VideoTimeSeek>
    <keyboard>
      <o mod="ctrl">Select</o>
      <return>Select</return>
    </keyboard>
  </VideoTimeSeek>
  -->
  <FullscreenInfo>
    <keyboard>
      <t mod="ctrl">CodecInfo</t>
      <m mod="ctrl,shift">Close</m>
      <key id="847885">OSD</key>
    </keyboard>
  </FullscreenInfo>
  <PlayerControls>
    <keyboard>
      <key id="847885">Close</key>
    </keyboard>
  </PlayerControls>
  <Visualisation>
    <keyboard>
      <left>PreviousPreset</left>
      <right>NextPreset</right>
      <up>IncreaseRating</up>
      <down>DecreaseRating</down>
      <backspace>LockPreset</backspace>
      <t mod="ctrl">CodecInfo</t>
      <o mod="ctrl">XBMC.ActivateWindow(VisualisationPresetList)</o>
      <key id="847885">XBMC.ActivateWindow(MusicOSD)</key>
      <m mod="ctrl,shift">Info</m>
    </keyboard>
  </Visualisation>
  <MusicOSD>
    <keyboard>
      <key id="847885">Close</key>
      <t mod="ctrl">Info</t>
      <m mod="ctrl,shift">CodecInfo</m>
    </keyboard>
  </MusicOSD>
  <VisualisationSettings>
    <keyboard>
      <key id="847885">Close</key>
    </keyboard>
  </VisualisationSettings>
  <VisualisationPresetList>
    <keyboard>
      <key id="847885">Close</key>
    </keyboard>
  </VisualisationPresetList>
  <SlideShow>
    <keyboard>
      <zero>ZoomNormal</zero>
      <one>ZoomLevel1</one>
      <two>ZoomLevel2</two>
      <three>ZoomLevel3</three>
      <four>ZoomLevel4</four>
      <five>ZoomLevel5</five>
      <six>ZoomLevel6</six>
      <seven>ZoomLevel7</seven>
      <eight>ZoomLevel8</eight>
      <nine>ZoomLevel9</nine>
      <m mod="ctrl,shift">CodecInfo</m>
      <next_track>NextPicture</next_track>
      <prev_track>PreviousPicture</prev_track>
      <t mod="ctrl">Info</t>
      <o mod="ctrl">Rotate</o>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </SlideShow>
  <ScreenCalibration>
    <keyboard>
      <o mod="ctrl">NextCalibration</o>
      <zero>ResetCalibration</zero>
      <five mod="alt">NextResolution</five>  <!-- war display_pause - auf # gelegt -->
    </keyboard>
  </ScreenCalibration>
  <GUICalibration>
    <keyboard>
      <o mod="ctrl">NextCalibration</o>
      <zero>ResetCalibration</zero>
    </keyboard>
  </GUICalibration>
  <SelectDialog>
    <keyboard>
      <backspace>Close</backspace>
    </keyboard>
  </SelectDialog>
  <VideoOSD>
    <keyboard>
      <backspace>PreviousMenu</backspace>
      <key id="847885">Close</key>
    </keyboard>
  </VideoOSD>
  <VideoMenu>
    <keyboard>
      <key id="847885">OSD</key>
      <backspace>PreviousMenu</backspace>
      <m mod="ctrl,shift">Info</m>
      <t mod="ctrl">CodecInfo</t>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <play_pause>Select</play_pause>
    </keyboard>
  </VideoMenu>
  <OSDVideoSettings>
    <keyboard>
      <backspace>Close</backspace>
      <key id="847885">Close</key>
    </keyboard>
  </OSDVideoSettings>
  <OSDAudioSettings>
    <keyboard>
      <backspace>Close</backspace>
      <key id="847885">Close</key>
    </keyboard>
  </OSDAudioSettings>
  <VideoBookmarks>
    <keyboard>
      <backspace>Close</backspace>
      <key id="847885">Close</key>
      <zero>Delete</zero>
    </keyboard>
  </VideoBookmarks>
  <MyVideoLibrary>
    <keyboard>
      <zero>Queue</zero>
      <escape>Delete</escape>
    </keyboard>
  </MyVideoLibrary>
  <MyVideoFiles>
    <keyboard>
      <zero>Queue</zero>
      <numpadtimes>Queue</numpadtimes>
    </keyboard>
  </MyVideoFiles>
  <MyVideoPlaylist>
    <keyboard>
      <backspace>Playlist</backspace>      <!-- Close playlist -->
      <escape>Delete</escape>
      <zero>Delete</zero>
    </keyboard>
  </MyVideoPlaylist>
  <VirtualKeyboard>
    <keyboard>
      <backspace>BackSpace</backspace>
      <numpadtimes>Shift</numpadtimes>
      <five mod="alt">Symbols</five>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <return>Enter</return>
      <pagedown>CursorLeft</pagedown>
      <pageup>CursorRight</pageup>
    </keyboard>
  </VirtualKeyboard>
  <ContextMenu>
    <keyboard>
      <t mod="ctrl">Close</t>
      <backspace>Close</backspace>
    </keyboard>
  </ContextMenu>
  <FileStackingDialog>
    <keyboard>
      <backspace>Close</backspace>
    </keyboard>
  </FileStackingDialog>
  <Scripts>
    <keyboard>
      <m mod="ctrl,shift">info</m>
    </keyboard>
  </Scripts>
  <NumericInput>
    <keyboard>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <return>Enter</return>
      <backspace>BackSpace</backspace>
    </keyboard>
  </NumericInput>
  <Weather>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </Weather>
  <Settings>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </Settings>
  <AddonBrowser>
    <keyboard>
    </keyboard>
  </AddonBrowser>
  <AddonInformation>
    <keyboard>
      <backspace>Close</backspace>
    </keyboard>
  </AddonInformation>
  <AddonSettings>
    <keyboard>
      <backspace>Close</backspace>
    </keyboard>
  </AddonSettings>
  <!-- Gibt es laut Log nicht
  <TextViewer>
    <keyboard>
      <backspace>Close</backspace>
    </keyboard>
  </TextViewer>
  -->
  <MyPicturesSettings>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </MyPicturesSettings>
  <MyProgramsSettings>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </MyProgramsSettings>
  <MyWeatherSettings>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </MyWeatherSettings>
  <MyMusicSettings>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </MyMusicSettings>
  <SystemSettings>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </SystemSettings>
  <MyVideosSettings>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </MyVideosSettings>
  <NetworkSettings>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </NetworkSettings>
  <AppearanceSettings>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </AppearanceSettings>
  <Profiles>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </Profiles>
  <systeminfo>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </systeminfo>
  <shutdownmenu>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </shutdownmenu>
  <submenu>
    <keyboard>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </submenu>
  <MusicInformation>
    <keyboard>
      <backspace>Close</backspace>
      <m mod="ctrl,shift">Close</m>
    </keyboard>
  </MusicInformation>
  <MovieInformation>
    <keyboard>
      <m mod="ctrl,shift">Close</m>
      <backspace>Close</backspace>
    </keyboard>
  </MovieInformation>
  <LockSettings>
    <keyboard>
      <key id="847885">Close</key>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </LockSettings>
  <ProfileSettings>
    <keyboard>
      <key id="847885">Close</key>
      <backspace>PreviousMenu</backspace>
    </keyboard>
  </ProfileSettings>
  <PictureInfo>
    <keyboard>
      <next_track>NextPicture</next_track>
      <prev_track>PreviousPicture</prev_track>
      <m mod="ctrl,shift">Close</m>
      <backspace>Close</backspace>
    </keyboard>
  </PictureInfo>
  <Teletext>
    <keyboard>
      <zero>number0</zero>
      <one>number1</one>
      <two>number2</two>
      <three>number3</three>
      <four>number4</four>
      <five>number5</five>
      <six>number6</six>
      <seven>number7</seven>
      <eight>number8</eight>
      <nine>number9</nine>
      <e mod="ctrl">Red</e>
      <i mod="ctrl">Green</i>
      <t mod="ctrl,shift">Yellow</t>
      <m mod="ctrl">Blue</m>
      <m mod="ctrl,shift">Info</m>
      <backspace>Close</backspace>
      <key id="847885">Close</key>
      <!-- brauch ich nicht <teletext>Close</teletext> -->
    </keyboard>
  </Teletext>
  <Favourites>
    <keyboard>
      <backspace>Close</backspace>
    </keyboard>
  </Favourites>
</keymap>


Will man lieber inputlirc nutzen, dann muss man die "stop on ..."-Zeile aus der remoted.conf entfernen und die lircmap.xml korrekt pflegen. Das habe ich aber nicht probiert.

Offene Punkte/Schwachstellen:
1) Manchmal ist inputlirc nicht fertig, wenn VDR schon startet. Dann geht die Fernbedienung nicht. Ich hab' jetzt einfach mal ein "sleep 5" in /etc/vdr.conf eingebaut. Ob das reicht, weiß ich noch nicht. Es ist sicher auch keine schöne Lösung.

2) Die Info-Taste ist die rechte Maustaste. Die lässt sich in XBMC nicht konfigurieren und daher ist sie in XBMC leider meistens nicht passend als "Info". Liese sich nur durch inputlirc für XBMC lösen.

3) Die virtuelle Tastatur in XBMC reagiert nicht auf die Cursor-Tasten, egal was man in die Keymap einträgt. Das sollte sich mit einer /var/lib/vdr/.xbmc/userdata/advancedsettings.xml lösen lassen:

Source code

1
2
3
<advancedsettings>
<navigatevirtualkeyboard>true</navigatevirtualkeyboard>
</advancedsettings>

Er liest die Datei zwar laut xbmc.log, aber die Einstellung hat bei mir leider keinen Effekt. Auch das lässt sich mit inputlirc beheben. Oder man wählt die Tasten mit der Mausfunktion, was aber mühsamer ist.
Edit: Problem gefunden! -> siehe späteres Posting

Falls noch jemand weitere Tipps hat (Warum zieht /etc/default/inputlirc nicht? Warum die advancedsettings.xml nicht? Wie sieht die lircmap.xml für XBMC mit lircmap aus?): Ich nehme gerne weitere Tipps an.

Viel Spass :-)

This post has been edited 1 times, last edit by "grmpl" (Sep 24th 2010, 5:07pm)


gda

Im Forum Zuhause

Posts: 12,755

Location: HH

  • Send private message

2

Monday, September 20th 2010, 11:38am

Sehr guter Beitrag!

Gerald

OrigenAE S16T, ASRock K10N78D, Athlon II X2 4400e (unlocked Sempron 140), 2GB RAM, OCZ Vertex 30GB, 2xWD10EADS, 3xKNC One TV-Station DVB-C, G210 MSI N210-MD512H, yaVDR.
Seagate Dockstar, Debian Squeeze, VDR 1.7.16, 500 GB 2,5" HD, 2xSundtek MediaTV Home DVB-C/T.

3

Monday, September 20th 2010, 2:20pm

Vielen Dank auch von mir !

Ein paar Kommentare, da ich das für meine Gyration auch so mache:

Wenn Inputlirc manchmal nicht geht, liegt es wahrscheinlich eher daran, das das Gerät noch nicht da ist und nicht das remoted nach vdr gestartet wird, also musst du auf das Gerät warten.

Anstatt -g zu verwenden würde ich eher die Tastaturannahme im Frontend abschalten (XKeySym aus der remote.conf für vdr-sxfe, bei xine in der Keymap alle Tasten auf VOID setzen).
VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

4

Monday, September 20th 2010, 3:59pm

Danke :-)

Das mit dem Abschalten der Tastatur in VDR ist natürlich auch eine Möglichkeit. Dann braucht man wahrscheinlich den Start/Stop von inputlirc in Abhängigkeit von vdr-frontend auch nicht. Allerdings hatte ich beim Experimentieren auch eine normale Tastatur am Rechner und war manchmal froh, dass ich damit VDR noch bedienen konnte.

Und mit dem Gerät hast Du auch recht. Manchmal ist es auch mein USB-DVB-Tuner, der nicht rechtzeitig fertig ist. Ein bekanntes Problem.
Da ich mich erst mal um die Fernbedienung gekümmert habe und die sporadischen Probleme zweitrangig waren: In welchem dieser vielen Threads dazu findet man eigentlich eine vernünftige Anleitung, wie man das Problem sauber in den Griff bekommt?

gda

Im Forum Zuhause

Posts: 12,755

Location: HH

  • Send private message

5

Monday, September 20th 2010, 4:13pm

Quoted

Original von grmpl
Und mit dem Gerät hast Du auch recht. Manchmal ist es auch mein USB-DVB-Tuner, der nicht rechtzeitig fertig ist. Ein bekanntes Problem.
Da ich mich erst mal um die Fernbedienung gekümmert habe und die sporadischen Probleme zweitrangig waren: In welchem dieser vielen Threads dazu findet man eigentlich eine vernünftige Anleitung, wie man das Problem sauber in den Griff bekommt?

Was den DVB-Tuner angeht, warte einfach auf die 0.3 und lebe mit einem sleep in der /etc/init/vdr.conf bis dahin.

Gerald

OrigenAE S16T, ASRock K10N78D, Athlon II X2 4400e (unlocked Sempron 140), 2GB RAM, OCZ Vertex 30GB, 2xWD10EADS, 3xKNC One TV-Station DVB-C, G210 MSI N210-MD512H, yaVDR.
Seagate Dockstar, Debian Squeeze, VDR 1.7.16, 500 GB 2,5" HD, 2xSundtek MediaTV Home DVB-C/T.

6

Monday, September 20th 2010, 5:03pm

Was inputlirc angeht, haben wir auch was eingebaut in der 0.3:

https://bugs.yavdr.com/projects/yavdr/re…onf/30inputlirc

Dort werden dann auch die Optionen eingelesen, also die Werte können in der /etc/default/inputlirc gesetzt werden.
VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

7

Tuesday, September 21st 2010, 4:49pm

Super Beitrag ! Suche schon seit MONATEN nach sowas !

Habs vor paar Monaten nicht hinbekommen ! Werde es aber mal heute Abend ausprobieren und dir paar Ergänzungen schicken, soweit welche zu finden sind.

Gruß
System:
yaVDR 0.3

Hardware:
AMD Sepron X4 e910
Geforce 8200 Onboard
4GB Ram

TV:
Mystique Cabix 2 HD
EYE TV Hybride DVB-T Stick
HAMA MCE
SCR331-LC1 SC Reader - per PCSCD

8

Friday, September 24th 2010, 5:13pm

Hi zusammen,

ich bin zufällig drüber gestolpert, warum meine advancedsettings.xml keinen Erfolg hatte:
Der Tipp gilt nur für ältere XBMC-Versionen!

In der aktuellen Version gibt es dieses Setting nicht mehr, stattdessen gibt es in den Einstellungen eine Option "Fernbedienung sendet Tastatureingaben". Wenn man das aktiviert, kann man auch in der virtuellen Tastatur mit den Cursortasten navigieren.

9

Sunday, September 26th 2010, 5:55pm

im upstart template ganz oben ist noch ein Fehler drin. Das sollte start on starting vdr sein nicht vdr-frontend.
VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

10

Tuesday, September 28th 2010, 9:28am

Da steht absichtlich vdr-frontend drin:
Ich möchte ja, dass sich inputlirc immer beendet, wenn ich einen "externalplayer" aufrufe (XBMC, firefox, terminal,...) und er muss wieder starten, wen ich zurückkomme.
Und vdr läuft ja dauernd im Hintergrund, nur das frontend wird genau passend gestartet und gestoppt.

Oder habe ich da einen Denkfehler?
Es funktioniert zumindest so recht gut, außer dass sich vdr im Log beklagt, dass lirc nicht da ist, wenn das frontend nicht aktiv ist.

11

Tuesday, September 28th 2010, 9:33am

svdrpsend remo off/on ist die von uns preferierte Lösung dazu :) Das klemmt alle Bedienmöglichkeiten des vdr ab und wieder an.
VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

12

Wednesday, September 29th 2010, 10:33am

Ist stoppe ja inputlirc nicht, um den Input bei VDR zu verhindern, sondern um die Devices freizugeben, die inputlirc sonst blockiert.

Aber Du hast ja recht: Meine Lösung ist nicht so ganz sauber.

Für alle, die es besser machen wollen, hier die Zusammenfassung was man besser machen könnte (von nicht getestet):
1) inputlirc ohne "-g" - damit werden die Devices nicht blockiert
2) inputlirc nicht stoppen, d.h. die start- und stop-Zeilen in 30inputlirc vom Original übernehmen und nicht anpassen:

Source code

1
2
start on starting vdr
stop on runlevel [016]

3) die Tastatureingabe in VDR blockieren (laut steffen_b: XKeySym aus der remote.conf für vdr-sxfe, bei xine in der Keymap alle Tasten auf VOID setzen).

gda

Im Forum Zuhause

Posts: 12,755

Location: HH

  • Send private message

13

Wednesday, September 29th 2010, 11:30am

Quoted

Original von grmpl
3) die Tastatureingabe in VDR blockieren (laut steffen_b: XKeySym aus der remote.conf für vdr-sxfe, bei xine in der Keymap alle Tasten auf VOID setzen).

Das sollte nicht nötig sein. IIRC erledigt das svdrpsend remo off/on auch.

Gerald

OrigenAE S16T, ASRock K10N78D, Athlon II X2 4400e (unlocked Sempron 140), 2GB RAM, OCZ Vertex 30GB, 2xWD10EADS, 3xKNC One TV-Station DVB-C, G210 MSI N210-MD512H, yaVDR.
Seagate Dockstar, Debian Squeeze, VDR 1.7.16, 500 GB 2,5" HD, 2xSundtek MediaTV Home DVB-C/T.

14

Wednesday, September 29th 2010, 11:43am

Schon recht Gerald, aber Tastatur Tasten und Remote Tasten würden so beide zum vdr gelangen (1-0, Pfeiltasten, Enter) Deswegen müssen sie ungemapped sein.
VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

gda

Im Forum Zuhause

Posts: 12,755

Location: HH

  • Send private message

15

Wednesday, September 29th 2010, 12:03pm

Ach ja, du hast recht, sorry.

Gerald

OrigenAE S16T, ASRock K10N78D, Athlon II X2 4400e (unlocked Sempron 140), 2GB RAM, OCZ Vertex 30GB, 2xWD10EADS, 3xKNC One TV-Station DVB-C, G210 MSI N210-MD512H, yaVDR.
Seagate Dockstar, Debian Squeeze, VDR 1.7.16, 500 GB 2,5" HD, 2xSundtek MediaTV Home DVB-C/T.

16

Sunday, October 10th 2010, 11:23am

/dev/input/by-id nicht vorhanden

Hallo Leute,

ich habe auch die HAMA MCE FB und habe auch schon viele Tutorials durch. Dieses hier scheint mit vielverprechend, aber leider bin ich auch an einer Stelle zunächst gescheitert.

Bei Einbinden des Events über die ID fehlt mir der Ordner:

Source code

1
/dev/input/by-id


auch ein Ordner /dev/input/by-path, wie er in der ubuntu-wiki angepriesen wird ist bei mir nicht vorhanden.

cat /proc ... zeigt mit mir folgendes:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
U: Uniq=
H: Handlers=kbd event0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
U: Uniq=
H: Handlers=kbd event1
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0017 Vendor=0001 Product=0001 Version=0100
N: Name="Macintosh mouse button emulation"
P: Phys=
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=mouse0 event2
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

I: Bus=0001 Vendor=10ec Product=0888 Version=0001
N: Name="HDA Digital PCBeep"
P: Phys=card0/codec#0/beep0
S: Sysfs=/devices/pci0000:00/0000:00:08.0/input/input5
U: Uniq=
H: Handlers=kbd event3
B: EV=40001
B: SND=6

I: Bus=0003 Vendor=0000 Product=0000 Version=0001
N: Name="Sundtek Ltd. Remote Control"
P: Phys=
S: Sysfs=/devices/virtual/input/input6
U: Uniq=
H: Handlers=kbd event4
B: EV=100017
B: KEY=fc000 100002 0 0 0 0 8000 4080 1 1e1680 0 0 10000ffc
B: REL=0
B: MSC=0


...und dmesg meldet beim Einstecken:

Source code

1
2
3
4
[  363.009232] input: HID 05a4:9881 as /devices/pci0000:00/0000:00:06.0/usb4/4-3/4-3:1.0/input/input7
[  363.009645] generic-usb 0003:05A4:9881.0003: input,hidraw0: USB HID v1.10 Keyboard [HID 05a4:9881] on usb-0000:00:06.0-3/input0
[  363.040467] input: HID 05a4:9881 as /devices/pci0000:00/0000:00:06.0/usb4/4-3/4-3:1.1/input/input8
[  363.041372] generic-usb 0003:05A4:9881.0004: input,hidraw1: USB HID v1.10 Mouse [HID 05a4:9881] on usb-0000:00:06.0-3/input1


...also gehe ich davon aus, dass etwas erkannt wurde. Aber irgendwie wird die FB j aanscheinend nicht richtig eingebunden. Weiß nun nicht mehr weiter. Please Help :-)

Tottenberger

17

Monday, October 11th 2010, 8:31am

RE: /dev/input/by-id nicht vorhanden

Hi,
Dein Kernel erkennt die Fernbedienung, aber die /dev/input/input7 und /dev/input/input8, werden nicht angelegt?
Du bist Dir sicher, dass Du Deine Ausgabe von /proc... nach dem Einstecken des USB-Empfängers der HAMA-Fernbedienung gezogen hast? ;-)

Wenn der Kernel das Device erkennt aber keine entsprechenden Input-Devices angelegt werden, dann vermute ich, dass an Deinen udev-Regeln was nicht stimmt.

Du hast einen Sundtek-Empfänger? Ich könnte mir vorstellen, dass dessen Installationsroutine Deine udev-Regeln durcheinander gebracht hat. Wenn ich mir diverse Postings auf dem Sundtek-Supportportal so ansehe, scheint der dort recht tief einzugreifen.

18

Monday, October 11th 2010, 12:04pm

jep der installer von sundtek ist in dem Bezug böse und wenig hilfreich. Alle Sundtek remote udev rules aus dem system schmeissen, udev neu starten danach wieder probieren.
VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

19

Monday, October 11th 2010, 2:07pm

/opt/bin/lirc.sh passt jeweils die LIRC Kofiguration an.

Schoener waere es wenn man mehrere IR Empfaenger mit Lirc konfigurieren koennte - dem scheint aber nicht so der Fall zu sein.
Die LIRC Konfiguration wird hauptsaechlich auf das Input node des USB Empfaengers umgeschrieben (mit oben genanntem Skript).

Dies mag boese fuer die einen sein, aber auch hilfreich fuer die anderen. Besser waere es wie erwaehnt wenn Lirc mehrere Geraete unterstuetzen wuerde.

gda

Im Forum Zuhause

Posts: 12,755

Location: HH

  • Send private message

20

Monday, October 11th 2010, 2:46pm

Quoted

Original von Sundtek
Dies mag boese fuer die einen sein, aber auch hilfreich fuer die anderen. Besser waere es wie erwaehnt wenn Lirc mehrere Geraete unterstuetzen wuerde.

IMHO geht das, auch wenn ich es noch nicht selbst gemacht habe. Einfach mehre Lirc-Daemons starten und einer verarbeitet neben den Signalen seiner Fernbedienung auch noch die Ausgaben der andern Daemons. Allerdings sieht das unser Webfrontend nicht vor, man muss also selbst Hand anlegen. Es ist auch nicht absehbar, dass wir in näherer Zukunft ein solches Szenario unterstützen werden, es ist etwas zu exotisch in meinen Augen. Anderes hat einfach höhere Priorität.

Gerald

OrigenAE S16T, ASRock K10N78D, Athlon II X2 4400e (unlocked Sempron 140), 2GB RAM, OCZ Vertex 30GB, 2xWD10EADS, 3xKNC One TV-Station DVB-C, G210 MSI N210-MD512H, yaVDR.
Seagate Dockstar, Debian Squeeze, VDR 1.7.16, 500 GB 2,5" HD, 2xSundtek MediaTV Home DVB-C/T.