summaryrefslogtreecommitdiff
path: root/src/Fl_x.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2011-05-21 21:55:59 +0000
committerManolo Gouy <Manolo>2011-05-21 21:55:59 +0000
commit2a9d1e7becb161f53f445d7e18f9ea8165fb31a9 (patch)
tree77c85db019914a0c7c62eb86a4acc5990089ec33 /src/Fl_x.cxx
parent695613433aee95045908979243af6e9c031f397e (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.cxx51
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