This is a bit of a hack, but it looks like sun
authorKent Mein <mein@cs.umn.edu>
Wed, 10 May 2006 19:46:06 +0000 (19:46 +0000)
committerKent Mein <mein@cs.umn.edu>
Wed, 10 May 2006 19:46:06 +0000 (19:46 +0000)
commitd5ae204275becc4915e24aa1bb38cbb1404429e7
tree91a96fcf35037466a08a3944674ef6806fb13598
parentd0acd78ad81cdcf0c595948a5ffb4cb46660f46e
 This is a bit of a hack, but it looks like sun
                  Used F11 and friends for its special keys Stop,again etc..
                  So this little patch enables F11 and F12 to work as expected
                  following link has documentation on it:
                  http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4734408
                  also from /usr/include/X11/Sunkeysym.h
#define SunXK_F36               0x1005FF10      // Labeled F11
#define SunXK_F37               0x1005FF11      // Labeled F12

I also added a comment explaning why the heck its there...

What this means is XK_F11 and XK_F12 do not line up with the F11 and F12
keys on sun keyboards.  So I've added special cases to correct the issue.

Doing a quick grep for XK_F shows there are some files in the
gameengine that use them when they probably shouldn't, but I'm not going to
attempt to fix them, Files that should be looked at are:
gameengine/BlenderRoutines/KX_BlenderInputDevice.h
gameengine/Converter/KX_ConvertSensors.cpp
gameengine/GameLogic/SCA_IInputDevice.h
gameengine/GamePlayer/common/unix/GPU_KeyboardDevice.cpp
gameengine/GamePlayer/common/windows/GPW_KeyboardDevice.cpp
gameengine/GamePlayer/ghost/GPG_KeyboardDevice.cpp
gameengine/Ketsji/KX_PythonInit.cpp

Kent
intern/ghost/intern/GHOST_EventPrinter.cpp
intern/ghost/intern/GHOST_SystemX11.cpp
intern/ghost/intern/GHOST_SystemX11.h