Problem with Right Shift and Terminal Server Client

James Weatherall jnw "at"
Wed Jan 7 12:18:01 2004


The uMapType change you suggest can't possibly work - uMapType=0 maps
from virtual keycode to scancode, while uMapType=3 maps from scancode to
virtual keycode.  MapVirtualKey is used in the VNC 4 codebase purely to
"fake" a scancode to associate with keyboard events, so that DOS prompts
and other legacy applications can be used via VNC.

You may have better luck running RDP2VNC to access terminal servers.


Wez @ RealVNC Ltd.

-----Original Message-----
From: vnc-list-admin "at" [mailto:vnc-list-admin "at"] On
Behalf Of Greg Breland
Sent: 19 December 2003 21:31
To: Tight VNC
Cc: RealVNC
Subject: Problem with Right Shift and Terminal Server Client

I am having problems with my right shift key when connecting to my Win2K
box from my RH8 box using TightVNC 1.2.9 or RealVNC 4.0 client in
combination with Terminal Server Client for Win2K.

The shift key works fine directly on the Win2K box, however if I think
Terminal into a Terminal Server of any sort (Win2K, WinXP, Win3K) the
right shift key no longer responds.

I have dug through the code and I think it might have something to do
with Terminal Server doing something odd when grabbing keystokes and the
fact that VNC fakes keyboard output in Win95 mode.  Specifically, I
think using uMapType = 3 instead of uMapType = 0 for the MapVirtualKey()
call in vncKeymap.cpp might fix the problem since it will preserve
right/left hand key notation.  I don't have a Windows development system
setup, so I can't try it.

So here is what I would like to request.

1) Can someone please verify that this is a problem and not my setup. 
Can you VNC into a box and then use Terminal Services to another box?  I
can even provide a Terminal Box on the Internet to test with if needed.

2) Any thoughts about changing the uMapType mode if the VNC server is
being run on a Win2K/3K/XP box?  Any chance this could be the problem?

Greg Breland
VNC-List mailing list
VNC-List "at"
To remove yourself from the list visit: