Changeset View
Changeset View
Standalone View
Standalone View
intern/ghost/intern/GHOST_SystemX11.cpp
| Show First 20 Lines • Show All 1,595 Lines • ▼ Show 20 Lines | convertXKey(KeySym key) | ||||
| else if ((key >= XK_a) && (key <= XK_z)) { | else if ((key >= XK_a) && (key <= XK_z)) { | ||||
| type = GHOST_TKey(key - XK_a + int(GHOST_kKeyA)); | type = GHOST_TKey(key - XK_a + int(GHOST_kKeyA)); | ||||
| } | } | ||||
| else if ((key >= XK_0) && (key <= XK_9)) { | else if ((key >= XK_0) && (key <= XK_9)) { | ||||
| type = GHOST_TKey(key - XK_0 + int(GHOST_kKey0)); | type = GHOST_TKey(key - XK_0 + int(GHOST_kKey0)); | ||||
| } | } | ||||
| else if ((key >= XK_F1) && (key <= XK_F24)) { | else if ((key >= XK_F1) && (key <= XK_F24)) { | ||||
| type = GHOST_TKey(key - XK_F1 + int(GHOST_kKeyF1)); | type = GHOST_TKey(key - XK_F1 + int(GHOST_kKeyF1)); | ||||
| #if defined(__sun) || defined(__sun__) | |||||
| /* 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 | |||||
| * | |||||
| * mein@cs.umn.edu | |||||
| */ | |||||
| } | |||||
| else if (key == 268828432) { | |||||
| type = GHOST_kKeyF11; | |||||
| } | |||||
| else if (key == 268828433) { | |||||
| type = GHOST_kKeyF12; | |||||
| #endif | |||||
| } | } | ||||
| else { | else { | ||||
| switch (key) { | switch (key) { | ||||
| GXMAP(type, XK_BackSpace, GHOST_kKeyBackSpace); | GXMAP(type, XK_BackSpace, GHOST_kKeyBackSpace); | ||||
| GXMAP(type, XK_Tab, GHOST_kKeyTab); | GXMAP(type, XK_Tab, GHOST_kKeyTab); | ||||
| GXMAP(type, XK_ISO_Left_Tab, GHOST_kKeyTab); | GXMAP(type, XK_ISO_Left_Tab, GHOST_kKeyTab); | ||||
| GXMAP(type, XK_Return, GHOST_kKeyEnter); | GXMAP(type, XK_Return, GHOST_kKeyEnter); | ||||
| GXMAP(type, XK_Escape, GHOST_kKeyEsc); | GXMAP(type, XK_Escape, GHOST_kKeyEsc); | ||||
| ▲ Show 20 Lines • Show All 77 Lines • ▼ Show 20 Lines | #ifdef WITH_XF86KEYSYM | ||||
| GXMAP(type, XF86XK_AudioStop, GHOST_kKeyMediaStop); | GXMAP(type, XF86XK_AudioStop, GHOST_kKeyMediaStop); | ||||
| GXMAP(type, XF86XK_AudioPrev, GHOST_kKeyMediaFirst); | GXMAP(type, XF86XK_AudioPrev, GHOST_kKeyMediaFirst); | ||||
| GXMAP(type, XF86XK_AudioRewind, GHOST_kKeyMediaFirst); | GXMAP(type, XF86XK_AudioRewind, GHOST_kKeyMediaFirst); | ||||
| GXMAP(type, XF86XK_AudioNext, GHOST_kKeyMediaLast); | GXMAP(type, XF86XK_AudioNext, GHOST_kKeyMediaLast); | ||||
| #ifdef XF86XK_AudioForward /* Debian lenny's XF86keysym.h has no XF86XK_AudioForward define */ | #ifdef XF86XK_AudioForward /* Debian lenny's XF86keysym.h has no XF86XK_AudioForward define */ | ||||
| GXMAP(type, XF86XK_AudioForward, GHOST_kKeyMediaLast); | GXMAP(type, XF86XK_AudioForward, GHOST_kKeyMediaLast); | ||||
| #endif | #endif | ||||
| #endif | #endif | ||||
| /* some extra sun cruft (NICE KEYBOARD!) */ | |||||
| #ifdef __sun__ | |||||
| GXMAP(type, 0xffde, GHOST_kKeyNumpad1); | |||||
| GXMAP(type, 0xffe0, GHOST_kKeyNumpad3); | |||||
| GXMAP(type, 0xffdc, GHOST_kKeyNumpad5); | |||||
| GXMAP(type, 0xffd8, GHOST_kKeyNumpad7); | |||||
| GXMAP(type, 0xffda, GHOST_kKeyNumpad9); | |||||
| GXMAP(type, 0xffd6, GHOST_kKeyNumpadSlash); | |||||
| GXMAP(type, 0xffd7, GHOST_kKeyNumpadAsterisk); | |||||
| #endif | |||||
| default: | default: | ||||
| type = GHOST_kKeyUnknown; | type = GHOST_kKeyUnknown; | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| return type; | return type; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 534 Lines • Show Last 20 Lines | |||||