Angeheizt durch die rege Diskussion von mecir
habe ich da mal wieder ein Kaninchen aus dem Hut gezaubert.
Quasi eine Alternative zum VolkeyPatch TAP.
Es ist eine sehr einfache Version, eben nur mit ini (kein Setup).
KeyTransform
Ein TAP für das Umwandeln von Tastendrücken
Auf jeden Fall bitte vor dem ersten Start die INI den eigenen Bedürfnissen anpassen!
Bitte die Tastenumwandlung erst manuell ausprobieren bevor man das TAP in den Autostart nimmt.
Es sollte dann im Autostart als erstes in der Startreihenfolge starten.
Falsche Tastenumwandlungen können zur Nichtbedienbarkeit des Receivers führen,
die nur durch Neustart und gedrückter 0 zu lösen sind (Start ohne TAPs).
Dann bitte die INI korrigieren.
Nutzung auf eigene Gefahr!
Tastenbelegung:
keine
Im TMSCommander:
Rot - TAP beenden
Folgende Dateien liegen in /ProgramFiles/Settings/KeyTransform:
INI-Datei:
Beispiel-INI:
------------------------------------------------------
# Structure:
#Key-Number= From-Key, To-Key, TAP-filename (optional, only to specified tap), STATE (optional), SUBSTATE (optional)
#with a "!" in front of the STATE or the SUBSTATE you defined that it should NOT be in this state
#
# Example:
#Key-Number= From-Key, To-Key, TAP-filename (to one tap)
#Key01= RKEY_VolUp, RKEY_Right, sample.tap
# or
#Key-Number= From-Key, To-Key (to all taps)
#Key02= RKEY_VolUp, RKEY_Right
#
#separators can be comma, semicolon or space
#but there shall be no space between Key-Number and "=" !
Key01= RKEY_VolUp, RKEY_Right, PiP-TMS.tap
Key02= RKEY_VolUP, RKEY_Left, iBox.tap
Key03= RKEY_Ab, RKEY_Slow, PiP-TMS.tap, STATE_Normal, SUBSTATE_Normal
Key04= RKEY_Ab, RKEY_Rewind, PiP-TMS.tap, !STATE_Normal, !SUBSTATE_Normal
Key05= RKEY_VolUp, RKEY_Right, MovieCutter.tap, STATE_Normal, SUBSTATE_MainMenu
Key06= RKEY_VolDown, RKEY_Left, MovieCutter.tap, STATE_Normal, SUBSTATE_MainMenu
------------------------------------------------------
Innerhalb einer Zeile besteht eine UND-Beziehung zwischen dem Von-Key, dem TAP-Namen, dem STATE und dem SUBSTATE,
jedoch sind der TAP-Name, der STATE und der SUBSTATE optional und müssen nicht zwingend angegeben werden.
Trennzeichen können ein Komma, ein Semikolon und/oder ein Freizeichen sein. Aber zwischen der Key-Nummer und dem "="
darf kein Freizeichen sein!
Wenn die Umwandlung nur für ein bestimmtes TAP gelten soll, so folgt nach dem Nach-Key dann
direkt der TAP-Dateiname wie er wirklich geschrieben ist (Groß-/Kleinschreibung beachten!), eben auch inkl. ".tap".
Ist er nicht angegeben, so wird die Tastenumsetzung an alle TAPs gesendet (außer KeyTransform selbst).
Zeilen die leer sind oder mit der Raute (Kommentarzeichen) beginnen, werden nicht berücksichtigt.
Es können bis zu 99 Key-Umwandlungen eingetragen werden (Key01 bis Key99).
In diesem rein theoretischen Beispiel wird ein ankommender Volume+ Keycode durch Rechts für PiP-TMS (Key01) und
gleichzeitig durch Links für iBox ersetzt (Key02). Es besteht also eine ODER-Beziehung zwischen den Zeilen.
Ein ankommender Schnitt-Tasten Keycode (RKEY_Ab) wird für PiP-TMS je nach STATE entweder in Zeitlupe (Key03) oder in
Zurückspulen (Key04) umgesetzt. Wenn dann auch noch MovieCutter gerade eingeblendet ist, dann wird ein ankommender
Volume+ Keycode in Rechts (Key05) und ein ankommender Volume- Keycode in Links umgesetzt (Key06).
Wie gesagt, das ist nur ein theoretisches Beispiel ohne sinnvollen Zweck.
Bitte die INI-Datei vor der ersten Nutzung anpassen!
Die Sache mit STATE und SUBSTATE:
Hier ist immer STATE und SUBSTATE angegeben. Aber es könnte auch nur der STATE alleine stehen.
STATE_Normal und SUBSTATE_MainMenu bedeutet, dass das TAP eingeblendet ist und den NormalMode verlassen hat.
Paßt nicht ganz, aber ist so. STATE_Normal und SUBSTATE_Normal bedeutet wir schauen ganz normal TV.
Mit einem Ausrufezeichen vor dem STATE oder SUBSTATE wird angegeben, dass eben genau dieser STATE und/oder SUBSTATE
nicht vorliegen darf.
!STATE_Normal und !SUBSTATE_Normal bedeutet, dass wir entweder in einem angezeigten TAP oder im Menü sind.
Es sind durchaus noch weitere Kombination denkbar. Die verfügbaren States kann man der tap.h entnehmen.
LOG-Datei:
Diese Datei speichert die wichtigsten Ereignisse des Programmverlaufs. Sie wird ständig fortgesetzt. Wenn sie zu groß wird, sollte man
sie manuell löschen.
[code]
Tastennummern-Liste / Key numbers list:
Mute RKEY_Mute
0 RKEY_0
1 RKEY_1
2 RKEY_2
3 RKEY_3
4 RKEY_4
5 RKEY_5
6 RKEY_6
7 RKEY_7
8 RKEY_8
9 RKEY_9
Recall RKEY_Recall
Info RKEY_Info
Left RKEY_Left
Right RKEY_Right
Up RKEY_Up
Down RKEY_Down
V+ RKEY_VolUp
V- RKEY_VolDown
Ch+ RKEY_ChUp
Ch- RKEY_ChDown
OK RKEY_Ok
Menu RKEY_Menu
Guide RKEY_Guide
PlayList RKEY_PlayList
Exit RKEY_Exit
Red RKEY_NewF1
Green RKEY_F2
Yellow RKEY_F3
Blue RKEY_F4
White RKEY_White
Subtitle RKEY_Subt
Teletext RKEY_Teletext
AudioTrk RKEY_AudioTrk
VF RKEY_VFormat
AR RKEY_Uhf
Sleep RKEY_Sleep
TvRadio RKEY_TvRadio
Record RKEY_Record
Stop RKEY_Stop
SAT RKEY_Sat
M RKEY_TvSat
Rewind RKEY_Rewind
Pause RKEY_Pause
Play RKEY_Play
Forward RKEY_Forward
Prev RKEY_Prev
Slow RKEY_Slow
Edit RKEY_Ab
Next RKEY_Next
andere oder nicht so gebräuchliche Tasten / other or not so common keys:
Power RKEY_Power 0x1000a
Easy RKEY_Easy 0x10011
Fav RKEY_Fav 0x10020
OldF1 RKEY_F1 0x10023
Bookmark RKEY_Bookmark identisch mit RKEY_F2 / identical with RKEY_F2
Goto RKEY_Goto identisch mit RKEY_F3 / identical with RKEY_F3
Check RKEY_Check identisch mit RKEY_F4 / identical with RKEY_F4
Fav2 RKEY_Fav2 0x1000d
0x10019 RKEY_0x10019 0x10019
0x1001b RKEY_0x1001b 0x1001b
Yellow2 RKEY_Yellow2 0x10049
Blue2 RKEY_Blue2 0x1004a
Edit2 RKEY_Ab2 0x1003e
[/code]
[code]
Please make sure to adjust the INI file to your needs BEFORE you run the TAP for the first time!
Please test the key adjustment manually before you place it in the AutoStart folder.
It has to be the first TAP in the starting order.
It can happen that the receiver cannot be controlled any more if you defined wrong key adjustments,
which can only be solved by pressing the 0 key durch restart (start without TAPs).
Then you have to correct the INI file.
Usage at your own risk!
Keys:
none
In TMSCommander:
Red - exit TAP
The following files are placed in /ProgramFiles/Settings/KeyTransform:
INI file:
sample INI:
------------------------------------------------------
# Structure:
#Key-Number= From-Key, To-Key, TAP-filename (optional, only to specified tap), STATE (optional), SUBSTATE (optional)
#with a "!" in front of the STATE or the SUBSTATE you defined that it should NOT be in this state
#
# Example:
#Key-Number= From-Key, To-Key, TAP-filename (to one tap)
#Key01= RKEY_VolUp, RKEY_Right, sample.tap
# or
#Key-Number= From-Key, To-Key (to all taps)
#Key02= RKEY_VolUp, RKEY_Right
#
#separators can be comma, semicolon or space
#but there shall be no space between Key-Number and "=" !
Key01= RKEY_VolUp, RKEY_Right, PiP-TMS.tap
Key02= RKEY_VolUP, RKEY_Left, iBox.tap
Key03= RKEY_Ab, RKEY_Slow, PiP-TMS.tap, STATE_Normal, SUBSTATE_Normal
Key04= RKEY_Ab, RKEY_Rewind, PiP-TMS.tap, !STATE_Normal, !SUBSTATE_Normal
Key05= RKEY_VolUp, RKEY_Right, MovieCutter.tap, STATE_Normal, SUBSTATE_MainMenu
Key06= RKEY_VolDown, RKEY_Left, MovieCutter.tap, STATE_Normal, SUBSTATE_MainMenu
------------------------------------------------------
Within one row there is an AND relation between the From-Key, the TAP name, the STATE and the SUBSTATE,
although the TAP name, the STATE and the SUBSTATE are optional and they are not necessary for the base function.
Comma, semicolon and space can be used as separators. But there is no space allowed between the key number and the "="!
If the transformation is only meant for a specific TAP then the TAP name as it is really written (including capital letters and ".tap")
follows directly after the To-Key.
If the TAP name is not in the row the key transformation will be sent to all TAPs (besides KeyTransform itself).
Rows which are empty or start with a hash sign (comment) will not be processed.
You can enter up to 99 key transformations (Key01 till Key99).
In this pure theoretical example a received Volume+ key code will be transformed into a Right key code for PiP-TMS (Key01) as well as into a
Left key code for iBox (Key02). That means that there is an OR relation between the rows.
A received Cut key code (RKEY_Ab) will be transformed for PiP-TMS according to the STATE either into a slow motion key code (Key03) or into a
Rewind key code (Key04).
If MovieCutter is shown then a received Volume+ key code will be transformed into a Right key code (Key05) and a received Volume- key code
will be sent as a Left key code (Key06).
As already said this is just a pure theoretical example without a useful purpose.
Please adjust the INI file BEFORE the first usage!
The thing with STATE and SUBSTATE:
In this example always both (STATE and SUBSTATE) were in the row. But it is also possible to use the STATE alone.
STATE_Normal and SUBSTATE_MainMenu means that a TAP is shown and the NormalMode was left.
It is not so obvious but it is like that. STATE_Normal and SUBSTATE_Normal means that we watch TV.
By using an exclamation mark in front of STATE or SUBSTATE you tell KeyTransform to only process this row if it is NOT this STATE
and/or not this SUBSTATE.
!STATE_Normal and !SUBSTATE_Normal means that either a TAP is shown or we are in the menu.
There are more possible combinations. You can see the available states in the tap.h file.
LOG file:
This file saves the most important events of the program run. It will be always appended. If it gets too large, you should delete it.
[/code]
Download über TAPtoDate oder auf meiner Homepage.
Zuletzt geändert von xyzzyx am So 11. Mär 2012, 11:31, insgesamt 5-mal geändert.
Grund:V1.0
MfG,
xyzzyx
Die Liste meiner portierten und meiner eigenen TAPs findet man hier
So und jetzt warten wir, bis blu sich alles verstellt hat
SRP 2410M FW 10.01.2013 FastSkip, SmartEPG, RebuildNav, ND_TMS, Timerdiags, SmartFiler_TMS, lost+found, SmartDecrypter, TMSRemote TMS , 2410 M SE stille Reserve SRP 2410 FW 02/13 FastSkip, SmartEPG, RebuildNav, ND_TMS, Timerdiags, dbFit, SmartFiler_TMS Der Fehler sitzt zwar meist vor dem Bildschirm, aber Bitte nicht alles, was ich verzapfe tierisch ernst nehmen
danke xyzzyx für diese tolle Idee.
Da ich den 2410M mit RemoteSwitch nutze und da mit der CH+/- mit den 5000er Codes Probleme habe, wäre es schön das TAP auch für die 5000er Code zu haben.
Und das heißt?
Haben die Tasten da andere Key-Codes? Was für Hex-Codes zeigt Key-Display an?
Welches Ergebnis bringt die Kombination RemoteSwitch + KeyTransform?
Oder meinst Du, dass Du die RemoteSwitch Funktion auch in KeyTransform haben willst, um 1 TAP zu sparen (da müsste Alex was zu sagen, ob wir das so machen könnten)?
MfG,
xyzzyx
Die Liste meiner portierten und meiner eigenen TAPs findet man hier
Ein kleines Update für weitere Tasten und Weitergabe der Click & Push Keyflags.
Changelog V0.91 xyzzyx, 20.08.2011:
- hinzugefügt: weitere Tastencodes für andere Receiver oder nicht so gebräuchliche Tasten
- hinzugefügt: Weitergabe auch um Tastendruck-Kennzeichen Klicken oder Halten (Click oder Push) ergänzt
Was mache ich falsch? Ich möchte für MovieCutter die Steuerkreuztasten Rechts und Links auf die V+ und V+ Taste beim CRP legen, leider funzt das nicht. Hier meine ini:
Die CRP FB hat doch kein Steuerkreuz, oder?
Dann kannst Du auch nicht umsetzen, was nicht gesendet werden kann.
Oder meinst Du von der VolUp/VolDown Taste auf Rechts/Links.
Dann einfach umdrehen.
Das INI-Format ist ja von (also welche echte Taste) - nach (also welche simulierte Taste).
Ansonsten bitte mit Logfile.
/ProgramFiles/Settings/KeyTransform/KeyTransform.log
Zuletzt geändert von xyzzyx am Sa 20. Aug 2011, 13:33, insgesamt 1-mal geändert.
MfG,
xyzzyx
Die Liste meiner portierten und meiner eigenen TAPs findet man hier
Siehe noch mein Edit oben.
Aber ich glaub ich habe ein Verständnisproblem.
Wieso kommt da Left/Right, obwohl die gar kein Steuerkreuz hat.
Hast Du noch ein anderes TAP laufen, das Tasten umsetzt?
Oder sendet die CRP FB wirklich Left/Right?
PS: mag aber auch noch sein, dass auch noch ein Bug in KeyTransform ist, so dass es evtl. nicht bei MovieCutter ankommt.
MfG,
xyzzyx
Die Liste meiner portierten und meiner eigenen TAPs findet man hier
[quote="xyzzyx"]Siehe noch mein Edit oben.
Aber ich glaub ich habe ein Verständnisproblem.
Wieso kommt da Left/Right, obwohl die gar kein Steuerkreuz hat.
Hast Du noch ein anderes TAP laufen, das Tasten umsetzt?
Oder sendet die CRP FB wirklich Left/Right? [/quote]
Das verstehe ich auch nicht. Ich möchte eine Funktion von MovieCutter nutzen, die bei den SRPs auf den Steuerkreuztasten liegt und die auf meine V+/V+ mappen.
Noch komischer ist, dass ich jetzt z.B. beim Bestätigungsdialog zum Stoppen von TAPs kein V+/- mehr benutzten kann. Also kann ich im Moment KeyTransform nicht stoppen wg. Aufnahme... Dauert also noch etwas ehe ich die Konfiguration andersherum testen kann.
So, jetzt habe ich es verifiziert: meine Konfiguration hatte nicht nur Einfluß auf MC wie eigentlich gewünscht, sondern auch auf andere TAPs. Nachdem ich die Konfiguration auf:
Ein weiteres Update, so dass man über die Angabe des STATEs und SUBSTATEs nun vermeiden kann, dass die Tastenumsetzung immer wirkt.
Changelog V0.92 xyzzyx, 20.08.2011:
- geändert: Initialisierung für interne Tastentabelle eingebaut und Einleseverfahren für INI verbessert
- hinzugefügt: man kann nun optional auch den STATE und SUBSTATE angeben, der vorliegen muss oder eben genau nicht
- korrigiert: zu viele Trennzeichen waren zugelassen, dadurch war der TAP-Name nicht immer korrekt
Beispiel-INI:
------------------------------------------------------
# Structure:
#Key-Number= From-Key, To-Key, TAP-filename (optional, only to specified tap), STATE (optional), SUBSTATE (optional)
#with a "!" in front of the STATE or the SUBSTATE you defined that it should NOT be in this state
#
# Example:
#Key-Number= From-Key, To-Key, TAP-filename (to one tap)
#Key01= RKEY_VolUp, RKEY_Right, sample.tap
# or
#Key-Number= From-Key, To-Key (to all taps)
#Key02= RKEY_VolUp, RKEY_Right
#
#separators can be comma, semicolon or space
#but there shall be no space between Key-Number and "=" !
Key01= RKEY_VolUp, RKEY_Right, PiP-TMS.tap
Key02= RKEY_VolUP, RKEY_Left, iBox.tap
Key03= RKEY_Ab, RKEY_Slow, PiP-TMS.tap, STATE_Normal, SUBSTATE_Normal
Key04= RKEY_Ab, RKEY_Rewind, PiP-TMS.tap, !STATE_Normal, !SUBSTATE_Normal
Key05= RKEY_VolUp, RKEY_Right, MovieCutter.tap, STATE_Normal, SUBSTATE_MainMenu
Key06= RKEY_VolDown, RKEY_Left, MovieCutter.tap, STATE_Normal, SUBSTATE_MainMenu
------------------------------------------------------
Innerhalb einer Zeile besteht eine UND-Beziehung zwischen dem Von-Key, dem TAP-Namen, dem STATE und dem SUBSTATE,
jedoch sind der TAP-Name, der STATE und der SUBSTATE optional und müssen nicht zwingend angegeben werden.
Trennzeichen können ein Komma, ein Semikolon und/oder ein Freizeichen sein. Aber zwischen der Key-Nummer und dem "=" darf kein Freizeichen sein!
Wenn die Umwandlung nur für ein bestimmtes TAP gelten soll, so folgt nach dem Nach-Key dann
direkt der TAP-Dateiname wie er wirklich geschrieben ist (Groß-/Kleinschreibung beachten!), eben auch inkl. ".tap".
Ist er nicht angegeben, so wird die Tastenumsetzung an alle TAPs gesendet (außer KeyTransform selbst).
Zeilen die leer sind oder mit der Raute (Kommentarzeichen) beginnen, werden nicht berücksichtigt.
Es können bis zu 99 Key-Umwandlungen eingetragen werden (Key01 bis Key99).
In diesem rein theoretischen Beispiel wird ein ankommender Volume+ Keycode durch Rechts für PiP-TMS (Key01) und gleichzeitig durch Links für iBox ersetzt (Key02). Es besteht also eine ODER-Beziehung zwischen den Zeilen.
Ein ankommender Schnitt-Tasten Keycode (RKEY_Ab) wird für PiP-TMS je nach STATE entweder in Zeitlupe (Key03) oder in Zurückspulen (Key04) umgesetzt. Wenn dann auch noch MovieCutter gerade eingeblendet ist, dann wird ein ankommender Volume+ Keycode in Rechts (Key05) und ein ankommender Volume- Keycode in Links umgesetzt (Key06).
Wie gesagt, das ist nur ein theoretisches Beispiel ohne sinnvollen Zweck (außer vielleicht bei MovieCutter).
Bitte dieses Beispiel vor der ersten Nutzung anpassen!
Die Sache mit STATE und SUBSTATE:
Hier ist immer STATE und SUBSTATE angegeben. Aber es könnte auch nur der STATE alleine stehen.
STATE_Normal und SUBSTATE_MainMenu bedeutet, dass das TAP eingeblendet ist und den NormalMode verlassen hat.
Paßt nicht ganz, aber ist so. STATE_Normal und SUBSTATE_Normal bedeutet wir schauen ganz normal TV.
Mit einem Ausrufezeichen vor dem STATE oder SUBSTATE wird angegeben, dass eben genau dieser STATE und/oder SUBSTATE nicht vorliegen darf.
!STATE_Normal und !SUBSTATE_Normal bedeutet, dass wir entweder in einem angezeigten TAP oder im Menü sind.
Es sind durchaus noch weitere Kombination denkbar. Die verfügbaren States kann man der tap.h entnehmen.
Download über TAPtoDate (Betas einschalten) oder auf meiner Homepage.
PS: @mecir: probiere es mal wie in Beispiel Key05 und Key06. Fall es nicht klappt, dann bitte erst altes Logfile löschen, dann KeyTransform starten, testen und davon brauche ich dann das komplette Log.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von xyzzyx am Sa 20. Aug 2011, 20:04, insgesamt 1-mal geändert.
MfG,
xyzzyx
Die Liste meiner portierten und meiner eigenen TAPs findet man hier
Langsam bin ich ratlos. MC war auch eingeblendet als Du die Tasten probiert hast oder nur gestartet?
Bei dem hier kam doch schon direkt RKEY_Left und RKEY_Right als Tastencode vorbei.
Welche Tasten hattest Du dabei auf der FB gedrückt?
Und ganz ohne KeyTransform und andere TAPs reagiert MC nicht auf diese Tasten?
MfG,
xyzzyx
Die Liste meiner portierten und meiner eigenen TAPs findet man hier