patches/realvnc-java-client-05-g11n-use-remote-im.diff
author yippi
Mon, 27 Sep 2010 21:07:51 +0000
changeset 20108 51df67ca9307
parent 11460 3cc4d920fb4b
permissions -rw-r--r--
I had these modules listed as being owned by me, but they are really owned by wangke, correcting.

--- vnc-4_1-javasrc/java/rfb/Keysyms.java.orig	2008-01-15 15:55:10.561444000 +0900
+++ vnc-4_1-javasrc/java/rfb/Keysyms.java	2008-01-15 15:56:25.564721000 +0900
@@ -63,6 +63,12 @@ public class Keysyms {
   public static final int script_switch = 0xFF7E;
   public static final int Num_Lock = 0xFF7F;
 
+  public static final int KP_Left = 0xFF96;
+  public static final int KP_Up = 0xFF97;
+  public static final int KP_Right = 0xFF98;
+  public static final int KP_Down = 0xFF99;
+  public static final int KP_Begin = 0xFF9d;
+
   public static final int F1 = 0xFFBE;
   public static final int F2 = 0xFFBF;
   public static final int F3 = 0xFFC0;
@@ -84,4 +90,7 @@ public class Keysyms {
   public static final int Meta_R = 0xFFE8;
   public static final int Alt_L = 0xFFE9;
   public static final int Alt_R = 0xFFEA;
+
+  public static final int Kanji = 0xFF21;
+  public static final int Henkan_Mode = 0xFF23;
 }
--- vnc-4_1-javasrc/java/rfb/UnicodeToKeysym.java.orig	2008-01-15 15:12:34.345738000 +0900
+++ vnc-4_1-javasrc/java/rfb/UnicodeToKeysym.java	2008-01-15 17:11:07.898546000 +0900
@@ -775,6 +775,11 @@ public class UnicodeToKeysym {
         (unicode >= 0xa0 && unicode <= 0xff))
       return unicode;
 
+    /* From HALFWIDTH IDEOGRAPHIC FULL STOP (U+FF61)
+     * To   HALFWIDTH KATAKANA SEMI-VOICED SOURND MARK (U+FF9F) */
+    if ((unicode >= 0xff61 && unicode <= 0xff9f))
+      return unicode - 64192;
+
     int min = 0;
     int max = table.length - 1;
     int mid;
--- vnc-4_1-javasrc/java/vncviewer/CConn.java.orig	2008-01-15 15:55:46.024607000 +0900
+++ vnc-4_1-javasrc/java/vncviewer/CConn.java	2008-01-15 17:24:45.512185000 +0900
@@ -521,6 +521,16 @@ public class CConn extends rfb.CConnecti
       case KeyEvent.VK_PRINTSCREEN:  keysym = rfb.Keysyms.Print; break;
       case KeyEvent.VK_PAUSE:        keysym = rfb.Keysyms.Pause; break;
       case KeyEvent.VK_INSERT:       keysym = rfb.Keysyms.Insert; break;
+      case KeyEvent.VK_KP_LEFT:      keysym = rfb.Keysyms.KP_Left; break;
+      case KeyEvent.VK_KP_UP:        keysym = rfb.Keysyms.KP_Up; break;
+      case KeyEvent.VK_KP_RIGHT:     keysym = rfb.Keysyms.KP_Right; break;
+      case KeyEvent.VK_KP_DOWN:      keysym = rfb.Keysyms.KP_Down; break;
+      case KeyEvent.VK_BEGIN:        keysym = rfb.Keysyms.KP_Begin; break;
+      case KeyEvent.VK_ACCEPT:       keysym = rfb.Keysyms.Execute; break;
+      case KeyEvent.VK_CONVERT:      keysym = rfb.Keysyms.Kanji; break;
+      case KeyEvent.VK_INPUT_METHOD_ON_OFF:
+                                     keysym = rfb.Keysyms.Henkan_Mode; break;
+      case KeyEvent.VK_KANA_LOCK:    keysym = rfb.Keysyms.Mode_switch; break;
       default: return;
       }
     }
--- vnc-4_1-javasrc/java/vncviewer/DesktopWindow.java.orig	2008-01-15 15:56:17.533387000 +0900
+++ vnc-4_1-javasrc/java/vncviewer/DesktopWindow.java	2008-01-15 15:56:25.574174000 +0900
@@ -48,6 +48,8 @@ class DesktopWindow extends Canvas imple
     cursorBacking = new rfb.ManagedPixelBuffer();
     addMouseListener(this);
     addMouseMotionListener(this);
+    // Disable local input methods and use remote input methods.
+    enableInputMethods(false);
     addKeyListener(this);
     this.setFocusTraversalKeysEnabled(false);
     addFocusListener(this);