diff --git a/main.py b/main.py index ad3230b..c2abbe0 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,7 @@ from plyer import gps from kivy.app import App from kivy.clock import Clock +from kivy.core.window import Window from kivy.properties import DictProperty, NumericProperty, StringProperty from kivy.clock import mainthread from kivy.utils import platform @@ -24,11 +25,28 @@ class MapScreen(Screen): class CompassScreen(Screen): - pass + def __init__(self, **kwargs): + super(CompassScreen, self).__init__(**kwargs) + Window.bind(on_keyboard=self.android_back_click) + + def android_back_click(self, window, key, *largs): + if key == 27 and self.parent is not None: + self.parent.current='map' + return True + class SettingsScreen(Screen): - pass + def __init__(self, **kwargs): + super(SettingsScreen, self).__init__(**kwargs) + Window.bind(on_keyboard=self.android_back_click) + + def android_back_click(self, window, key, *largs): + + if key == 27 and self.parent is not None: + self.parent.current='map' + return True + class FlockompassApp(App): @@ -196,10 +214,9 @@ class FlockompassApp(App): self.cs = CompassScreen(name='compass') self.cs._anim = None self.cs._anim1 = None - + screen_manager.add_widget(self.cs) - self.ss = SettingsScreen(name='settings') screen_manager.add_widget(self.ss)