Revision: bfe0cd3fcd15
Author: Nicolas Rougier <
Nicolas...@inria.fr>
Date: Sun Jul 7 23:45:20 2013
Log: Fixed key translation (issue 32)
http://code.google.com/p/glumpy/source/detail?r=bfe0cd3fcd15
Modified:
/glumpy/window/backend_glut.py
=======================================
--- /glumpy/window/backend_glut.py Wed Apr 10 23:10:56 2013
+++ /glumpy/window/backend_glut.py Sun Jul 7 23:45:20 2013
@@ -221,38 +221,69 @@
def _keyboard_translate( self, code ):
- ascii = ord(code.lower())
- if (0x020 <= ascii <= 0x040) or (0x05b <= ascii <= 0x07e):
- return ascii
- elif ascii < 0x020:
- if ascii == 0x008: return key.BACKSPACE
- elif ascii == 0x009: return key.TAB
- elif ascii == 0x00A: return key.LINEFEED
- elif ascii == 0x00C: return key.CLEAR
- elif ascii == 0x00D: return key.RETURN
- elif ascii == 0x018: return key.CANCEL
- elif ascii == 0x01B: return key.ESCAPE
- elif code==glut.GLUT_KEY_F1: return key.F1
- elif code==glut.GLUT_KEY_F2: return key.F2
- elif code==glut.GLUT_KEY_F3: return key.F3
- elif code==glut.GLUT_KEY_F4: return key.F4
- elif code==glut.GLUT_KEY_F5: return key.F5
- elif code==glut.GLUT_KEY_F6: return key.F6
- elif code==glut.GLUT_KEY_F7: return key.F7
- elif code==glut.GLUT_KEY_F8: return key.F8
- elif code==glut.GLUT_KEY_F9: return key.F9
- elif code==glut.GLUT_KEY_F10: return key.F10
- elif code==glut.GLUT_KEY_F11: return key.F11
- elif code==glut.GLUT_KEY_F12: return key.F12
- elif code==glut.GLUT_KEY_LEFT: return key.LEFT
- elif code==glut.GLUT_KEY_UP: return key.UP
- elif code==glut.GLUT_KEY_RIGHT: return key.RIGHT
- elif code==glut.GLUT_KEY_DOWN: return key.DOWN
- elif code==glut.GLUT_KEY_PAGE_UP: return key.PAGEUP
- elif code==glut.GLUT_KEY_PAGE_DOWN:return key.PAGEDOWN
- elif code==glut.GLUT_KEY_HOME: return key.HOME
- elif code==glut.GLUT_KEY_END: return key.END
- elif code==glut.GLUT_KEY_INSERT: return key.INSERT
+ try:
+ ascii = ord(code.lower())
+ except AttributeError:
+ if code==glut.GLUT_KEY_F1:
+ return key.F1
+ elif code==glut.GLUT_KEY_F2:
+ return key.F2
+ elif code==glut.GLUT_KEY_F3:
+ return key.F3
+ elif code==glut.GLUT_KEY_F4:
+ return key.F4
+ elif code==glut.GLUT_KEY_F5:
+ return key.F5
+ elif code==glut.GLUT_KEY_F6:
+ return key.F6
+ elif code==glut.GLUT_KEY_F7:
+ return key.F7
+ elif code==glut.GLUT_KEY_F8:
+ return key.F8
+ elif code==glut.GLUT_KEY_F9:
+ return key.F9
+ elif code==glut.GLUT_KEY_F10:
+ return key.F10
+ elif code==glut.GLUT_KEY_F11:
+ return key.F11
+ elif code==glut.GLUT_KEY_F12:
+ return key.F12
+ elif code==glut.GLUT_KEY_LEFT:
+ return key.LEFT
+ elif code==glut.GLUT_KEY_UP:
+ return key.UP
+ elif code==glut.GLUT_KEY_RIGHT:
+ return key.RIGHT
+ elif code==glut.GLUT_KEY_DOWN:
+ return key.DOWN
+ elif code==glut.GLUT_KEY_PAGE_UP:
+ return key.PAGEUP
+ elif code==glut.GLUT_KEY_PAGE_DOWN:
+ return key.PAGEDOWN
+ elif code==glut.GLUT_KEY_HOME:
+ return key.HOME
+ elif code==glut.GLUT_KEY_END:
+ return key.END
+ elif code==glut.GLUT_KEY_INSERT:
+ return key.INSERT
+ else:
+ if (0x020 <= ascii <= 0x040) or (0x05b <= ascii <= 0x07e):
+ return ascii
+ elif ascii < 0x020:
+ if ascii == 0x008:
+ return key.BACKSPACE
+ elif ascii == 0x009:
+ return key.TAB
+ elif ascii == 0x00A:
+ return key.LINEFEED
+ elif ascii == 0x00C:
+ return key.CLEAR
+ elif ascii == 0x00D:
+ return key.RETURN
+ elif ascii == 0x018:
+ return key.CANCEL
+ elif ascii == 0x01B:
+ return key.ESCAPE
def _display( self ):