=== modified file 'Onboard/Keyboard.py' --- Onboard/Keyboard.py 2016-08-15 15:08:44 +0000 +++ Onboard/Keyboard.py 2016-12-08 18:20:46 +0000 @@ -790,6 +790,9 @@ return visible def set_visible(self, visible): + if not visible: + self.release_pressed_keys(redraw=True, unsticky_only=True) + self.update_auto_show_on_visibility_change(visible) for view in self._layout_views: view.set_visible(visible) @@ -2247,7 +2250,7 @@ if key in self._locked_sticky_keys: self._locked_sticky_keys.remove(key) - def release_pressed_keys(self, redraw=False): + def release_pressed_keys(self, redraw=False, unsticky_only=False): """ Release pressed keys on exit, or when recreating the main window. """ @@ -2259,6 +2262,9 @@ # Release keys that haven't been released yet for key in self.iter_keys(): + if unsticky_only and key.sticky: + continue + if key.pressed and key.type in \ [KeyCommon.CHAR_TYPE, KeyCommon.KEYSYM_TYPE,