|
|
@@ -594,13 +594,20 @@ rdr::U32 Viewport::translateKeyEvent(int keyCode, int origKeyCode, const char *k |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
#ifdef WIN32 |
|
|
|
#if defined(WIN32) || defined(__APPLE__) |
|
|
|
// X11 fairly consistently uses XK_KP_Separator for comma and |
|
|
|
// XK_KP_Decimal for period. Windows unfortunately is terribly |
|
|
|
// inconcistent, and is not something that's likely to change: |
|
|
|
// XK_KP_Decimal for period. Windows and OS X are a different matter |
|
|
|
// though. |
|
|
|
// |
|
|
|
// OS X will consistently generate the same key code no matter what |
|
|
|
// layout is being used. |
|
|
|
// |
|
|
|
// Windows is terribly inconcistent, and is not something that's |
|
|
|
// likely to change: |
|
|
|
// http://blogs.msdn.com/michkap/archive/2006/09/13/752377.aspx |
|
|
|
// To work around this we look at what character the key generates |
|
|
|
// and try to follow X11 behaviour. |
|
|
|
// |
|
|
|
// To get X11 behaviour, we instead look at the text generated by |
|
|
|
// they key. |
|
|
|
if ((keyCode == (FL_KP + ',')) || (keyCode == (FL_KP + '.'))) { |
|
|
|
switch (keyText[0]) { |
|
|
|
case ',': |