controller: Add thread for HID handler to app
This commit is contained in:
parent
9543851867
commit
244a340764
@ -42,12 +42,16 @@ def main():
|
|||||||
|
|
||||||
conf = configparser.ConfigParser()
|
conf = configparser.ConfigParser()
|
||||||
conf.read_dict({
|
conf.read_dict({
|
||||||
'general': {'log_level': 'info'},
|
'general': {
|
||||||
|
'log_level': 'info',
|
||||||
|
'dummy_impl': False,
|
||||||
|
},
|
||||||
'valorant': {'player_uuid': ''},
|
'valorant': {'player_uuid': ''},
|
||||||
})
|
})
|
||||||
conf.read(CONFIG_FILE)
|
conf.read(CONFIG_FILE)
|
||||||
with open(CONFIG_FILE, 'w') as f:
|
with open(CONFIG_FILE, 'w') as f:
|
||||||
conf.write(f)
|
conf.write(f)
|
||||||
|
conf.getboolean('general', 'dummy_impl')
|
||||||
|
|
||||||
log_level = parse_log_level(conf['general']['log_level'])
|
log_level = parse_log_level(conf['general']['log_level'])
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
@ -59,13 +63,19 @@ def main():
|
|||||||
log.error(f'No player UUID set, exiting...')
|
log.error(f'No player UUID set, exiting...')
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
if use_dummy_impl:
|
||||||
val_handler = valconomy.ValconomyHandler()
|
val_handler = valconomy.ValconomyHandler()
|
||||||
|
else:
|
||||||
|
val_handler = valconomy.HIDValconomyHandler()
|
||||||
|
val_handler.start()
|
||||||
val_sm = valconomy.ValconomyStateMachine(conf['valorant']['player_uuid'], val_handler)
|
val_sm = valconomy.ValconomyStateMachine(conf['valorant']['player_uuid'], val_handler)
|
||||||
|
|
||||||
val_client = valconomy.ValorantLocalClient(val_sm.handle_presence)
|
val_client = valconomy.ValorantLocalClient(val_sm.handle_presence)
|
||||||
def do_quit(tray: infi.systray.SysTrayIcon):
|
def do_quit(tray: infi.systray.SysTrayIcon):
|
||||||
log.info('Shutting down')
|
log.info('Shutting down')
|
||||||
val_client.stop()
|
val_client.stop()
|
||||||
|
if use_dummy_impl:
|
||||||
|
val_handler.stop()
|
||||||
|
|
||||||
with infi.systray.SysTrayIcon(
|
with infi.systray.SysTrayIcon(
|
||||||
data_file('icon.ico'), 'Valconomy', on_quit=do_quit,
|
data_file('icon.ico'), 'Valconomy', on_quit=do_quit,
|
||||||
|
@ -8,6 +8,7 @@ from pprint import pprint
|
|||||||
import os
|
import os
|
||||||
import queue
|
import queue
|
||||||
import struct
|
import struct
|
||||||
|
import threading
|
||||||
import time
|
import time
|
||||||
from typing import Callable
|
from typing import Callable
|
||||||
|
|
||||||
@ -242,6 +243,7 @@ class HIDValconomyHandler(ValconomyHandler):
|
|||||||
self.dev = None
|
self.dev = None
|
||||||
self.running = True
|
self.running = True
|
||||||
self.queue = queue.Queue(128)
|
self.queue = queue.Queue(128)
|
||||||
|
self._thread = None
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
if self.dev is not None:
|
if self.dev is not None:
|
||||||
@ -300,6 +302,15 @@ class HIDValconomyHandler(ValconomyHandler):
|
|||||||
|
|
||||||
self.service()
|
self.service()
|
||||||
|
|
||||||
|
def start(self):
|
||||||
|
assert self._thread is None
|
||||||
|
self._thread = threading.Thread(name='HIDValconomyHandler', target=self.run)
|
||||||
|
self._thread.start()
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
assert self._thread is not None and self.running
|
||||||
|
self._thread.join()
|
||||||
|
|
||||||
def none(self):
|
def none(self):
|
||||||
self._enq(0)
|
self._enq(0)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user