Your message dated Sun, 21 Oct 2007 21:42:19 +0200
with message-id <[EMAIL PROTECTED]>
and subject line virtualbox
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: virtualbox-ose
Version: 1.5.0-dfsg2-1
Severity: normal
Tags: patch

Hi,

(first, although I ACK it is a wishlist, I let the severity to normal
since it is a very annoying bug, having an impact on the usability of
the package)

when using e.g. an azerty layout (pc105/fr), it is impossible to get
symbols like: {, }, [, ], #, @ inside the VMs. Upstream has a patch for
that and I guess you might want to add it as a patch against the current
debian package, waiting for the upstream to release a newer version.

Attached is a patch based on changeset 3938[1], which works great for
me. (Note that the second original hunk isn't needed.)

 1. http://www.virtualbox.org/changeset/3938

Cheers,

-- 
Cyril Brulebois
--- virtualbox-ose-1.5.0-dfsg2/src/VBox/Frontends/VirtualBox/src/linux/keyboard.c	2007-08-30 17:16:23.000000000 +0200
+++ virtualbox-ose-1.5.0-dfsg2-new/src/VBox/Frontends/VirtualBox/src/linux/keyboard.c	2007-09-21 21:46:11.000000000 +0200
@@ -1038,7 +1038,8 @@
     /* function keys */
     VK_F1, VK_F2,
     VK_F3, VK_F4, VK_F5, VK_F6, VK_F7, VK_F8, VK_F9, VK_F10,    /* FFC0 */
-    VK_F11, VK_F12, VK_F13, VK_F14, VK_F15, VK_F16, 0, 0,       /* FFC8 */
+    VK_F11, VK_F12, VK_LWIN /* VK_F13 */, VK_RWIN /* VK_F14 */,
+    VK_F15, VK_F16, 0, 0,                                       /* FFC8 */
     0, 0, 0, 0, 0, 0, 0, 0,                                     /* FFD0 */
     0, 0, 0, 0, 0, 0, 0, 0,                                     /* FFD8 */
     /* modifier keys */
@@ -1085,7 +1086,7 @@
     /* function keys */
     0x3B, 0x3C,
     0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44,              /* FFC0 */
-    0x57, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FFC8 */
+    0x57, 0x58, 0x15B, 0x15C, 0x00, 0x00, 0x00, 0x00,              /* FFC8 */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FFD0 */
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,              /* FFD8 */
     /* modifier keys */
@@ -1841,36 +1842,43 @@
 
         if (!vkey)
         {
+            // @@@AH VBOX hack for AltGr
+            if (e2.keycode == 0x71)
+            { 
+                TRACE("VBOX HACK, mapping keycode 0x71 to scancode %X\n", VK_MENU); 
+                vkey = VK_MENU | 0x100; 
+            } else { 
             /* Others keys: let's assign OEM virtual key codes in the allowed range,
              * that is ([0xba,0xc0], [0xdb,0xe4], 0xe6 (given up) et [0xe9,0xf5]) */
-            do
-            {
-                switch (++OEMvkey)
+                do
                 {
-                case 0xc1 : OEMvkey=0xdb; break;
-                case 0xe5 : OEMvkey=0xe9; break;
-                case 0xf6 : OEMvkey=0xf5; WARN("No more OEM vkey available!\n");
-                }
-            } while (OEMvkey < 0xf5 && vkey_used[OEMvkey]);
+                    switch (++OEMvkey)
+                    {
+                    case 0xc1 : OEMvkey=0xdb; break;
+                    case 0xe5 : OEMvkey=0xe9; break;
+                    case 0xf6 : OEMvkey=0xf5; WARN("No more OEM vkey available!\n");
+                    }
+                } while (OEMvkey < 0xf5 && vkey_used[OEMvkey]);
 
-            vkey = VKEY_IF_NOT_USED(OEMvkey);
+                vkey = VKEY_IF_NOT_USED(OEMvkey);
 
-            if (TRACE_ON(keyboard))
-            {
-                TRACE("OEM specific virtual key %X assigned to keycode %X:\n",
-                                 OEMvkey, e2.keycode);
-                TRACE("(");
-                for (i = 0; i < keysyms_per_keycode; i += 1)
+                if (TRACE_ON(keyboard))
                 {
-                    const char *ksname;
+                    TRACE("OEM specific virtual key %X assigned to keycode %X:\n",
+                                 OEMvkey, e2.keycode);
+                    TRACE("(");
+                    for (i = 0; i < keysyms_per_keycode; i += 1)
+                    {
+                        const char *ksname;
 
-                    keysym = XLookupKeysym(&e2, i);
-                    ksname = XKeysymToString(keysym);
-                    if (!ksname)
-                        ksname = "NoSymbol";
-                    TRACE( "%lX (%s) ", keysym, ksname);
+                        keysym = XLookupKeysym(&e2, i);
+                        ksname = XKeysymToString(keysym);
+                        if (!ksname)
+                            ksname = "NoSymbol";
+                        TRACE( "%lX (%s) ", keysym, ksname);
+                    }
+                    TRACE(")\n");
                 }
-                TRACE(")\n");
             }
         }
 

--- End Message ---
--- Begin Message ---
Version: 1.5.2-dfsg-2

Michael Meskes <[EMAIL PROTECTED]> (19/10/2007):
> Hi,

Hi,

> I just uploaded 1.5.2. Reading this bug report suggests that this
> might fix your problem for good. Could you please try and tell us?

backporting it to lenny shows a functional AltGr key under X once I've
done “setxkbmap fr” (but not before that) although I'm using the
following in the VM (debian sid/i386):
  XkbRules   xorg
  XkbModel   pc105
  XkbLayout  fr
  XkbVariant fr

But the core problem seems solved, closing with the (only) version I
tested.

Cheers,

-- 
Cyril Brulebois

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply via email to