Simplify the lookup of alternative keysyms.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5118 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/xserver/hw/vnc/Input.cc b/unix/xserver/hw/vnc/Input.cc
index 5f96f38..83f2ef3 100644
--- a/unix/xserver/hw/vnc/Input.cc
+++ b/unix/xserver/hw/vnc/Input.cc
@@ -475,18 +475,18 @@
/* Try some equivalent keysyms if we couldn't find a perfect match */
if (keycode == 0) {
for (i = 0;i < sizeof(altKeysym)/sizeof(altKeysym[0]);i++) {
- if (altKeysym[i].a == keysym) {
- keycode = keysymToKeycode(altKeysym[i].b,
- state, &new_state);
- if (keycode != 0)
- break;
- }
- if (altKeysym[i].b == keysym) {
- keycode = keysymToKeycode(altKeysym[i].a,
- state, &new_state);
- if (keycode != 0)
- break;
- }
+ KeySym altsym;
+
+ if (altKeysym[i].a == keysym)
+ altsym = altKeysym[i].b;
+ else if (altKeysym[i].b == keysym)
+ altsym = altKeysym[i].a;
+ else
+ continue;
+
+ keycode = keysymToKeycode(altsym, state, &new_state);
+ if (keycode != 0)
+ break;
}
}