Suche

lichtschattenblog

Monat

Dezember 2016

Einrichtung Fernbedienung Rii mini i7 unter Kodi 17

In diesem Artikel beschreibe ich meine Einrichtung meiner Rii Mini i7 Funk-Fernbedienung. Ich verwende hierbei Kodi 17 (aktuell Beta 7) mit Windows 10 64bit und dem Kodi-Standard-Skin Estuary.

Vor der Kodi 17-Installation hatte ich die bestehenden Kodi-Verzeichnisse unter:

  • %appdata%
  • %programfiles(x86)%

umbenannt. Dadurch stehen keine alten Einstellungen etc. zur Verfügung.

Es gibt bereits einen Beitrag von mir bezüglich der Einrichtung der Fernbedienung für Kodi 16. Durch Anpassungen innerhalb Kodi zu Version 17 waren mir ein paar Fehler im kodi.log aufgefallen, die ich mit dem Versionswechsel korrigieren musste:

01:02:20 T:8908    INFO: Loading special://masterprofile/keymaps/riiminii7.xml
01:02:20 T:8908   ERROR: Window Translator: Can't find window files
01:02:20 T:8908   ERROR: Window Translator: Can't find window musicfiles
01:02:20 T:8908   ERROR: Window Translator: Can't find window musiclibrary
01:02:20 T:8908   ERROR: Window Translator: Can't find window visualisationsettings
01:02:20 T:8908   ERROR: Window Translator: Can't find window guicalibration
01:02:20 T:8908   ERROR: Window Translator: Can't find window videolibrary
01:02:20 T:8908   ERROR: Window Translator: Can't find window videofiles
01:02:20 T:8908   ERROR: Window Translator: Can't find window tvsettings

Wer entsprechende Anpassungen wie hier beschrieben durchführen möchte, sollte sich folgende Beiträge im Wiki zu Kodi ansehen:

Wer Tasten mit Kodi-Funktionen erweitern möchte anbei ein Beispiel für die Funktion reloadkeymaps:

       <r mod="longpress">XBMC.Action(reloadkeymaps)</r>

