From 76fc5ef8dae127c9fad89c3ae723b91bce891aa7 Mon Sep 17 00:00:00 2001
From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Wed, 14 Apr 2010 12:09:46 +0000
Subject: [PATCH] dokk ( the docking game):  - Added Keybindings file

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@1994 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 examples/dokk/KEYS     | 35 +++++++++++++++++++++++++++++++++++
 examples/dokk/glwin.py | 33 ++++++++++++++++-----------------
 2 files changed, 51 insertions(+), 17 deletions(-)
 create mode 100644 examples/dokk/KEYS

diff --git a/examples/dokk/KEYS b/examples/dokk/KEYS
new file mode 100644
index 000000000..2c0432242
--- /dev/null
+++ b/examples/dokk/KEYS
@@ -0,0 +1,35 @@
+Keyboard:
+---------
+P                           Previous Level
+N                           Next Level
+<Space>                     Start Level
+<Backspace>                 Give up / Reset Level
+<Enter>                     Confirm / Set position
+E                           Display solution (only available when game not started)
+R                           Move ligand to start position
+<ESC>                       Quit
+<ArrowKeys>                 Move Camera
+W,A,S,D                     Move Camera
+
+Mouse:
+------
+Mouse wheel                 Zoom
+left click drag             Rotate Ligand
+<Shift> + left click drag   Move ligand
+right click drag            Rotate Camera
+
+
+Space Navigator:
+----------------
+<L>                         Previous Level
+<R>                         Next Level
+<T>                         Start Level
+<2D>                        Qucikstart Level
+<ALT>                       Give up / Reset Level
+<FIT>                       Confirm / Set position
+<+>                         Display solution (only available when game not started)
+<->                         Move ligand to start position
+<ESC>                       Quit
+<Shift>                     Load first Level
+<1>                         Enable / Disable Translation
+<2>                         Enable / Disable Rotation
\ No newline at end of file
diff --git a/examples/dokk/glwin.py b/examples/dokk/glwin.py
index 23a5a5492..032099420 100644
--- a/examples/dokk/glwin.py
+++ b/examples/dokk/glwin.py
@@ -116,29 +116,28 @@ class DokkGLCanvas(QGLWidget):
       self.dokk.NextLevel()
     elif event.key() == Qt.Key_Space:
       self.dokk.GetLevel().Begin()
-    
-    if not self._lock_input:
-      if event.key() == Qt.Key_Left or event.key() == Qt.Key_A:
+    elif event.key() == Qt.Key_Left or event.key() == Qt.Key_A:
         self.OnTransform(gfx.INPUT_COMMAND_TRANSX,0, gfx.TRANSFORM_VIEW, -TRANS_VAL)
         
-      elif event.key() == Qt.Key_Right or event.key() == Qt.Key_D:
-        self.OnTransform(gfx.INPUT_COMMAND_TRANSX,0, gfx.TRANSFORM_VIEW, TRANS_VAL)
-        
-      elif event.key() == Qt.Key_Down or event.key() == Qt.Key_S:
-        self.OnTransform(gfx.INPUT_COMMAND_TRANSZ,0, gfx.TRANSFORM_VIEW, TRANS_VAL)
-        
-      elif event.key() == Qt.Key_Up or event.key() == Qt.Key_W:
-        self.OnTransform(gfx.INPUT_COMMAND_TRANSZ,0, gfx.TRANSFORM_VIEW, -TRANS_VAL)
-
-      elif event.key() == Qt.Key_Backspace:
+    elif event.key() == Qt.Key_Right or event.key() == Qt.Key_D:
+      self.OnTransform(gfx.INPUT_COMMAND_TRANSX,0, gfx.TRANSFORM_VIEW, TRANS_VAL)
+      
+    elif event.key() == Qt.Key_Down or event.key() == Qt.Key_S:
+      self.OnTransform(gfx.INPUT_COMMAND_TRANSY,0, gfx.TRANSFORM_VIEW, -TRANS_VAL)
+      
+    elif event.key() == Qt.Key_Up or event.key() == Qt.Key_W:
+      self.OnTransform(gfx.INPUT_COMMAND_TRANSY,0, gfx.TRANSFORM_VIEW, TRANS_VAL)
+    
+    elif event.key() == Qt.Key_E and self._lock_input:
+      self.dokk.GetLevel().Solve()
+    
+    if not self._lock_input:
+      if event.key() == Qt.Key_Backspace:
         self.dokk.GetLevel().Reset()
     
       elif event.key() == Qt.Key_Enter or event.key() == Qt.Key_Return:
         self.dokk.GetLevel().Finished()
-        
-      elif event.key() == Qt.Key_E:
-        self.dokk.GetLevel().Solve()
-        
+                
       elif event.key() == Qt.Key_R:
         self.dokk.GetLevel().ResetPos()
     
-- 
GitLab