patches/gtk3+-05-sun-pgdn-pgup-keybindings.diff
author yippi
Mon, 27 Sep 2010 21:07:51 +0000
changeset 20108 51df67ca9307
parent 18292 9ff9c0fa64d9
permissions -rw-r--r--
I had these modules listed as being owned by me, but they are really owned by wangke, correcting.

--- 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: