caps lock key not working

Hi,

I’m a new user of Vine Viewer, v1.1. It’s been generally terrific; so much so that I bought it within two minutes of firing up the trial! I do have one problem, however. There is no response to the caps lock key, although the shift key has the normal effect. The machine is a PowerBook G4/667 (Gigabit Ethernet), and the external keyboard is a Tactile Pro from here, which identifies as a standard ANSI 101/102-key keyboard. The server is the vncserver distributed with Red Hat Enterprise Linux 3. It’s a small annoyance in an otherwise wonderful program, but I saw that you were getting ready to release v1.2 and hoped to get the fix into the new version. Thanks.

Best,
David

Hi David,

VNC in general doesn’t seem to be very accommodating to caps lock.

Until there’s another solution, is it possible to remap caps lock to another key? (That just sounds like a Linuxy thing to do.) :slight_smile:

[quote=“Artie Effam”]VNC in general doesn’t seem to be very accommodating to caps lock.[/quote]Hi Artie,

Just logged in to the same server with Chicken of the VNC 2.0b4 and the caps lock works. According to Chicken of the VNC’s connection info dialog, the server is supporting RFB 003.007 if it makes a difference.

Best,
David

David:

We have found the proper keysym and enabled it for the next build of Vine, thanks for your suggestion. Some VNC servers have a hard time supporting the CapsLock key but if the Linux one you are using supports it then you should be good to go.

Great support; thanks! Looking forward to 1.2.

Best,
David

[quote=“JonathanOSX”]David:

We have found the proper keysym and enabled it for the next build of Vine, thanks for your suggestion. Some VNC servers have a hard time supporting the CapsLock key but if the Linux one you are using supports it then you should be good to go.[/quote]The 1.2 beta still doesn’t work, although as before, the current build of Chicken of the VNC does allow the use of caps lock with the same VNC server, which is the one that comes with Red Hat Enterprise Linux 3.

Best,
David

The keysym is definitely getting sent in VineViewer 1.2. One difference might be that we will only send it when we detect the press while Vine is active and in Live mode.

Other than that it might help to know exactly how you are using Caps Lock key. It may be more of a local versus remote caps sending issue.

Hi,

I don’t think I’m doing anything odd. I just opened both Chicken of the VNC 2.0b4 and Vine Viewer 1.2Beta and attached to the same VNC session. In each, I typed “abc”, then turned on caps lock and typed “def”, then turned caps lock off again. The sequence that was thus typed in Chicken of the VNC echoed as “abcDEF”, and the one typed in Vine Viewer echoed as “abcdef”. Is there any tool that will capture all the traffic going to a particular port and address, or can the standard Linux VNC server be made to log all its input?

Best,
David

Hi,

Just ran two more tests. I removed the PowerBook from its dock and tried again with the same results. That takes the external keyboard out of the equation. I also tried using Apple’s VPN client rather than DigiTunnel, and again there was no change.

Best,
David

Ok, I’m not sure that it’s a “caps lock getting sent” issue as much as it is a “does the local capslock state affect what is sent” issue.

Put another way… if you put down capslock first, then launch Chicken, then start typing remotely, do you get capital letters or not? I suspect you do but not because Caps-Lock is set in linux, but because Chicken is typing capital keys.

I’m not 100% sure which is “right” in that case, and so let me think about how Vine should and could behave and decide if we should change how it works.

[quote=“JonathanOSX”]Put another way… if you put down capslock first, then launch Chicken, then start typing remotely, do you get capital letters or not? I suspect you do but not because Caps-Lock is set in linux, but because Chicken is typing capital keys.[/quote]That may be the case. If I put down caps lock, then launch Chicken, then hit the ‘abc’ keys, I see 'abc" in the Linux terminal. If, however, I switch to another application, then turn on caps lock, then switch back to Chicken and type, I see “ABC”. That leads me to suspect that you’re correct: that it’s sending ABC when it knows the caps lock key is down. Personally, I’d prefer that behavior.

Best,
David

There are some difficulties here.

Challenge 1: Sending the Key versus sending the Character
Officially from the RFB protocol VNC sends characters, but this doesn’t work for all VNC servers (including Vine Server I’m sorry to say). To get a capital “A” you need to have first sent a SHIFT-DOWN (sending an “A” without shift just gets an “a”). So right now Vine Viewer sends shifts when it feels like it needs to, but that can cause some side effects if we do it as a result of the Caps Lock key down.

Challenge 2: Dealing with Caps Lock as an actual Modifier
For the servers that actually DO handle the Caps Lock key it could cause some peculiar problems to deal with the Caps Lock state of both machines. Meaning if you hit CapsLock and that DOES go through (setting the remote machine in CAPS state) then you start sending it capital or shifted letters it may or may not treat that properly if the Caps key is already down. Then what if you turn the capslock off locally but not on the remote machine or vice-versa.

Answer:
Having thought it through though I think the appropriate behavior is to follow the spec, meaning that whatever key is pressed locally should be sent over. The ‘a’ key when caps is down locally should send “A” (and it’s up to the remote server to interpret it properly. Unfortunately this will require some reworking and so it wont be in until the next release (after 1.2).