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:
- Window Name:
http://wp.me/p6v8bD-1ex - Window ID:
http://wp.me/p6v8bD-xy
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:
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:
- http://kodi.wiki/view/Window_IDs
Alternativ http://kodi.wiki/view/keymap, Kapitel 7.
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:
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:
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>
Neueste Kommentare