Bei Verwendung von eigenen Python-Skripten (Speicherort: %appdata%\kodi\userdata) ist es zum Beispiel:

       <w mod="longpress">RunScript(special://profile/get_window_id.py)</w>

Zusätzlich empfehle ich meine weiteren Beiträge zur Ermittlung:

Bei Problemen, zur Fehlersuche und zum Verständnis der Arbeitsweise von Kodi empfiehlt es sich dringend das LOG zu aktivieren.

 

Zur erneuten Einrichtung meiner Rii mini i7 beschreibe ich folgende Punkte:

  • Dokumentation der Tastenbelegungen
  • Deaktivierung des Mauszeigers und Aktivierung Mausklick
  • Beschreibung meiner Konfiguration und Anpassungen am Beispiel zum Abspielen von Videodateien
  • Erweiterung meiner Konfiguration um die Verwendung der seit Kodi 16 optionalen Verwendung des langen Tastendrucks am Beispiel des Wechsels der Tonspur

 

Zu Beginn noch ein wichtiger Hinweis. Zur Anpassung des Keymapping muss nicht eine große Datei erstellt werden, sondern es können eine Vielzahl von Dateien gleichzeitg verwendet werden. Kodi liest zu Beginn unsere xml-Dateien im Verzeichnis:

%appdata%\Kodi\userdata\keymaps

aus. Wichtig ist hierbei zu beachten, dass innerhalb der Dateien Zuordnungen nicht doppelt erfolgen. Sprich, zum Beispiel, STRG + M für Tag Global darf nicht zwei unterschiedlichen Funktionen zugeordnet werden. Welche Funktion aktiv wird hängt mit dem Dateinamen zusammen. Kodi liest Alphabetisch erst die Keymap-Dateien aus dem System-Verzeichnis, dann aus dem hier verwendeten User-Verzeichnis ein. Sofern keine doppelten Zuordnungen vorliegen ist die Namenswahl nicht von großer Bedeutung.

 

Dokumentation der Tastenbelegungen

Basierend auf meinem Beitrag:

habe ich zunächst die Tastenbelegungen dokumentiert. Zu beachten ist hierbei dass die Fernbedienung den sogenannten Air-Modus nutzt. Zum Wechsel des Modus wird lediglich die Taste links oben von den Richtungstasten verwendet. Dadurch ergeben sich für wenige Tasten eine doppelte Nutzung. Die OK-Taste ist entweder eine Tastatur-Eingabe oder die linke Maustaste, bzw. die linke Maustaste, bzw. die gedrückte linke Maustaste bei aktiver Mausbewegung (Dragging). Die Taste rechts oben von den Richtungstasten wird bereits vom Kodi als Zurück interpretiert und ist entweder rechte Maustaste, bzw. die rechte Maustaste, bzw. die gedrückte rechte Maustaste bei aktiver Mausbewegung (rDragging).

Im kodi.log waren hierzu zum Beispiel folgende Meldungen zu sehen:

unknown mouse command 57605
unknown mouse command 57606
unknown mouse command 57607
unknown mouse command 57608

Gemäß der Dokumentation für xbmcgui.py (https://github.com/romanvm/Kodistubs/blob/master/xbmcgui.py) sind dies fehlende Zuordnungen für:

KEY_MOUSE_DRAG_END = 57606
KEY_MOUSE_DRAG_START = 57605
KEY_MOUSE_RDRAG = 57607
KEY_MOUSE_RDRAG_START = 57608

die mindestens realisiert werden müssen. Bei meinigen bisherigen Tests habe ich folgende zu beachtende Varianten (fett hervorgehoben) dokumentieren können:

KEY_INVALID = 65535
KEY_MOUSE_CLICK = 57344
KEY_MOUSE_DOUBLE_CLICK = 57360
KEY_MOUSE_DRAG = 57604
KEY_MOUSE_DRAG_END = 57606
KEY_MOUSE_DRAG_START = 57605
KEY_MOUSE_END = 61439
KEY_MOUSE_LONG_CLICK = 57376
KEY_MOUSE_MIDDLECLICK = 57346
KEY_MOUSE_MOVE = 57603
KEY_MOUSE_NOOP = 61439
KEY_MOUSE_RDRAG = 57607
KEY_MOUSE_RDRAG_END = 57609
KEY_MOUSE_RDRAG_START = 57608
KEY_MOUSE_RIGHTCLICK = 57345
KEY_MOUSE_START = 57344
KEY_MOUSE_WHEEL_DOWN = 57602
KEY_MOUSE_WHEEL_UP = 57601
KEY_TOUCH = 61440
KEY_UNICODE = 61952
KEY_VKEY = 61440
KEY_VMOUSE = 61439

 

 

Siehe auch:

Im Ergebnis habe ich folgende Tastenbelegungen:

kodi_rii_mini_i7

 

Deaktivierung des Mauszeigers und Aktivierung Mausklick

Zu Beginn deaktivieren wir für alle Ansichten den Mauszeiger und aktivieren die Maustasten links und rechts. Auf Basis meiner Erfahrung, dass teilweise die globale Steuerung nicht immer aktiv wird, habe ich die jeweiligen Zuordnungen für alle Ansichten definiert.

Als Grundlage können wir die keymap.xml-Datei aus dem Verzeichnis %programfiles(x86)%\Kodi\system\keymaps verwenden. Jedoch sind hierbei nicht alle im Kodi verwendeten Ansichten hinterlegt. Ich habe daher die Namen aller dokumentierten Ansichten von:

kopiert und folgende definierte Aktionen jeweils zugeordnet:

  • Verwendung der linken Maustaste mittels <leftclick> und <mousedragend> zu Select
          <leftclick>Select</leftclick>
          <mousedragend>Select</mousedragend>
  • Verwendung der rechten Maustaste mittels <rightclick> und <mouserdragend> zu Back
          <rightclick>Back</rightclick>
          <mouserdragend>Back</mouserdragend>
  • Deaktivierung der Darstellung bei einfacher Mausbewegung mittels <mousemove> zu noop
          <mousemove>noop</mousemove>
  • Deaktivierung der Darstellung des Mauszeigers bei Mausbewegung und aktiver Maus-Taste mittels <mousedrag> zu noop
          <mousedrag>noop</mousedrag>

Im Ergebnis habe ich die Datei riiminii7_Kodi17_mouse_support.xml generiert:

<?xml version="1.0" encoding="UTF-8"?>
<!-- https://lichtschattenblog.wordpress.com -->
<keymap>

  <global>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </global>

  <home>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </home>

  <programs>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </programs>

  <pictures>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pictures>

  <filemanager>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </filemanager>

  <settings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </settings>

  <systeminfo>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </systeminfo>

  <testpattern>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </testpattern>

  <screencalibration>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </screencalibration>

  <systemsettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </systemsettings>

  <servicesettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </servicesettings>

  <pvrsettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrsettings>

  <videos>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </videos>

  <videoplaylist>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </videoplaylist>

  <loginscreen>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </loginscreen>

  <playersettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </playersettings>

  <mediasettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </mediasettings>

  <interfacesettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </interfacesettings>

  <profiles>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </profiles>

  <skinsettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </skinsettings>

  <addonbrowser>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </addonbrowser>

  <eventlog>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </eventlog>

  <yesnodialog>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </yesnodialog>

  <progressdialog>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </progressdialog>

  <virtualkeyboard>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </virtualkeyboard>

  <volumebar>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </volumebar>

  <contextmenu>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </contextmenu>

  <notification>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </notification>

  <numericinput>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </numericinput>

  <gamepadinput>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </gamepadinput>

  <shutdownmenu>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </shutdownmenu>

  <playercontrols>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </playercontrols>

  <seekbar>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </seekbar>

  <playerprocessinfo>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </playerprocessinfo>

  <musicosd>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </musicosd>

  <visualisationpresetlist>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </visualisationpresetlist>

  <osdvideosettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </osdvideosettings>

  <osdaudiosettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </osdaudiosettings>

  <videobookmarks>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </videobookmarks>

  <filebrowser>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </filebrowser>

  <networksetup>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </networksetup>

  <mediasource>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </mediasource>

  <profilesettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </profilesettings>

  <locksettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </locksettings>

  <contentsettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </contentsettings>

  <favourites>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </favourites>

  <songinformation>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </songinformation>

  <smartplaylisteditor>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </smartplaylisteditor>

  <smartplaylistrule>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </smartplaylistrule>

  <busydialog>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </busydialog>

  <pictureinfo>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pictureinfo>

  <addonsettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </addonsettings>

  <accesspoints>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </accesspoints>

  <fullscreeninfo>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </fullscreeninfo>

  <sliderdialog>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </sliderdialog>

  <addoninformation>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </addoninformation>

  <textviewer>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </textviewer>

  <peripheralsettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </peripheralsettings>

  <extendedprogressdialog>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </extendedprogressdialog>

  <mediafilter>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </mediafilter>

  <subtitlesearch>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </subtitlesearch>

  <audiodspmanager>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </audiodspmanager>

  <osdaudiodspsettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </osdaudiodspsettings>

  <osdcmssettings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </osdcmssettings>

  <musicplaylist>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </musicplaylist>

  <music>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </music>

  <musicplaylisteditor>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </musicplaylisteditor>

  <pvrguideinfo>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrguideinfo>

  <pvrrecordinginfo>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrrecordinginfo>

  <pvrtimersetting>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrtimersetting>

  <pvrgroupmanager>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrgroupmanager>

  <pvrchannelmanager>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrchannelmanager>

  <pvrguidesearch>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrguidesearch>

  <pvrchannelscan>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrchannelscan>

  <pvrupdateprogress>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrupdateprogress>

  <pvrosdchannels>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrosdchannels>

  <pvrosdguide>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrosdguide>

  <pvrradiordsinfo>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </pvrradiordsinfo>

  <tvchannels>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </tvchannels>

  <tvrecordings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </tvrecordings>

  <tvguide>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </tvguide>

  <tvtimers>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </tvtimers>

  <tvsearch>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </tvsearch>

  <radiochannels>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </radiochannels>

  <radiorecordings>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </radiorecordings>

  <radioguide>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </radioguide>

  <radiotimers>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </radiotimers>

  <radiosearch>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </radiosearch>

  <tvtimerrules>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </tvtimerrules>

  <radiotimerrules>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </radiotimerrules>

  <FullscreenLiveTV>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </FullscreenLiveTV>

  <fullscreenradio>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </fullscreenradio>

  <gamecontrollers>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </gamecontrollers>

  <selectdialog>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </selectdialog>

  <musicinformation>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </musicinformation>

  <okdialog>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </okdialog>

  <movieinformation>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </movieinformation>

  <fullscreenvideo>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </fullscreenvideo>

  <visualisation>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </visualisation>

  <slideshow>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </slideshow>

  <weather>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </weather>

  <screensaver>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </screensaver>

  <videoosd>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </videoosd>

  <videomenu>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </videomenu>

  <startwindow>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </startwindow>

  <startup>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </startup>

  <addon>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
      <rightclick>Back</rightclick>
      <mouserdragend>Back</mouserdragend>
      <mousemove>noop</mousemove>
      <mousedrag>noop</mousedrag>
    </mouse>
  </addon>


</keymap>

Mit Hinterlegung dieser Datei ins Verzeichnis

%appdata%\Kodi\userdata\keymaps

wird es nicht mehr möglich sein, den Mauszeiger bei Verwendung der Fernbedienung, zu sehen und erste Funktionen werden aktiv.

 

Beschreibung meiner Konfiguration und Anpassungen am Beispiel zum Abspielen von Videodateien

Zur Erinnerung haben wir als Belegung der Tasten an der Fernbedienung:

kodi_rii_mini_i7

Zunächst aktivieren wir Global für die Browser-Taste, dass die Ansicht auf den Home-Screen wechselt:

    <appcommand>
      <browser_home>ActivateWindow(Home)</browser_home>
    </appcommand>

und aktivieren für die Tasten links (61570), rechts (61571), hoch (61568) und runter (61569) die native Funktion. Ebenso für PgUp (61572) und PgDn (61573). Für die OK-Taste (61453) aktivieren wir wie für <leftclick> und <mousedragend> select. Für die Taste rechts unten (61656), optisch einem Menü, aktivieren wir das Kontext-Menü:

    <keyboard>
      <key id="61570">left</key>
      <key id="61571">right</key>
      <key id="61568">up</key>
      <key id="61569">down</key>
      <key id="61572">pageup</key>
      <key id="61573">pagedown</key>
      <key id="61453">select</key>
      <key id="61656">contextmenu</key>
    </keyboard>

Als Ergebnis für Global haben wir:

  <global>
    <appcommand>
      <browser_home>ActivateWindow(Home)</browser_home>
    </appcommand>
    <keyboard>
      <key id="61570">left</key>
      <key id="61571">right</key>
      <key id="61568">up</key>
      <key id="61569">down</key>
      <key id="61572">pageup</key>
      <key id="61573">pagedown</key>
      <key id="61453">select</key>
      <key id="61656">contextmenu</key>
    </keyboard>
  </global>

Zur Verbesserung der Benutzerfreundlichkeit aktivieren wir in der Home-Ansicht die Browser-Taste zum Wechsel in den Vollbildmodus:

  <Home>
    <appcommand>
      <browser_home>FullScreen</browser_home>
    </appcommand>
  </Home>

Hierdurch ist es möglich mit maximal zweimaliger Verwendung der Home-Taste in den Vollbildmodus zu wechseln!

Zusätzlich waren mir Probleme zur Verwendung der OK-Taste bei der virtuellen Tastatur unter Kodi 16 aufgefallen. Daher aktiviere ich diese Taste auch unter Kodi 17:

  <VirtualKeyboard>
    <keyboard>
      <key id="61453">select</key>
    </keyboard>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
    </mouse>
  </VirtualKeyboard>

Da in der Vollbildansicht im Videomodus die OK-Taste und das Kontext-Menü (61565) die gleiche Funktion haben, aktiviere ich für das Global gesetzte Kontext-Menü die Info-Ansicht:

  <FullscreenVideo>
    <keyboard>
      <key id="61656">info</key>
    </keyboard>
  </FullscreenVideo>

In der Info-Ansicht aktivieren wir für die Taste zum Kontext-Menü das sofortige Schließen der Ansicht. Zusätzlich aktivieren wir für diese Ansicht den Tonspurwechsel durch die OK-Taste die Lautstärke-Verstärkung im Kodi (das ist nicht die System-Lautstärke) für hoch und runter:

  <FullscreenInfo>
    <keyboard>
      <key id="61656">Back</key>
      <key id="61568">volampup</key> <!-- press up -->
      <key id="61569">volampdown</key> <!-- press down -->
      <key id="61453">AudioNextLanguage</key> <!-- press select -->
    </keyboard>
    <mouse>
      <leftclick>AudioNextLanguage</leftclick> <!-- press select -->
      <mousedragend>AudioNextLanguage</mousedragend> <!-- press select -->
    </mouse>
  </FullscreenInfo>

Als zusätzliche Möglichkeit aktivieren wir den Wechsel der Tonspur aus der VideoOSD-Ansicht:

  <VideoOSD>
    <keyboard>
      <key id="61656">AudioNextLanguage</key>
    </keyboard>
  </VideoOSD>

 

Das waren die mir sinnvoll erscheinenden Varianten für die Verwendung zur Abspielung von Video-Dateien. Ggf. können noch die Steuerung der 3D-Ansicht durch FullscreenInfo erfolgen:

      <key id=“61571″>StereoMode</key> <!– press right –>
      <key id=“61570″>ToggleStereoMode</key> <!– press left –>

 

In der Vollbildansicht für LiveTV ist zu empfehlen die OK-Taste zum Öffnen der Playlist zu aktivieren. Hierdurch werden die Kanäle sichtbar.

  <FullscreenLiveTV>
    <keyboard>
      <key id="61453">Playlist</key> <!-- press select -->
      <key id="61656">info</key>
    </keyboard>
    <mouse>
      <leftclick>Playlist</leftclick> <!-- press select -->
      <mousedragend>Playlist</mousedragend> <!-- press select -->
    </mouse>
  </FullscreenLiveTV>

 

In der Wiedergabeansicht für Audio-Dateien empfiehlt es sich zudem die Taste für das Kontext-Menü zum Öffnen der Playlist zu aktivieren.

  <Visualisation>
    <keyboard>
      <key id="61656">Playlist</key>
    </keyboard>
  </Visualisation>

 

Als Ergebnis haben die Datei riiminii7_Kodi17_standard.xml mit folgendem Inhalt:

<?xml version="1.0" encoding="UTF-8"?>
<!-- https://lichtschattenblog.wordpress.com -->

<keymap>
  <global>
    <appcommand>
      <browser_home>ActivateWindow(Home)</browser_home>
    </appcommand>
    <keyboard>
      <key id="142">ActivateWindow(shutdownmenu)</key>
      <key id="61570">left</key>
      <key id="61571">right</key>
      <key id="61568">up</key>
      <key id="61569">down</key>
      <key id="61572">pageup</key>
      <key id="61573">pagedown</key>
      <key id="61453">select</key>
      <key id="61656">contextmenu</key>
    </keyboard>
  </global>
  <Home>
    <appcommand>
      <browser_home>FullScreen</browser_home>
    </appcommand>
  </Home>
  <VirtualKeyboard>
    <keyboard>
      <key id="61453">select</key>
    </keyboard>
    <mouse>
      <leftclick>Select</leftclick>
      <mousedragend>Select</mousedragend>
    </mouse>
  </VirtualKeyboard>
  <FullscreenVideo>
    <keyboard>
      <key id="61656">info</key>
    </keyboard>
  </FullscreenVideo>
  <FullscreenInfo>
    <keyboard>
      <key id="61656">Back</key>
      <key id="61453">AudioNextLanguage</key> <!-- press select -->
      <key id="61568">volampup</key> <!-- press up -->
      <key id="61571">StereoMode</key> <!-- press right -->
      <key id="61569">volampdown</key> <!-- press down -->
      <key id="61570">ToggleStereoMode</key> <!-- press left -->
    </keyboard>
    <mouse>
      <leftclick>AudioNextLanguage</leftclick> <!-- press select -->
      <mousedragend>AudioNextLanguage</mousedragend> <!-- press select -->
    </mouse>
  </FullscreenInfo>
  <Visualisation>
    <keyboard>
      <key id="61656">Playlist</key>
    </keyboard>
  </Visualisation>
  <VideoOSD>
    <keyboard>
      <key id="61656">AudioNextLanguage</key>
    </keyboard>
  </VideoOSD>
  <FullscreenLiveTV>
    <keyboard>
      <key id="61453">Playlist</key> <!-- press select -->
      <key id="61656">info</key>
    </keyboard>
    <mouse>
      <leftclick>Playlist</leftclick> <!-- press select -->
      <mousedragend>Playlist</mousedragend> <!-- press select -->
    </mouse>
  </FullscreenLiveTV>
</keymap>

 

Erweiterung meiner Konfiguration um die Verwendung der seit Kodi 16 optionalen Verwendung des langen Tastendrucks am Beispiel des Wechsels der Tonspur

Bei meinen Tests mit einem langen Tastendruck zur Verwendung auf den Richtungstasten war mir aufgefallen, dass im Log unmittelbar sich die Ansichten ändern, ohne dass dies für mich ersichtlich war.

03:55:49.770 T:13400   DEBUG: ------ Window Init (Pointer.xml) ------
03:55:49.786 T:13400   DEBUG: ------ Window Init (VideoOSD.xml) ------
03:55:49.789 T:13400   DEBUG: ------ Window Init (DialogSeekBar.xml) ------
03:55:49.789 T:13400   DEBUG: ------ Window Init (Custom_1109_TopBarOverlay.xml) ------

Bei Verwendung der Aktionen VolumeUp und VolumeDown war es zusätzlich:

04:01:31.217 T:13400   DEBUG: ------ Window Init (DialogVolumeBar.xml) ------

Bei Verwendung der Aktionen VolamUp und VolamDown war es zusätzlich:

20:45:06.398 T:9804   DEBUG: ------ Window Init (DialogSlider.xml) ------

 

Im Ergebnis hatte ich für meine Tests folgenden Dateiinhalt:

<?xml version="1.0" encoding="UTF-8"?>
<!-- https://lichtschattenblog.wordpress.com -->

<keymap>

  <global>
    <keyboard>

      <up mod="longpress">VolumeUp</up>
      <down mod="longpress">VolumeDown</down>
      <left mod="longpress">noop</left>
      <right mod="longpress">noop</right>
      
    </keyboard>
  </global>

  <fullscreenvideo>
    <keyboard>

      <up mod="longpress">VolumeUp</up>
      <down mod="longpress">VolumeDown</down>
      <left mod="longpress">noop</left>
      <right mod="longpress">noop</right>
      
    </keyboard>
  </fullscreenvideo>
  
  <videoosd>
    <keyboard>

      <up mod="longpress">VolumeUp</up>
      <down mod="longpress">VolumeDown</down>  
      <left mod="longpress">noop</left>
      <right mod="longpress">noop</right>
      
    </keyboard>
  </videoosd>
  
  <seekbar>
    <keyboard>

      <up mod="longpress">VolumeUp</up>
      <down mod="longpress">VolumeDown</down>  
      <left mod="longpress">noop</left>
      <right mod="longpress">noop</right>
      
    </keyboard>
  </seekbar>
  
  <volumebar>
    <keyboard>

      <up mod="longpress">VolumeUp</up>
      <down mod="longpress">VolumeDown</down>  
      <left mod="longpress">noop</left>
      <right mod="longpress">noop</right>
      
    </keyboard>
  </volumebar>

<!-- only volamup / volamdown test
  <sliderdialog>
    <keyboard>

      <up mod="longpress">VolamUp</up>
      <down mod="longpress">VolamDown</down>  
      <left mod="longpress">noop</left>
      <right mod="longpress">noop</right>

    </keyboard>
  </sliderdialog>
 -->
   
</keymap>

Jedoch war es immer nur möglich die Lautstärke um einen Schritt zu erhöhen. Ohne die Zuordnungen von noop für links und rechts in den sechs Ansichten war es sehr oft passiert, dass die Ansicht wechselte und statt die Lautstärke zu regeln, dass die Videodateien beendet wurden. Bei langem Druck auf die Richtungstasten habe ich gelegentlich eine anliegende Taste aktiviert und ein ungewünschtes Verhalten erzeugt.

 

Durch diese Probleme habe ich mir zur Sicherheit für die Wiedergabe von Videodateien die Datei riiminii7_Kodi17_longpress_disable_up_down_left_right.xml erstellt, mit der ich zukünftig das vorzeitige Beenden der Wiedergabe mit undefiniertem Zeitpunkt der Unterbrechung beheben konnte (zum Beispiel auf die Fernbedienung sich setzen):

 

<?xml version="1.0" encoding="UTF-8"?>
<!-- https://lichtschattenblog.wordpress.com -->

<keymap>

  <fullscreenvideo>
    <keyboard>

      <up mod="longpress">noop</up>
      <down mod="longpress">noop</down>
      <left mod="longpress">noop</left>
      <right mod="longpress">noop</right>
      
    </keyboard>
  </fullscreenvideo>

  <fullscreeninfo>
    <keyboard>

      <up mod="longpress">noop</up>
      <down mod="longpress">noop</down>
      <left mod="longpress">noop</left>
      <right mod="longpress">noop</right>
      
    </keyboard>
  </fullscreeninfo>
  
  <videoosd>
    <keyboard>

      <up mod="longpress">noop</up>
      <down mod="longpress">noop</down>  
      <left mod="longpress">noop</left>
      <right mod="longpress">noop</right>
      
    </keyboard>
  </videoosd>
  
  <seekbar>
    <keyboard>

      <up mod="longpress">noop</up>
      <down mod="longpress">noop</down>  
      <left mod="longpress">noop</left>
      <right mod="longpress">noop</right>
      
    </keyboard>
  </seekbar>
   
</keymap>

 

Ohne diese Datei und meinem vorherigem Test war mir mit langem Druck auf nach oben im Vollbildmodus die jetzt bereits aktive Aktivierung des Tonspurwechsels aufgefallen. Bei Prüfung der Keymap-Datei unter %programfiles(x86)%\Kodi\system\keymaps ist definitiv hierdurch bereits aktiv:

kodi17_system_keymap_xml_longpress_up.jpg

 

Wer daher mit langem Druck auf den Richtungs-Tasten an der Fernbedienung eigene Funktionen aktivieren möchte kann den Inhalt meiner Datei riiminii7_Kodi17_longpress_disable_up_down_left_right.xml verwenden und noop durch eigene Funktionen ersetzen. Es sollten aber nur Aktionen sein, die nur einmalig ausgeführt werden.

Wer weitere Tasten mit einem langen Druck auf die Tasten:

  • OK
  • PageUp
  • PageDown
  • Zurück
  • Kontext-Menü

verwenden möchte, kann die folgende Datei riiminii7_Kodi17_longpress.xml mit folgendem Inhalt verwenden:

<?xml version="1.0" encoding="UTF-8"?>
<!-- https://lichtschattenblog.wordpress.com -->

<keymap>

<!--  Button Ids:                                                                         -->
<!--    0: left                                                                           -->
<!--    1: right                                                                          -->
<!--    2: middle                                                                         -->
<!--    3/4/5/6: extra                                                                    -->

  <fullscreenvideo>
    <keyboard>
      <menu mod="longpress">AudioNextLanguage</menu> <!-- menu -->
      
      <return mod="longpress">AudioNextLanguage</return> <!-- OK -->
      <!-- <zero mod="longpress">AudioNextLanguage</zero>-->
      
      <pageup mod="longpress">AudioNextLanguage</pageup>
      <pagedown mod="longpress">AudioNextLanguage</pagedown>
    </keyboard>
    <mouse>
      <longclick id="1">AudioNextLanguage</longclick> <!-- right click idle-->
      <mouserdragend>AudioNextLanguage</mouserdragend> <!-- right click moved-->
      
      <longclick id="0">AudioNextLanguage</longclick> <!-- OK idle -->
      <mousedragend>AudioNextLanguage</mousedragend> <!-- OK moved -->
    </mouse>
  </fullscreenvideo>

  <fullscreeninfo>
    <keyboard>
      <menu mod="longpress">AudioNextLanguage</menu> <!-- menu -->
      
      <return mod="longpress">AudioNextLanguage</return> <!-- OK -->
      <!-- <zero mod="longpress">AudioNextLanguage</zero>-->
      
      <pageup mod="longpress">AudioNextLanguage</pageup>
      <pagedown mod="longpress">AudioNextLanguage</pagedown>
    </keyboard>
    <mouse>
      <longclick id="1">AudioNextLanguage</longclick> <!-- right click idle-->
      <mouserdragend>AudioNextLanguage</mouserdragend> <!-- right click moved-->
      
      <longclick id="0">AudioNextLanguage</longclick> <!-- OK idle -->
      <mousedragend>AudioNextLanguage</mousedragend> <!-- OK moved -->
    </mouse>
  </fullscreeninfo>
  
  <videoosd>
    <keyboard>
      <menu mod="longpress">AudioNextLanguage</menu>
      
      <return mod="longpress">AudioNextLanguage</return>
      
      <pageup mod="longpress">AudioNextLanguage</pageup>
      <pagedown mod="longpress">AudioNextLanguage</pagedown>
    </keyboard>
    <mouse>
      <longclick id="1">AudioNextLanguage</longclick>
      <mouserdragend>AudioNextLanguage</mouserdragend>
      
      <longclick id="0">AudioNextLanguage</longclick>
      <mousedragend>AudioNextLanguage</mousedragend>
    </mouse>
  </videoosd>
  
  <seekbar>
    <keyboard>
      <menu mod="longpress">AudioNextLanguage</menu>
      
      <return mod="longpress">AudioNextLanguage</return>
      
      <pageup mod="longpress">AudioNextLanguage</pageup>
      <pagedown mod="longpress">AudioNextLanguage</pagedown>
    </keyboard>
    <mouse>
      <longclick id="1">AudioNextLanguage</longclick>
      <mouserdragend>AudioNextLanguage</mouserdragend>
      
      <longclick id="0">AudioNextLanguage</longclick>
      <mousedragend>AudioNextLanguage</mousedragend>
    </mouse>
  </seekbar>
  
  <volumebar>
    <keyboard>
      <menu mod="longpress">AudioNextLanguage</menu>
      
      <return mod="longpress">AudioNextLanguage</return>
          
      <pageup mod="longpress">AudioNextLanguage</pageup>
      <pagedown mod="longpress">AudioNextLanguage</pagedown>
    </keyboard>
    <mouse>
      <longclick id="1">AudioNextLanguage</longclick>
      <mouserdragend>AudioNextLanguage</mouserdragend>
      
      <longclick id="0">AudioNextLanguage</longclick>
      <mousedragend>AudioNextLanguage</mousedragend>
    </mouse>
  </volumebar>
   
</keymap>

Ich habe hierbei unter fullscreenvideo meine Zuordnungen definiert und für die weiteren häufigen Ansichten zur Videodatei-Wiedergabe kopiert.

Für die Zurück-Taste müssen folgende Elemente identisch angepasst werden:

  •       <longclick id=“1″>AudioNextLanguage</longclick>
  •       <mouserdragend>AudioNextLanguage</mouserdragend>

Für die linke OK-Taste sind es:

  •       <longclick id=“0″>AudioNextLanguage</longclick>
  •       <mousedragend>AudioNextLanguage</mousedragend>

 

Advertisements

Kodi 17 – aktuellen „Window Name“ ausgeben

Wer in Kodi 17 Anpassungen, zum Beispiel im Keymapping von Maus, Fernbedienungen und Tastur durchführen möchte, benötigt sehr oft den aktuellen Window Name, der sich bereits ändert, wenn zum Beispiel zur Videodatei-Wiedergabe, die Lautstärke geändert wird oder das Menü aktiv wird. Mit Kodi 16 wurde eine einfache Möglichkeit geschaffen, um den aktuellen Window Name auszugeben.

Ich habe auf Basis von:

die bekannten Window Name in einer keymap-Datei hinterlegt und bei einem langen Tastendruck auf die i-Taste der Tastatur eine Benachrichtigung mit Ausgabe des betroffenen Window Name aktiviert.

Beispiel für die Home-Ansicht:

<home>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "home", 3)</i>
  </keyboard>
</home>

 

Die Datei (weiter unten) muss ins User-Verzeichnis von Kodi gespeichert werden. Unter Windows 10 ist dies zum Beispiel %appdata%\kodi\userdata\keymaps.

Unter Linux, OpenELEC, LibreELEC, Fire TV-Stick, Android ist dies definitiv abweichend. Siehe: http://kodi.wiki/view/userdata – zusätzlich muss noch der Unterornder keymaps beachtet werden!

Als Ergebnis (Kodi erneut starten und i auf der Tastaur ca. eine Sekunde drücken) sehen wir, zum Beispiel beim Suchen von Freigaben (busydialog):

kodi17_keymapinfo_busydialog

und in der Start-Ansicht (home)

kodi17_keymapinfo_home.png

Wer bei seinen Tests als Ausgabe global erhält, sollte prüfen, welches Fenster im kodi.log (Logging muss aktiv sein) aufgeführt wird. In Skins und Addons können andere nicht dokumentiert sein. Beispiel:

03:55:49.789 T:13400   DEBUG: ------ Window Init (Custom_1109_TopBarOverlay.xml) -----

 

Datei: longpress_i_show_window_name_Kodi17.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- show http://kodi.wiki/view/keymap - chapter 7 windows -->
<keymap>
<home>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "home", 3)</i>
  </keyboard>
