Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details

If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.

Texteingabe wie bei einem Handy

Allgemeines zum Thema EventGhost
Post Reply
rupi99
Posts: 2
Joined: Wed May 07, 2008 9:56 am

Texteingabe wie bei einem Handy

Post by rupi99 »

Hallo,

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.
<?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 2 werden je nach Anzahl der Tastendrücke folgende Zeichen ausgegeben: 2; a; b; c; ä
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 :D
Franziskanär
Posts: 3
Joined: Sat May 31, 2008 2:46 pm

Re: Texteingabe wie bei einem Handy

Post by Franziskan├ñr »

w├╝rde mich auch sehr beeindrucken.
User avatar
topix
Experienced User
Posts: 441
Joined: Sat May 05, 2007 3:43 pm
Location: Germany
Contact:

Re: Texteingabe wie bei einem Handy

Post by topix »

In dem Thread hier habe ich mal meine Version einer "Handytastatur" gepostet.
Post Reply