mirror of
https://github.com/lowobservable/oec.git
synced 2026-02-05 16:06:00 +00:00
Refactor session
This commit is contained in:
@@ -146,6 +146,8 @@ class Controller:
|
||||
self.session = None
|
||||
|
||||
def _update_session(self, duration):
|
||||
update_count = 0
|
||||
|
||||
while duration > 0:
|
||||
start_time = time.perf_counter()
|
||||
|
||||
@@ -157,10 +159,14 @@ class Controller:
|
||||
for (key, events) in selected:
|
||||
session = key.fileobj
|
||||
|
||||
session.handle_host()
|
||||
if session.handle_host():
|
||||
update_count += 1
|
||||
|
||||
duration -= (time.perf_counter() - start_time)
|
||||
|
||||
if update_count > 0:
|
||||
self.session.render()
|
||||
|
||||
def _handle_poll_response(self, poll_response):
|
||||
if isinstance(poll_response, KeystrokePollResponse):
|
||||
self._handle_keystroke_poll_response(poll_response)
|
||||
@@ -190,6 +196,8 @@ class Controller:
|
||||
elif self.session:
|
||||
self.session.handle_key(key, modifiers, scan_code)
|
||||
|
||||
self.session.render()
|
||||
|
||||
def _poll(self):
|
||||
self.last_poll_time = time.perf_counter()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user