by jitterjames » Thu Sep 03, 2009 3:45 pm
OK. I managed to fix the problem by lobotomizing part of the code.
This is based on the plugin that comes with the latest version of EG (3.7.r1194)
the result is that long keypresses no longer work, but you can use enduring events so you can get autorepeat and "jump if long keypress" to work again. With a few changes to your macros you regain all the functionality that you had with .S and .L events.
the problem seems to have something to do with threading, but this is a topic I know nothing about. maybe someone else will have some suggestions.
here's the code segment I edited. It starts around line 1037
if evtName == "Release":
#if self.sleepTime > 0:
# self.Timer2 = TimerThread(self.plugin, "Timer2", self.sleepTime, prefix, "Sleep")
# self.Timer2.start()
#if self.hibernateTime > 0:
# self.Timer3 = TimerThread(self.plugin, "Timer3", self.hibernateTime, prefix, "Hibernate")
# self.Timer3.start()
if self.ps3Release:
self.plugin.TriggerEvent(evtName)
self.maskRegularEvent = False
else:
if not self.maskRegularEvent or not regularEvent:
if elapsedTime > self.sleepTime and self.sleepTime > 0:
self.plugin.TriggerEvent("WakeUp")
self.zoneName = "None"
if self.ps3Zone and self.zoneName != zoneName and zoneName != "none":
self.plugin.TriggerEvent(zoneName)
self.plugin.TriggerEnduringEvent(evtName)
#if elapsedTime < self.shortKeyTime and evtName == self.evtName:
# self.Timer1 = TimerThread(self.plugin, "Timer1", self.longKeyTime, prefix, evtName + ".M")
# self.Timer1.start()
# eg.TriggerEvent(evtName + ".D", prefix = prefix)
#else:
# self.Timer1 = TimerThread(self.plugin, "Timer1", self.longKeyTime, prefix, evtName + ".L")
# self.Timer1.start()
# self.Started = True
#self.evtName = evtName
#self.zoneName = zoneName
#self.regularEvent = regularEvent
if not regularEvent:
self.maskRegularEvent = True
- Attachments
-
__init__.py
- (53.83 KiB) Downloaded 226 times