</home>
<programs>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "programs", 3)</i>
  </keyboard>
</programs>
<pictures>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pictures", 3)</i>
  </keyboard>
</pictures>
<filemanager>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "filemanager", 3)</i>
  </keyboard>
</filemanager>
<settings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "settings", 3)</i>
  </keyboard>
</settings>
<systeminfo>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "systeminfo", 3)</i>
  </keyboard>
</systeminfo>
<testpattern>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "testpattern", 3)</i>
  </keyboard>
</testpattern>
<screencalibration>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "screencalibration", 3)</i>
  </keyboard>
</screencalibration>
<systemsettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "systemsettings", 3)</i>
  </keyboard>
</systemsettings>
<servicesettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "servicesettings", 3)</i>
  </keyboard>
</servicesettings>
<pvrsettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrsettings", 3)</i>
  </keyboard>
</pvrsettings>
<videos>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "videos", 3)</i>
  </keyboard>
</videos>
<videoplaylist>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "videoplaylist", 3)</i>
  </keyboard>
</videoplaylist>
<loginscreen>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "loginscreen", 3)</i>
  </keyboard>
</loginscreen>
<playersettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "playersettings", 3)</i>
  </keyboard>
</playersettings>
<mediasettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "mediasettings", 3)</i>
  </keyboard>
