showing in UI when grab was not possible

pull/14/head
sezanzeb 4 years ago
parent 141a147aa2
commit db1f2a0d9d

@ -602,7 +602,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Click on a cell below and hit a key on your device.</property> <property name="tooltip_text" translatable="yes">Click on a cell below and hit a key on your device. If you have your preset active, the reported keycodes may be wrong.</property>
<property name="margin_top">5</property> <property name="margin_top">5</property>
<property name="margin_bottom">5</property> <property name="margin_bottom">5</property>
<property name="label" translatable="yes">Key</property> <property name="label" translatable="yes">Key</property>

@ -254,7 +254,14 @@ class Window:
) )
if self.keycode_reader is not None: if self.keycode_reader is not None:
self.keycode_reader.stop_injecting() self.keycode_reader.stop_injecting()
try:
self.keycode_reader = KeycodeInjector(self.selected_device) self.keycode_reader = KeycodeInjector(self.selected_device)
except OSError:
self.get('status_bar').push(
CTX_ERROR,
f'Could not grab device "{self.selected_device}"'
)
def on_select_device(self, dropdown): def on_select_device(self, dropdown):
"""List all presets, create one if none exist yet.""" """List all presets, create one if none exist yet."""

@ -190,9 +190,13 @@ class KeycodeInjector:
worker.start() worker.start()
# wait for the process to notify creation of the new injection # wait for the process to notify creation of the new injection
# device, to keep the logs in order. # device, to keep the logs in order.
pipe[0].recv() status = pipe[0].recv()
if status != FAILED:
self.processes.append(worker) self.processes.append(worker)
if len(self.processes) == 0:
raise OSError('Could not grab any device')
def stop_injecting(self): def stop_injecting(self):
"""Stop injecting keycodes.""" """Stop injecting keycodes."""
logger.info('Stopping injecting keycodes') logger.info('Stopping injecting keycodes')

Loading…
Cancel
Save