Ok, here is a screenshot:
In the screenshot, you should see that I am accessing my Ubuntu laptop from my Debian desktop computer (using VNC), and from the Ubuntu laptop I am using my patched version of rdesktop to remotely access a third computer running Windows. I changed the keyboard layout to a Swedish keyboard layout, and pressed VK_OEM_4 on my Debian computer, and see the result... "aring"!
Regardless of what you map it to at build time, it can be incorrect at runtime, since the keycode can vary from day to day. Xvnc allocates keycodes the first time you press a certain key/symbol.
keycode 255 is a special case. I found this:
We could just directly map keycode 255 to VK_OEM_4. Normally this keycode isn't used.
The problem is that it's not even stable for the same keyboard.
How does it know that VK_OEM_4 has been pressed, if keycodes can't be used as you say? Because XKB maintains a database of keycodes -> XKB keynames. How
many times do I have to repeat it? Yes, the keycode DOES change, it isn't a constant, it will vary from one keyboard to another. THAT IS THE WHOLE POINT
If you are still convinced that your implementation is good, why don't you try it within a Xvnc session, for example, with the "aring" symbol that I used in my example?
What the fuck is wrong with you guys? I'm here, submitting a damn patch that's actually good, and you guys can't even manage to read it carefully enough to understand what it is doing really. Instead, you insist on making me repeat the same things over and over again, and when I think you finally get it, no! You totally miss the point again. Keep your broken input system if that is your wish, I'm so pissed at how bad this can be that I'm very tempted to fork the damn project.
Peter Åstrand ThinLinc Chief Developer
Cendio AB http://www.cendio.com
Wallenbergs gata 4
583 30 Linköping Phone: +46-13-21 46 00