</mediasettings>
<interfacesettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "interfacesettings", 3)</i>
  </keyboard>
</interfacesettings>
<profiles>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "profiles", 3)</i>
  </keyboard>
</profiles>
<skinsettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "skinsettings", 3)</i>
  </keyboard>
</skinsettings>
<addonbrowser>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "addonbrowser", 3)</i>
  </keyboard>
</addonbrowser>
<eventlog>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "eventlog", 3)</i>
  </keyboard>
</eventlog>
<yesnodialog>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "yesnodialog", 3)</i>
  </keyboard>
</yesnodialog>
<progressdialog>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "progressdialog", 3)</i>
  </keyboard>
</progressdialog>
<virtualkeyboard>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "virtualkeyboard", 3)</i>
  </keyboard>
</virtualkeyboard>
<volumebar>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "volumebar", 3)</i>
  </keyboard>
</volumebar>
<contextmenu>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "contextmenu", 3)</i>
  </keyboard>
</contextmenu>
<notification>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "notification", 3)</i>
  </keyboard>
</notification>
<numericinput>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "numericinput", 3)</i>
  </keyboard>
</numericinput>
<gamepadinput>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "gamepadinput", 3)</i>
  </keyboard>
</gamepadinput>
<shutdownmenu>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "shutdownmenu", 3)</i>
  </keyboard>
