I am from Brasil and my keyboard is a ABNT2 layout.
With winvnc 3.3.7 the dead keys '4', '~', '`' '^' don4t work.
I take the source code of vncviewer for win and correct the problem.
I belive that the modifications will work in many layouts.

The modification:

In KeyMap.cpp, line 225:

  if (ret == 2) {
    switch (*buf) {
    case '`' :
     kas.keycodes[numkeys++] = XK_dead_grave; break;
    case 180 :
     kas.keycodes[numkeys++] = XK_dead_acute; break;
    case '~' :
     kas.keycodes[numkeys++] = XK_dead_tilde; break;
    case '^':
     kas.keycodes[numkeys++] = XK_dead_circumflex; break;
    default:
                 log.Print(8,_T("ToAscii (without ctrl) returns %d byte(s):
"), ret);
     for (int i = 0; i < ret; i++) {
        kas.keycodes[numkeys++] = *(buf+i);
       log.Print(8, _T("%02x (%c) "), *(buf+i) , *(buf+i));
     }
     break;
    }
            }
            // if this works, and it's a regular printable character, we just
send that
            if (ret == 1) {
                log.Print(8,_T("ToAscii (without ctrl) returns %d byte(s): "),
ret);
                for (int i = 0; i < ret; i++) {
                   kas.keycodes[numkeys++] = *(buf+i);
                  log.Print(8, _T("%02x (%c) "), *(buf+i) , *(buf+i));
                }
            }

----

Marcos Rebello
_______________________________________________
VNC-List mailing list
[EMAIL PROTECTED]
http://www.realvnc.com/mailman/listinfo/vnc-list

Reply via email to