Ich wollte gern ├╝ber EG mit den Zahlentasten der Fernbedienung Buchstaben wie bei einem Handy eingeben.
Weil ich trotz langen Suchens aber nichts entsprechendes fand, habe ich mich mal selbst darangesetzt. Ich habe vom Programmieren mit Python Null Ahnung und deshalb versucht, das Ganze mit den "EG Boardmitteln" zu realisieren. Es ist zugegebenermaßen etwas umständlich geworden, aber es funktioniert.
Um mehrere Tastendr├╝cke direkt hintereinander zu erfassen, habe ich den "Erzeuge Ereignis"-Befehl benutzt, der bei jedem Tastendruck mit ansteigender Zeitverz├Âgerung gestartet wird. Das entsprechende "Ereignis" habe ich dann bei dem jeweiligen Zeichen manuel erstellt (z.B. "Tippe A"). Als Beispiel habe ich mal die Konfiguration f├╝r die Tasten 2 und 3 angeh├ñngt.
Bei Taste 2 werden je nach Anzahl der Tastendrücke folgende Zeichen ausgegeben: 2; a; b; c; ä<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Name="Konfigurations-Baum" Version="1386" Guid="{EA0E55DE-7E1C-4217-B4EB-25FD6CEC7735}" Time="1210226529.5">
<Autostart Name="Autostart" />
<Folder Name="Zahlen">
<Folder Name="2">
<Macro Name="2 dr├╝cken 1" id="141">
<Event Name="USB_UIRT.434C555055F0" />
<Action>
EventGhost.TriggerEvent(u'Tippe 2', 1.0)
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(141))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(147))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(174))
</Action>
</Macro>
<Macro Name="2 dr├╝cken 2" id="147" Enabled="False">
<Event Name="USB_UIRT.434C555055F0" />
<Action>
EventGhost.TriggerEvent(u'Tippe A', 2.0)
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(174))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(147))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(154))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(181))
</Action>
</Macro>
<Macro Name="2 dr├╝cken 3" id="154" Enabled="False">
<Event Name="USB_UIRT.434C555055F0" />
<Action>
EventGhost.TriggerEvent(u'Tippe B', 3.0)
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(181))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(154))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(161))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(188))
</Action>
</Macro>
<Macro Name="2 dr├╝cken 4" id="161" Enabled="False">
<Event Name="USB_UIRT.434C555055F0" />
<Action>
EventGhost.TriggerEvent(u'Tippe C', 4.0)
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(188))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(161))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(168))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(195))
</Action>
</Macro>
<Macro Name="2 dr├╝cken 5" id="168" Enabled="False">
<Event Name="USB_UIRT.434C555055F0" />
<Action>
EventGhost.DisableItem(XmlIdLink(195))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(168))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(202))
</Action>
<Action>
EventGhost.NewJumpIf(XmlIdLink(202), 0, False)
</Action>
</Macro>
<Macro Name="2" id="174" Enabled="False">
<Event Name="Tippe 2" />
<Action Name="VMC finden">
Window.FindWindow(u'ehshell.exe', u'Windows Media Center', u'eHome Render Window', None, None, None, False, 0.0, 0)
</Action>
<Action Name="Tippe 2">
Window.SendKeys(u'2', False)
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(141))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(147))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(174))
</Action>
</Macro>
<Macro Name="a" id="181" Enabled="False">
<Event Name="Tippe A" />
<Action Name="VMC finden">
Window.FindWindow(u'ehshell.exe', u'Windows Media Center', u'eHome Render Window', None, None, None, False, 0.0, 0)
</Action>
<Action Name="Tippe a">
Window.SendKeys(u'a', False)
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(141))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(154))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(181))
</Action>
</Macro>
<Macro Name="b" id="188" Enabled="False">
<Event Name="Tippe B" />
<Action Name="VMC finden">
Window.FindWindow(u'ehshell.exe', u'Windows Media Center', u'eHome Render Window', None, None, None, False, 0.0, 0)
</Action>
<Action Name="Tippe b">
Window.SendKeys(u'b', False)
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(141))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(161))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(188))
</Action>
</Macro>
<Macro Name="c" id="195" Enabled="False">
<Event Name="Tippe C" />
<Action Name="VMC finden">
Window.FindWindow(u'ehshell.exe', u'Windows Media Center', u'eHome Render Window', None, None, None, False, 0.0, 0)
</Action>
<Action Name="Tippe c">
Window.SendKeys(u'c', False)
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(141))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(168))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(195))
</Action>
</Macro>
<Macro Name="ä" id="202" Enabled="False">
<Action Name="VMC finden">
Window.FindWindow(u'ehshell.exe', u'Windows Media Center', u'eHome Render Window', None, None, None, False, 0.0, 0)
</Action>
<Action Name="Tippe ä">
Window.SendKeys(u'\xe4', False)
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(188))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(141))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(202))
</Action>
</Macro>
</Folder>
<Folder Name="3">
<Macro Name="3 dr├╝cken 1" id="213">
<Event Name="USB_UIRT.434C514554F0" />
<Action>
EventGhost.TriggerEvent(u'Tippe 3', 1.0)
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(213))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(219))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(239))
</Action>
</Macro>
<Macro Name="3 dr├╝cken 2" id="219" Enabled="False">
<Event Name="USB_UIRT.434C514554F0" />
<Action>
EventGhost.TriggerEvent(u'Tippe D', 2.0)
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(239))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(219))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(226))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(246))
</Action>
</Macro>
<Macro Name="3 dr├╝cken 3" id="226" Enabled="False">
<Event Name="USB_UIRT.434C514554F0" />
<Action>
EventGhost.TriggerEvent(u'Tippe E', 3.0)
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(246))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(226))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(233))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(253))
</Action>
</Macro>
<Macro Name="3 dr├╝cken 4" id="233" Enabled="False">
<Event Name="USB_UIRT.434C514554F0" />
<Action>
EventGhost.DisableItem(XmlIdLink(253))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(233))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(260))
</Action>
<Action>
EventGhost.NewJumpIf(XmlIdLink(260), 0, False)
</Action>
</Macro>
<Macro Name="3" id="239" Enabled="False">
<Event Name="Tippe 3" />
<Action Name="VMC finden">
Window.FindWindow(u'ehshell.exe', u'Windows Media Center', u'eHome Render Window', None, None, None, False, 0.0, 0)
</Action>
<Action Name="Tippe 3">
Window.SendKeys(u'3', False)
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(213))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(219))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(239))
</Action>
</Macro>
<Macro Name="d" id="246" Enabled="False">
<Event Name="Tippe D" />
<Action Name="VMC finden">
Window.FindWindow(u'ehshell.exe', u'Windows Media Center', u'eHome Render Window', None, None, None, False, 0.0, 0)
</Action>
<Action Name="Tippe d">
Window.SendKeys(u'd', False)
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(213))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(226))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(246))
</Action>
</Macro>
<Macro Name="e" id="253" Enabled="False">
<Event Name="Tippe E" />
<Action Name="VMC finden">
Window.FindWindow(u'ehshell.exe', u'Windows Media Center', u'eHome Render Window', None, None, None, False, 0.0, 0)
</Action>
<Action Name="Tippe e">
Window.SendKeys(u'e', False)
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(213))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(233))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(253))
</Action>
</Macro>
<Macro Name="f" id="260" Enabled="False">
<Action Name="VMC finden">
Window.FindWindow(u'ehshell.exe', u'Windows Media Center', u'eHome Render Window', None, None, None, False, 0.0, 0)
</Action>
<Action Name="Tippe f">
Window.SendKeys(u'f', False)
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(253))
</Action>
<Action>
EventGhost.EnableItem(XmlIdLink(213))
</Action>
<Action>
EventGhost.DisableItem(XmlIdLink(260))
</Action>
</Macro>
</Folder>
</Folder>
</EventGhost>
Bei Taste 3 sind es: 3; d; e; f
Analog kann man das für die restlichen Tasten realisieren. 1 und 0 habe ich nicht mit anderen Zeichen belegt. Der obige Code muß als "xml" mit UTF-8 Codierung gespeichert werden, damit er funktioniert.
Zu den jeweiligen Zeichen k├Ânnte man noch ein entsprechendes OSD einbauen.
Ich benutze die Buchstaben haupts├ñchlich, um im Vista Media Center schneller durch meine Musikbibliothek springen zu k├Ânnen. Bei Eingabe eines Buchstaben springt die Markierung n├ñmlich zu den Interpreten, die mit diesem Buchstaben beginnen. Deshalb ist in meiner Konfiguration auch VMC als Ziel eingestellt.
Vielleicht kann es ja jemand brauchen. Falls es noch eine einfachere M├Âglichkeit gibt, w├ñre ich immer noch daran interessiert.
Sch├Ânen Gru├ƒ
rupi99