</shutdownmenu>
<playercontrols>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "playercontrols", 3)</i>
  </keyboard>
</playercontrols>
<seekbar>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "seekbar", 3)</i>
  </keyboard>
</seekbar>
<playerprocessinfo>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "playerprocessinfo", 3)</i>
  </keyboard>
</playerprocessinfo>
<musicosd>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "musicosd", 3)</i>
  </keyboard>
</musicosd>
<visualisationpresetlist>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "visualisationpresetlist", 3)</i>
  </keyboard>
</visualisationpresetlist>
<osdvideosettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "osdvideosettings", 3)</i>
  </keyboard>
</osdvideosettings>
<osdaudiosettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "osdaudiosettings", 3)</i>
  </keyboard>
</osdaudiosettings>
<videobookmarks>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "videobookmarks", 3)</i>
  </keyboard>
</videobookmarks>
<filebrowser>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "filebrowser", 3)</i>
  </keyboard>
</filebrowser>
<networksetup>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "networksetup", 3)</i>
  </keyboard>
</networksetup>
<mediasource>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "mediasource", 3)</i>
  </keyboard>
</mediasource>
<profilesettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "profilesettings", 3)</i>
  </keyboard>
</profilesettings>
<locksettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "locksettings", 3)</i>
  </keyboard>
