<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1534">
<Action>
System.SetIdleTime(10.0)
</Action>
</EventGhost>
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1534">
<Macro Name="Cancel" Expanded="True">
<Event Name="System.Idle" />
<Action>
OSM.Cancel_Btn()
</Action>
</Macro>
</EventGhost>
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1534">
<Folder Name="IdleReseter" Expanded="True">
<Macro Name="IdleReseter" Expanded="True">
<Event Name="Lirc.Menu" />
<Action>
Window.SendKeys(u'{RShift}', False)
</Action>
</Macro>
</Folder>
</EventGhost>
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1534">
<Macro Name="OS Menu: Page Down" Expanded="True">
<Event Name="Lirc.Left" />
<Action>
OSM.PageDown()
</Action>
<Action>
Window.SendKeys(u'{RShift}', False)
</Action>
</Macro>
</EventGhost>
I do not understand why you're doing such a complicated manner.wakko wrote:You can use System.Idle timer. Set it up, say, on 10 seconds.
You can trigger "OS Menu: CANCEL" on System.Idle event.
I done it right that way.
To stop closing OSMenu after unpredictable period of time, while i'm calling OSMenu, i'm also resetting System.Idle timer to zero.
Also, i'm resetting System.Idle timer with every press OSMenu keys.
To reset System.Idle timer i'm using "Emulate keystrokes <right shift>.
May be there is a better way, but it working OK for me.
eg.scheduler.CancelTask(eg.globals.osmDelay)
eg.globals.osmDelay = eg.scheduler.AddTask(10, eg.plugins.OSM.Cancel_Btn)Users browsing this forum: Bing [Bot], Google [Bot] and 4 guests