Hello,

I've created a patch to support some more keys than those currently
supported, such as
Japanese hankaku/zenkaku keys. It will be practically required to
support XIM-enabled text
input in MWF.

(To make the change in effect, you have to rerun
resource/create-keyboards.exe
and get resources/keyboard.resx rebuilt.)

Currently there's no visible/verifiable change with this patch, but I
can post my not-working
patch to enable XIM with hankaku/zenkaku key (it won't be meaningful for
those without
that key and those who does not use that key for turning XIM on).

If it looks good I'll commit the patch (or feel free to apply it).

Atsushi Eno

Index: System.Windows.Forms/XplatUIStructs.cs
===================================================================
--- System.Windows.Forms/XplatUIStructs.cs	(リビジョン 92488)
+++ System.Windows.Forms/XplatUIStructs.cs	(作業コピー)
@@ -444,6 +444,8 @@
 		VK_PAUSE		= 0x13,
 		VK_CAPITAL		= 0x14,
 		VK_ESCAPE		= 0x1B,
+		VK_CONVERT		= 0x1C,
+		VK_NONCONVERT	= 0x1D,
 		VK_SPACE		= 0x20,
 		VK_PRIOR		= 0x21,
 		VK_NEXT			= 0x22,
@@ -564,6 +566,11 @@
 		VK_ICO_HELP		= 0xE3,
 		VK_ICO_00		= 0xE4,
 		VK_PROCESSKEY		= 0xE5,
+		VK_OEM_ATTN		= 0xF0,
+		VK_OEM_COPY		= 0xF2,
+		VK_OEM_AUTO		= 0xF3,
+		VK_OEM_ENLW		= 0xF4,
+		VK_OEM_BACKTAB		= 0xF5,
 		VK_ATTN			= 0xF6,
 		VK_CRSEL		= 0xF7,
 		VK_EXSEL		= 0xF8,
Index: System.Windows.Forms/X11Keyboard.cs
===================================================================
--- System.Windows.Forms/X11Keyboard.cs	(リビジョン 92488)
+++ System.Windows.Forms/X11Keyboard.cs	(作業コピー)
@@ -778,9 +778,9 @@
 			(int) VirtualKeys.VK_BACK, (int) VirtualKeys.VK_TAB, 0, (int) VirtualKeys.VK_CLEAR, 0, (int) VirtualKeys.VK_RETURN, 0, 0,	    /* FF08 */
 			0, 0, 0, (int) VirtualKeys.VK_PAUSE, (int) VirtualKeys.VK_SCROLL, 0, 0, 0,			     /* FF10 */
 			0, 0, 0, (int) VirtualKeys.VK_ESCAPE, 0, 0, 0, 0,			      /* FF18 */
+			0, 0, (int) VirtualKeys.VK_NONCONVERT, (int) VirtualKeys.VK_CONVERT, 0, 0, 0, 0,					    /* FF20 */
+			0, 0, (int) VirtualKeys.VK_OEM_AUTO, 0, 0, 0, 0, 0,					    /* FF28 */
 			/* unused */
-			0, 0, 0, 0, 0, 0, 0, 0,					    /* FF20 */
-			0, 0, 0, 0, 0, 0, 0, 0,					    /* FF28 */
 			0, 0, 0, 0, 0, 0, 0, 0,					    /* FF30 */
 			0, 0, 0, 0, 0, 0, 0, 0,					    /* FF38 */
 			0, 0, 0, 0, 0, 0, 0, 0,					    /* FF40 */
Index: resources/create-keyboards.cs
===================================================================
--- resources/create-keyboards.cs	(リビジョン 92488)
+++ resources/create-keyboards.cs	(作業コピー)
@@ -1848,7 +1848,12 @@
 		VirtualKeys.VK_OEM_3, VirtualKeys.VK_OEM_5, VirtualKeys.VK_W, VirtualKeys.VK_X, VirtualKeys.VK_C,
 		VirtualKeys.VK_V, VirtualKeys.VK_B, VirtualKeys.VK_N, VirtualKeys.VK_OEM_COMMA, VirtualKeys.VK_OEM_PERIOD,
 		VirtualKeys.VK_OEM_2, VirtualKeys.VK_OEM_8, 
-		VirtualKeys.VK_OEM_102 // the 102nd key (actually to the right of l-shift)
+		VirtualKeys.VK_OEM_ATTN,
+		VirtualKeys.VK_OEM_102, // the 102nd key (actually to the right of l-shift)
+		VirtualKeys.VK_OEM_COPY,
+		VirtualKeys.VK_OEM_AUTO,
+		VirtualKeys.VK_OEM_ENLW,
+		VirtualKeys.VK_OEM_BACKTAB,
 	};
 
 	//// WRONG
@@ -2054,6 +2059,11 @@
 		VK_ICO_HELP		= 0xE3,
 		VK_ICO_00		= 0xE4,
 		VK_PROCESSKEY		= 0xE5,
+		VK_OEM_ATTN		= 0xF0,
+		VK_OEM_COPY		= 0xF2,
+		VK_OEM_AUTO		= 0xF3,
+		VK_OEM_ENLW		= 0xF4,
+		VK_OEM_BACKTAB		= 0xF5,
 		VK_ATTN			= 0xF6,
 		VK_CRSEL		= 0xF7,
 		VK_EXSEL		= 0xF8,
_______________________________________________
Mono-winforms-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-winforms-list

Reply via email to