</locksettings>
<contentsettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "contentsettings", 3)</i>
  </keyboard>
</contentsettings>
<favourites>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "favourites", 3)</i>
  </keyboard>
</favourites>
<songinformation>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "songinformation", 3)</i>
  </keyboard>
</songinformation>
<smartplaylisteditor>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "smartplaylisteditor", 3)</i>
  </keyboard>
</smartplaylisteditor>
<smartplaylistrule>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "smartplaylistrule", 3)</i>
  </keyboard>
</smartplaylistrule>
<busydialog>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "busydialog", 3)</i>
  </keyboard>
</busydialog>
<pictureinfo>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pictureinfo", 3)</i>
  </keyboard>
</pictureinfo>
<addonsettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "addonsettings", 3)</i>
  </keyboard>
</addonsettings>
<accesspoints>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "accesspoints", 3)</i>
  </keyboard>
</accesspoints>
<fullscreeninfo>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "fullscreeninfo", 3)</i>
  </keyboard>
</fullscreeninfo>
<sliderdialog>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "sliderdialog", 3)</i>
  </keyboard>
</sliderdialog>
<addoninformation>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "addoninformation", 3)</i>
  </keyboard>
</addoninformation>
<textviewer>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "textviewer", 3)</i>
  </keyboard>
</textviewer>
<peripheralsettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "peripheralsettings", 3)</i>
  </keyboard>
