patches/gtk+-05-sun-pgdn-pgup-keybindings.diff
author rohinis
Tue, 29 Nov 2011 17:32:55 +0000
branchs11express-2010-11
changeset 22234 c23e64da3e06
parent 13180 0fc8f2111102
permissions -rw-r--r--
2011-11-29 Rohini S <[email protected]> * patches/Python26-22-audio.diff: Fixes CVE-2010-1634 * specs/SUNWPython26.spec: Fixes CR 7085446

--- gtk+-2.4.1/gdk/x11/gdkevents-x11.c	2004-04-23 18:33:56.000000000 +0530
+++ gtk+-2.4.1-new/gdk/x11/gdkevents-x11.c	2004-08-18 16:53:57.000000000 +0530
@@ -1011,8 +1011,31 @@ gdk_event_translate (GdkDisplay *display
           return_val = FALSE;
           break;
         }
+
+      if (xevent->xkey.state == 0)
+      {
+          switch (XKeycodeToKeysym (display_x11->xdisplay, xevent->xkey.keycode, 0)) {
+             case GDK_R7:    /* Home key on Sun Type-4/5/6 keyboard */
+                xevent->xkey.keycode = XKeysymToKeycode (display_x11->xdisplay,
+GDK_Home);
+                break;
+             case GDK_R13:   /* End key on Sun Type-4/5/6 keyboard */
+                xevent->xkey.keycode = XKeysymToKeycode (display_x11->xdisplay,
+GDK_End);
+                break;
+             case GDK_R9:    /* PgUp Key */
+                xevent->xkey.keycode = XKeysymToKeycode (display_x11->xdisplay,
+GDK_Prior);
+                break;
+             case GDK_R15:   /* PgDn Key */
+                xevent->xkey.keycode = XKeysymToKeycode (display_x11->xdisplay,
+GDK_Next);
+                break;
+          }
+      }
       translate_key_event (display, event, xevent);
       set_user_time (window, event);
+
       break;
 
     case KeyRelease: