Имитация нажатия клавиши или программный вызов сигнала Gtk.EventControllerKey key-pressed (python)
GTK (python) - как сымитировать сигнал нажатия клавиши. Или может есть иное решение? Есть код:
evk = Gtk.EventControllerKey.new()
evk.connect("key-pressed", self.key_pressed)
evk.connect("key-released", self.key_released)
self.add_controller(evk)
def key_pressed(self, event, keyval, keycode, state):
if (keycode == 111): self.is_up_pressed = True # up
if (keycode == 113): self.is_left_pressed = True # left
if (keycode == 114): self.is_right_pressed = True # right
if (keycode == 116): self.is_down_pressed = True # down
if (self.is_up_pressed and self.is_left_pressed):
print("up + left")
elif (self.is_up_pressed and self.is_right_pressed):
print("up + right")
elif (self.is_down_pressed and self.is_left_pressed):
print("down + left")
elif (self.is_down_pressed and self.is_right_pressed):
print("down + right")
elif (self.is_up_pressed):
print("up")
elif (self.is_left_pressed):
print("left")
elif (self.is_right_pressed):
print("rigth")
elif (self.is_down_pressed):
print("down")
def key_released(self, event, keyval, keycode, state):
if (keycode == 111): self.is_up_pressed = False
if (keycode == 113): self.is_left_pressed = False
if (keycode == 114): self.is_right_pressed = False
if (keycode == 116): self.is_down_pressed = False
Если например зажать «стрелку вверх» и «стрелку влево», а затем отпустить любую из «стрелок» то печатается ничего не будет, пока не нажать любую клавишу… Вопрос в том чтобы не отпущенная клавиша («стрелка») продолжила печататься.