</peripheralsettings>
<extendedprogressdialog>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "extendedprogressdialog", 3)</i>
  </keyboard>
</extendedprogressdialog>
<mediafilter>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "mediafilter", 3)</i>
  </keyboard>
</mediafilter>
<subtitlesearch>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "subtitlesearch", 3)</i>
  </keyboard>
</subtitlesearch>
<audiodspmanager>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "audiodspmanager", 3)</i>
  </keyboard>
</audiodspmanager>
<osdaudiodspsettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "osdaudiodspsettings", 3)</i>
  </keyboard>
</osdaudiodspsettings>
<osdcmssettings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "osdcmssettings", 3)</i>
  </keyboard>
</osdcmssettings>
<musicplaylist>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "musicplaylist", 3)</i>
  </keyboard>
</musicplaylist>
<music>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "music", 3)</i>
  </keyboard>
</music>
<musicplaylisteditor>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "musicplaylisteditor", 3)</i>
  </keyboard>
</musicplaylisteditor>
<pvrguideinfo>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrguideinfo", 3)</i>
  </keyboard>
</pvrguideinfo>
<pvrrecordinginfo>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrrecordinginfo", 3)</i>
  </keyboard>
</pvrrecordinginfo>
<pvrtimersetting>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrtimersetting", 3)</i>
  </keyboard>
