Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by [EMAIL PROTECTED]

http://bugzilla.ximian.com/show_bug.cgi?id=79711

--- shadow/79711        2006-11-24 17:30:57.000000000 -0500
+++ shadow/79711.tmp.1022       2006-12-20 06:53:21.000000000 -0500
@@ -69,6 +69,45 @@
 
 Additional Information:
 
 ------- Additional Comments From [EMAIL PROTECTED]  2006-11-24 17:30 -------
 Also happens with 1.2.1 release of mono, and on a machine with XP SP2 
 and .Net Framework 2
+
+------- Additional Comments From [EMAIL PROTECTED]  2006-12-20 06:53 -------
+This still appears in Mono 1.2.2.1 on Windows XP.
+
+Here is a workaround I use for Mono on Windows:
+
+        public static ConsoleKeyInfo ReadKey(bool intercept)
+        {
+            while(true)
+            {
+                ConsoleKeyInfo key = Console.ReadKey(intercept);
+                switch(key.Key)
+                {
+                    case (ConsoleKey) 16:        // shift
+                    case (ConsoleKey) 17:        // control
+                    case (ConsoleKey) 18:        // alt
+                    case (ConsoleKey) 20:        // caps lock
+                    case (ConsoleKey) 30676:     // context menu
+                        Console.ReadKey(true);      // catch second 
+wrong key event
+                        break;
+                    case (ConsoleKey) 22:        // focus
+                        break;
+                    default:
+                        Console.ReadKey(true);      // catch wrong 
+key event
+                        return key;
+                }
+            }
+        }
+
+As this workaround implies, "keypresses" also become produced for 
+KeyUp and KeyDown of Shift, Control, Alt, Capslock, for opening and 
+closing the console context menu and for getting the focus.
+
+This does not appear with Mono 1.1.18 and Mono 1.2.2.1 on Linux, 
+though there the Insert and Delete produce an escape sequence with 3 
+keypresses instead of the correct Insert and Delete ConsoleKeys. The 
+other keys seem to work correctly.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to