Nach der ersten HowTo, wo ich beschrieben habe, wie man den IR605Q MCE RC6 IR-Empfänger mit LIRC konfiguriert, folgt nun, wie versprochen, die Lircmap.xml und Keyboard.xml für XBMC. Mit der Default-Konfiguration von XBMC läuft die Harmony (Profil: Windows Media Center SE) zwar auch, aber nicht alle Tasten funktionieren so wie sie sollen. Die Stop-Taste beispielsweise spult vor, die Play-Taste stoppt, die Lautstärke lässt sich über die Harmony nicht regulieren, etc. pp..
UPDATE/EDIT: So wählt ihr das richtige MCE Profil (Windows Media Center SE) für eure Harmony – HowTo – Danke Fab.
Das ändern wir mit unserer Lircmap.xml und Keyboard.xml für XBMC.
~/.xbmc/userdata/Lircmap.xml – Die Datei Lircmap.xml stellt das „Bindeglied“ zwischen der lircd.conf von Lirc und der Keymap.xml von XBMC dar.
~/.xbmc/userdata/keymaps/Keymap.xml / Keyboard.xml – XBMC führt die in der Keymap.xml definierten Aktionen, die den entsprechenden „XBMC-Tasten“ zugeordnet sind, aus. Grundsätzlich ist der Name der XML Datei in ~/.xbmc/userdata/keymaps egal, es zählt eigentlich nur was am Ende in der Datei drin steht. Es hat sich aber irgendwie eingebürgert von der „Keymap.xml“ zu reden, wenn es um die Steuerdatei für die Bedienung von XBMC mit einer Fernbedienung geht.
Quelle: xbmcwiki.ztreambox.org – Lircmap.xml und Keymap.xml
~/.xbmc/userdata/Lircmap.xml
UPDATE_2013-01-09: Mit LIRC 0.9.0 (lircd -v) haben sich die Namen der Tasten verändert, einfach die Lircmap.xml von hier nehmen. (Bsp.: Power zu KEY_POWER)
<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml --> <!-- --> <!-- How to add remotes --> <!-- <remote device="name_Lirc_calls_the_remote"> --> <!-- --> <!-- For the commands the layout following layout is used --> <!-- <XBMC_COMMAND>LircButtonName</XBMC_COMMAND> --> <!-- --> <!-- For a list of XBMC_COMMAND's check out the <remote> sections of keymap.xml --> <!-- --> <!-- Logitech Harmony --> <!-- loggn.de - Nico Hartung --> <!-- https://www.loggn.de/linux-ubuntu-lirc-xbmc-mit-logitech-harmony-steuern-lircmap-xml-und-keyboard-xml/ --> <!-- --> <lircmap> <remote device="mceusb"> <!-- no Display --> <power>Power</power> <teletext>Teletext</teletext> <menu>DVD</menu> <back>Back</back> <info>More</info> <guide>Guide</guide> <red>Red</red> <green>Green</green> <yellow>Yellow</yellow> <blue>Blue</blue> <left>Left</left> <right>Right</right> <up>Up</up> <down>Down</down> <select>OK</select> <volumeplus>VolUp</volumeplus> <volumeminus>VolDown</volumeminus> <pageplus>ChanUp</pageplus> <pageminus>ChanDown</pageminus> <mute>Mute</mute> <play>Play</play> <pause>Pause</pause> <stop>Stop</stop> <forward>Forward</forward> <reverse>Rewind</reverse> <skipplus>Skip</skipplus> <skipminus>Replay</skipminus> <record>Record</record> <one>One</one> <two>Two</two> <three>Three</three> <four>Four</four> <five>Five</five> <six>Six</six> <seven>Seven</seven> <eight>Eight</eight> <nine>Nine</nine> <zero>Zero</zero> <clear>Clear</clear> <enter>Enter</enter> <!-- with Display --> <display>Aspect</display> <start>Home</start> <myvideo>Videos</myvideo> <mymusic>Music</mymusic> <mypictures>Pictures</mypictures> <mytv>TV</mytv> <!-- old versions of harmony --> <star>Star</star> <hash>Hash</hash> </remote> </lircmap>
~/.xbmc/userdata/keymaps/Keyboard.xml
<!-- This file contains the mapping of keys (gamepad, remote, and keyboard) to actions within XBMC --> <!-- The <global> section is a fall through - they will only be used if the button is not --> <!-- used in the current window's section. Note that there is only handling --> <!-- for a single action per button at this stage. --> <!-- For joystick/gamepad configuration under linux/win32, see below as it differs from xbox --> <!-- gamepads. --> <!-- --> <!-- The format is: --> <!-- <device> --> <!-- <button>action</button> --> <!-- </device> --> <!-- --> <!-- To map keys from other remotes using the RCA protocol, you may add <universalremote> blocks --> <!-- In this case, the tags used are <obc#> where # is the original button code (OBC) of the key --> <!-- You set it up by adding a <universalremote> block to the window or <global> section: --> <!-- <universalremote> --> <!-- <obc45>Stop</obc45> --> <!-- </universalremote> --> <!-- --> <!-- Note that the action can be a built-in function. --> <!-- eg <B>XBMC.ActivateWindow(MyMusic)</B> --> <!-- would automatically go to My Music on the press of the B button. --> <!-- --> <!-- Logitech Harmony --> <!-- loggn.de - Nico Hartung --> <!-- https://www.loggn.de/linux-ubuntu-lirc-xbmc-mit-logitech-harmony-steuern-lircmap-xml-und-keyboard-xml/ --> <!-- --> <keymap> <global> <remote> <!-- no Display --> <power>XBMC.ActivateWindow(shutdownmenu)</power> <!-- crash <teletext>XBMC.ActivateWindow(Teletext)</teletext> --> <menu>PreviousMenu</menu> <back>Back</back> <info>Info</info> <guide>ContextMenu</guide> <red>Playlist</red> <green>ToggleWatched</green> <yellow>XBMC.ActivateWindow(Music)</yellow> <blue>XBMC.ActivateWindow(VideoLibrary)</blue> <left>Left</left> <right>Right</right> <up>Up</up> <down>Down</down> <select>Select</select> <volumeplus>VolumeUp</volumeplus> <volumeminus>VolumeDown</volumeminus> <pageplus>PageUp</pageplus> <pageminus>PageDown</pageminus> <mute>Mute</mute> <play>Play</play> <pause>Pause</pause> <stop>Stop</stop> <forward>FastForward</forward> <reverse>Rewind</reverse> <skipplus>SkipNext</skipplus> <skipminus>SkipPrevious</skipminus> <record>Screenshot</record> <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> <zero>Number0</zero> <clear>Delete</clear> <enter>FullScreen</enter> <!-- with Display --> <display>FullScreen</display> <start>PreviousMenu</start> <myvideo>XBMC.ActivateWindow(MyVideo)</myvideo> <mymusic>XBMC.ActivateWindow(MyMusic)</mymusic> <mypictures>XBMC.ActivateWindow(MyPictures)</mypictures> <mytv>XBMC.ActivateWindow(10004)</mytv> <!-- old versions of harmony --> <star>Move</star> <hash>Rename</hash> </remote> </global> <Home> <remote> <info>XBMC.ActivateWindow(SystemInfo)</info> <clear>XBMC.ActivateWindow(Weather)</clear> <hash>XBMC.ActivateWindow(Settings)</hash> <zero>XBMC.ActivateWindow(Settings)</zero> </remote> </Home> <MyTV> <remote> <clear>Delete</clear> </remote> </MyTV> <MyFiles> <remote> <clear>Delete</clear> <zero>Highlight</zero> <star>Move</star> <hash>Rename</hash> </remote> </MyFiles> <MyMusicPlaylist> <remote> <clear>Delete</clear> <zero>Delete</zero> </remote> </MyMusicPlaylist> <MyMusicPlaylistEditor> <remote> <zero>Queue</zero> </remote> </MyMusicPlaylistEditor> <MyMusicFiles> <remote> <zero>Queue</zero> <star>Queue</star> </remote> </MyMusicFiles> <MyMusicLibrary> <remote> <zero>Queue</zero> <star>Queue</star> </remote> </MyMusicLibrary> <FullscreenVideo> <remote> <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> <back>SmallStepBack</back> <menu>OSD</menu> <start>OSD</start> <select>AspectRatio</select> <guide>CodecInfo</guide> <info>Info</info> <!-- crash <teletext>XBMC.ActivateWindow(Teletext)</teletext> --> <star>NextSubtitle</star> <yellow>NextSubtitle</yellow> <hash>AudioNextLanguage</hash> <blue>AudioNextLanguage</blue> </remote> </FullscreenVideo> <VideoTimeSeek> <remote> <select>Select</select> <enter>Select</enter> </remote> </VideoTimeSeek> <FullscreenInfo> <remote> <guide>CodecInfo</guide> <info>Back</info> <menu>OSD</menu> </remote> </FullscreenInfo> <PlayerControls> <remote> <menu>Back</menu> </remote> </PlayerControls> <Visualisation> <remote> <left>PreviousPreset</left> <right>NextPreset</right> <up>IncreaseRating</up> <down>DecreaseRating</down> <back>LockPreset</back> <guide>CodecInfo</guide> <select>XBMC.ActivateWindow(VisualisationPresetList)</select> <menu>XBMC.ActivateWindow(MusicOSD)</menu> <info>Info</info> <playlist>XBMC.ActivateWindow(PVROSDChannels)</playlist> </remote> </Visualisation> <MusicOSD> <remote> <menu>Back</menu> <guide>Info</guide> <info>CodecInfo</info> </remote> </MusicOSD> <VisualisationSettings> <remote> <menu>Back</menu> </remote> </VisualisationSettings> <VisualisationPresetList> <remote> <menu>Back</menu> </remote> </VisualisationPresetList> <SlideShow> <remote> <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> <info>CodecInfo</info> <skipplus>NextPicture</skipplus> <skipminus>PreviousPicture</skipminus> <guide>Info</guide> <select>Rotate</select> </remote> </SlideShow> <ScreenCalibration> <remote> <select>NextCalibration</select> <zero>ResetCalibration</zero> <display>NextResolution</display> <xbox>NextResolution</xbox> </remote> </ScreenCalibration> <GUICalibration> <remote> <select>NextCalibration</select> <zero>ResetCalibration</zero> </remote> </GUICalibration> <VideoOSD> <remote> <menu>Back</menu> <start>Back</start> </remote> </VideoOSD> <VideoMenu> <remote> <menu>OSD</menu> <info>Info</info> <guide>CodecInfo</guide> <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>Select</play> </remote> </VideoMenu> <OSDVideoSettings> <remote> <menu>Back</menu> <start>Back</start> </remote> </OSDVideoSettings> <OSDAudioSettings> <remote> <menu>Back</menu> <start>Back</start> </remote> </OSDAudioSettings> <VideoBookmarks> <remote> <menu>Back</menu> <start>Back</start> <zero>Delete</zero> </remote> </VideoBookmarks> <MyVideoLibrary> <remote> <zero>Queue</zero> <clear>Delete</clear> </remote> </MyVideoLibrary> <MyVideoFiles> <remote> <zero>Queue</zero> <star>Queue</star> </remote> </MyVideoFiles> <MyVideoPlaylist> <remote> <clear>Delete</clear> <zero>Delete</zero> </remote> </MyVideoPlaylist> <VirtualKeyboard> <remote> <back>BackSpace</back> <clear>BackSpace</clear> <star>Shift</star> <hash>Symbols</hash> <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> <enter>Enter</enter> <pageminus>CursorLeft</pageminus> <pageplus>CursorRight</pageplus> </remote> </VirtualKeyboard> <ContextMenu> <remote> <guide>Back</guide> </remote> </ContextMenu> <Scripts> <remote> <info>Info</info> </remote> </Scripts> <NumericInput> <remote> <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> <enter>Enter</enter> <back>BackSpace</back> </remote> </NumericInput> <Weather> <remote> <back>PreviousMenu</back> </remote> </Weather> <TV> <remote> <red>Red</red> <green>Green</green> <yellow>Yellow</yellow> <blue>Blue</blue> </remote> </TV> <Settings> <remote> <back>PreviousMenu</back> </remote> </Settings> <AddonBrowser> <remote> </remote> </AddonBrowser> <AddonInformation> <remote> <back>Close</back> </remote> </AddonInformation> <AddonSettings> <remote> <back>Close</back> </remote> </AddonSettings> <TextViewer> <remote> <back>Close</back> </remote> </TextViewer> <MyPicturesSettings> <remote> <back>PreviousMenu</back> </remote> </MyPicturesSettings> <MyProgramsSettings> <remote> <back>PreviousMenu</back> </remote> </MyProgramsSettings> <MyWeatherSettings> <remote> <back>PreviousMenu</back> </remote> </MyWeatherSettings> <MyMusicSettings> <remote> <back>PreviousMenu</back> </remote> </MyMusicSettings> <SystemSettings> <remote> <back>PreviousMenu</back> </remote> </SystemSettings> <MyVideosSettings> <remote> <back>PreviousMenu</back> </remote> </MyVideosSettings> <NetworkSettings> <remote> <back>PreviousMenu</back> </remote> </NetworkSettings> <AppearanceSettings> <remote> <back>PreviousMenu</back> </remote> </AppearanceSettings> <Profiles> <remote> <back>PreviousMenu</back> </remote> </Profiles> <systeminfo> <remote> <back>PreviousMenu</back> </remote> </systeminfo> <shutdownmenu> <remote> <back>PreviousMenu</back> </remote> </shutdownmenu> <submenu> <remote> <back>PreviousMenu</back> </remote> </submenu> <MusicInformation> <remote> <info>Back</info> </remote> </MusicInformation> <MovieInformation> <remote> <info>Back</info> </remote> </MovieInformation> <LockSettings> <remote> <menu>Back</menu> </remote> </LockSettings> <ProfileSettings> <remote> <menu>Back</menu> </remote> </ProfileSettings> <PictureInfo> <remote> <skipplus>NextPicture</skipplus> <skipminus>PreviousPicture</skipminus> <info>Back</info> </remote> </PictureInfo> <Teletext> <remote> <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> <red>Red</red> <green>Green</green> <yellow>Yellow</yellow> <blue>Blue</blue> <info>Info</info> <menu>Back</menu> <teletext>Back</teletext> </remote> </Teletext> <Favourites> <remote> <back>Close</back> </remote> </Favourites> <PVROSDChannels> <remote> <back>Close</back> <menu>Close</menu> <start>Close</start> <playlist>Close</playlist> </remote> </PVROSDChannels> <PVROSDGuide> <remote> <back>Close</back> <menu>Close</menu> <start>Close</start> </remote> </PVROSDGuide> <PVROSDDirector> <remote> <back>Close</back> <menu>Close</menu> </remote> </PVROSDDirector> <PVROSDCutter> <remote> <back>Close</back> <menu>Close</menu> </remote> </PVROSDCutter> <MyTVSettings> <remote> <back>PreviousMenu</back> </remote> </MyTVSettings> </keymap>
Weiterführende Links:
HTPC – Media Center – Logitech Harmony reagiert träge unter Windows und Linux
Ubuntu (alle Versionen) – LIRC Konfiguration mit RC6 IR605Q (147a:e03e) und Logitech Harmony
Quellen:
XBMC Main Repository – xbmc / system / Lircmap.xml (Standardkonfiguration)
XBMC Main Repository – xbmc / system / keymaps / keyboard.xml (Standardkonfiguration)
Hi,
ich habe die Config vorgenommen wie Du es beschrieben hast.
Folgenden Receiver habe ich:
usb 4-4.1: New USB device found, idVendor=0471, idProduct=060c
usb 4-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-4.1: Product: BB+ Dongle(e.d)
IRW zeigt aber nur 2 Ausgaben für die numerischen Tasten + Guide und Info….
Die Tasten habe in XBMC eine Funktion. Der Rest will nicht.
Hast Du ne Idee woran das liegen könnte?
Gruß
fcc
Hi fcc, du musst die Lircmap.xml (XBMC) an deine lircd.conf (LIRC), wo für LIRC die Tasten festgelegt werden, für deinen IR-Empfänger (BB+ Dongle) anpassen.
Aber, wenn irw nur 2 Ausgaben anzeigt, dann hast du auch eine falsche lircd.conf – die ist von IR-Receiver zu IR-Receiver unterschiedlich.
Entweder du kaufst dir den gleichen Empfänger oder musst selbst Hand anlegen.
Gruß
Vielen Dank für die schnelle Antwort.
Irgendwie war meine Vorstellung, dass alle RC6 Receiver die selben Codes verwenden. 😉
Dann werde ich mal eine eigene lircd.conf bauen müssen.
Danke für die Erleuchtung 😉
fcc
Hi fcc, würde mich wundern wenn es so wäre – als Harmony-Profil hast du aber „Windows Media Center SE“ festgelegt oder?
Gruß Nico
Hi Nico,
Ja. Alle Einstellungen habe ich nach Deinen HowTos bzw. Referenzen erledigt.
Gruss
Fcc
Ok, ich habe mit mittel irrecord eine lircd.conf erstellt.
Allerdings funktionierte es nur im Raw Format.
irrecord -a funktioniert nicht. Das ganze File kann ich nicht convertieren – nur einzelne Blöcke.
Es hat den Anschein, dass die Tastencodes unterschiedlich konvertiert sind.
Jetzt funktionierts mit irw. Die XBMC Config werde ich noch testen – sieht aber auf den ersten Blick ganz gut aus.
Danke für die Tips!!
Gruß
fcc