</pvrtimersetting>
<pvrgroupmanager>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrgroupmanager", 3)</i>
  </keyboard>
</pvrgroupmanager>
<pvrchannelmanager>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrchannelmanager", 3)</i>
  </keyboard>
</pvrchannelmanager>
<pvrguidesearch>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrguidesearch", 3)</i>
  </keyboard>
</pvrguidesearch>
<pvrchannelscan>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrchannelscan", 3)</i>
  </keyboard>
</pvrchannelscan>
<pvrupdateprogress>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrupdateprogress", 3)</i>
  </keyboard>
</pvrupdateprogress>
<pvrosdchannels>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrosdchannels", 3)</i>
  </keyboard>
</pvrosdchannels>
<pvrosdguide>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrosdguide", 3)</i>
  </keyboard>
</pvrosdguide>
<pvrradiordsinfo>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "pvrradiordsinfo", 3)</i>
  </keyboard>
</pvrradiordsinfo>
<tvchannels>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "tvchannels", 3)</i>
  </keyboard>
</tvchannels>
<tvrecordings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "tvrecordings", 3)</i>
  </keyboard>
</tvrecordings>
<tvguide>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "tvguide", 3)</i>
  </keyboard>
</tvguide>
<tvtimers>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "tvtimers", 3)</i>
  </keyboard>
</tvtimers>
<tvsearch>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "tvsearch", 3)</i>
  </keyboard>
</tvsearch>
<radiochannels>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "radiochannels", 3)</i>
  </keyboard>
</radiochannels>
<radiorecordings>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "radiorecordings", 3)</i>
  </keyboard>
</radiorecordings>
<radioguide>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "radioguide", 3)</i>
  </keyboard>
</radioguide>
<radiotimers>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "radiotimers", 3)</i>
  </keyboard>
</radiotimers>
<radiosearch>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "radiosearch", 3)</i>
  </keyboard>
</radiosearch>
<tvtimerrules>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "tvtimerrules", 3)</i>
  </keyboard>
</tvtimerrules>
<radiotimerrules>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "radiotimerrules", 3)</i>
  </keyboard>
</radiotimerrules>
<FullscreenLiveTV>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "FullscreenLiveTV", 3)</i>
  </keyboard>
</FullscreenLiveTV>
<fullscreenradio>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "fullscreenradio", 3)</i>
  </keyboard>
</fullscreenradio>
<gamecontrollers>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "gamecontrollers", 3)</i>
  </keyboard>
</gamecontrollers>
<selectdialog>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "selectdialog", 3)</i>
  </keyboard>
</selectdialog>
<musicinformation>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "musicinformation", 3)</i>
  </keyboard>
</musicinformation>
<okdialog>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "okdialog", 3)</i>
  </keyboard>
</okdialog>
<movieinformation>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "movieinformation", 3)</i>
  </keyboard>
</movieinformation>
<fullscreenvideo>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "fullscreenvideo", 3)</i>
  </keyboard>
</fullscreenvideo>
<visualisation>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "visualisation", 3)</i>
  </keyboard>
</visualisation>
<slideshow>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "slideshow", 3)</i>
  </keyboard>
</slideshow>
<weather>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "weather", 3)</i>
  </keyboard>
</weather>
<screensaver>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "screensaver", 3)</i>
  </keyboard>
</screensaver>
<videoosd>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "videoosd", 3)</i>
  </keyboard>
</videoosd>
<videomenu>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "videomenu", 3)</i>
  </keyboard>
</videomenu>
<startwindow>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "startwindow", 3)</i>
  </keyboard>
</startwindow>
<startup>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "startup", 3)</i>
  </keyboard>
</startup>
<addon>
  <keyboard>
    <i mod="longpress">Notification("keymap info", "addon", 3)</i>
  </keyboard>
</addon>

</keymap>

 

Mit dieser Information ist es jetzt zum Beispiel möglich, eine keymap zu erstellen oder anzupassen:

kodi_keymap_file_windowid_programs.jpg

Zur Anpassung einer entsprechend keymap-Datei empfiehlt es sich meine Beiträge

zu lesen.

 

Erstelle eine kostenlose Website oder Blog – auf WordPress.com.

Nach oben ↑