From cb3b635501b349d3ff564883e5965c327781e2e4 Mon Sep 17 00:00:00 2001 From: Alexandre Magno Date: Tue, 23 Apr 2013 19:28:48 -0300 Subject: [PATCH] Undoes the strategy of the commit 646aabd; that commit replaces a feature, this adds one. Brief update of the module documentation. Bugfix for F11 key binding. Bugfix for F12 key binding. --- kivy/modules/keybinding.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/kivy/modules/keybinding.py b/kivy/modules/keybinding.py index ff435c07b..ac0969f1e 100644 --- a/kivy/modules/keybinding.py +++ b/kivy/modules/keybinding.py @@ -5,8 +5,11 @@ Keybinding This module force the mapping of some keys to functions: * F11: Rotate the Window from 0, 90, 180, 270 +* Shift + F11: Switches between portrait and landscape on PC * F12: Take a screenshot +Note: this don't work if the application requires keyboard before. + ''' from kivy.utils import platform @@ -14,13 +17,14 @@ from kivy.utils import platform __all__ = ('start', 'stop') -def _on_keyboard_handler(instance, key, scancode, codepoint, modifier): - if key == 293: # F12 +def _on_keyboard_handler(instance, key, scancode, codepoint, modifiers): + if key == 293 and modifiers == []: # F12 instance.screenshot() - elif key == 292: # F11 - if not platform() in ('win', 'linux', 'macosx'): - instance.rotation += 90 - else: + elif key == 292 and modifiers == []: # F11 + instance.rotation += 90 + elif key == 292 and modifiers == ['shift']: # Shift + F11 + if platform() in ('win', 'linux', 'macosx'): + instance.rotation = 0 w, h = instance.size w, h = h, w instance.size = (w, h)