It turns out that different VNC servers handle the shift key differently. In most cases you will find that the shift key works as expected. However, if your VNC server handles the shift key differently, then here are some things to keep in mind.
Most VNC servers allow you to send a capital letter using the shift key + the lower case key. If that is not the case with your VNC server, then you will have to send the upper case key directly. For example, to send an upper case H, send an upper case H keystroke, not the SHIFT + h keystroke combination.
On a traditional keyboard, some characters are entered using the shift state of a key. For example, on a US Keyboard an exclamation point is entered by pressing the shift + 1 keystroke combination. Some VNC servers will handle this key combination like a traditional keyboard and display an exclamation point. But others may not, in which case you would have to send the exclamation point keystroke directly, instead of sending the keystroke combination.
Some keyboard shortcuts are activated using the shift key + the lower case key. Most VNC servers will handle this keystroke combination correctly. If your VNC software does not, then you have to send the SHIFT key + the upper case keystroke instead.