João Paulo
João Paulo

Reputation: 6690

Leaving kivy app when pressing 'escape'

I'm using keyboard events following this example:

from kivy.core.window import Window
class PongGame(Widget):
    ball = ObjectProperty(None)
    player1 = ObjectProperty(None)
    player2 = ObjectProperty(None)

    def __init__(self, **kwargs):
        super(PongGame, self).__init__(**kwargs)
        self._keyboard = Window.request_keyboard(self._keyboard_closed, self)
        self._keyboard.bind(on_key_down=self._on_keyboard_down)

    def _keyboard_closed(self):
        self._keyboard.unbind(on_key_down=self._on_keyboard_down)
        self._keyboard = None

    def _on_keyboard_down(self, keyboard, keycode, text, modifiers):
        if keycode[1] == 'w':
            self.player1.center_y += 10
        elif keycode[1] == 's':
            self.player1.center_y -= 10
        elif keycode[1] == 'up':
            self.player2.center_y += 10
        elif keycode[1] == 'down':
            self.player2.center_y -= 10
        return True

Source: How do you check for keyboard events with kivy?

But sometimes when I press esc, the app is left even I didn't order the app to do it. Is there a built-in method of Kivy that makes the app shut down when pressing esc? Is there a way to disable it?

LOG that appears in shell:

[INFO ] [Base ] Leaving application in progress...

EDIT: The keyboard event listener is disabling when I change screen using Screen Manager (kivy.uix.screenmanager)

Upvotes: 3

Views: 5650

Answers (3)

kztd
kztd

Reputation: 3405

I got this message after asking selenium to wait for an ID and then trying to click it. What fixed it for me was adding a little delay:

time.sleep(3)

Upvotes: 0

Merbin J Anselm
Merbin J Anselm

Reputation: 1044

Based on @inclement answer,

from kivy.config import Config
Config.set('kivy', 'exit_on_escape', '0')

Upvotes: 8

inclement
inclement

Reputation: 29488

This is an automatic behaviour of kivy. You can turn it off by setting the exit_on_escape config token to 0, as described at http://kivy.org/docs/api-kivy.config.html .

Upvotes: 9

Related Questions