diff options
| author | Manolo Gouy <Manolo> | 2011-05-21 21:55:59 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2011-05-21 21:55:59 +0000 |
| commit | 2a9d1e7becb161f53f445d7e18f9ea8165fb31a9 (patch) | |
| tree | 77c85db019914a0c7c62eb86a4acc5990089ec33 /src/Fl_x.cxx | |
| parent | 695613433aee95045908979243af6e9c031f397e (diff) | |
Fix STR #2638. The X11 part is simplified as suggested by Bill.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8710 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_x.cxx')
| -rw-r--r-- | src/Fl_x.cxx | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx index 95aff3d3e..b9f12826b 100644 --- a/src/Fl_x.cxx +++ b/src/Fl_x.cxx @@ -1337,6 +1337,57 @@ int fl_handle(const XEvent& thisevent) keysym = FL_Meta_R; break; } + // Convert the multimedia keys to safer, portable values + switch (keysym) { // XF names come from X11/XF86keysym.h + case 0x1008FF11: // XF86XK_AudioLowerVolume: + keysym = FL_Volume_Down; + break; + case 0x1008FF12: // XF86XK_AudioMute: + keysym = FL_Volume_Mute; + break; + case 0x1008FF13: // XF86XK_AudioRaiseVolume: + keysym = FL_Volume_Up; + break; + case 0x1008FF14: // XF86XK_AudioPlay: + keysym = FL_Media_Play; + break; + case 0x1008FF15: // XF86XK_AudioStop: + keysym = FL_Media_Stop; + break; + case 0x1008FF16: // XF86XK_AudioPrev: + keysym = FL_Media_Prev; + break; + case 0x1008FF17: // XF86XK_AudioNext: + keysym = FL_Media_Next; + break; + case 0x1008FF18: // XF86XK_HomePage: + keysym = FL_Home_Page; + break; + case 0x1008FF19: // XF86XK_Mail: + keysym = FL_Mail; + break; + case 0x1008FF1B: // XF86XK_Search: + keysym = FL_Search; + break; + case 0x1008FF26: // XF86XK_Back: + keysym = FL_Back; + break; + case 0x1008FF27: // XF86XK_Forward: + keysym = FL_Forward; + break; + case 0x1008FF28: // XF86XK_Stop: + keysym = FL_Stop; + break; + case 0x1008FF29: // XF86XK_Refresh: + keysym = FL_Refresh; + break; + case 0x1008FF2F: // XF86XK_Sleep: + keysym = FL_Sleep; + break; + case 0x1008FF30: // XF86XK_Favorites: + keysym = FL_Favorites; + break; + } // We have to get rid of the XK_KP_function keys, because they are // not produced on Windoze and thus case statements tend not to check // for them. There are 15 of these in the range 0xff91 ... 0xff9f |
