Fix up numpad keys.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4356 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/vncviewer/DesktopWindow.cxx b/vncviewer/DesktopWindow.cxx
index eca1983..0188f72 100644
--- a/vncviewer/DesktopWindow.cxx
+++ b/vncviewer/DesktopWindow.cxx
@@ -284,6 +284,10 @@
if ((keyCode >= FL_F) && (keyCode <= FL_F_Last))
return XK_F1 + (keyCode - FL_F);
+ // Numpad numbers
+ if ((keyCode >= (FL_KP + '0')) && (keyCode <= (FL_KP + '9')))
+ return XK_KP_0 + (keyCode - (FL_KP + '0'));
+
// Then other special keys
switch (keyCode) {
case FL_BackSpace:
@@ -344,6 +348,22 @@
return XK_Alt_R;
case FL_Delete:
return XK_Delete;
+ case FL_KP_Enter:
+ return XK_KP_Enter;
+ case FL_KP + '=':
+ return XK_KP_Equal;
+ case FL_KP + '*':
+ return XK_KP_Multiply;
+ case FL_KP + '+':
+ return XK_KP_Add;
+ case FL_KP + ',':
+ return XK_KP_Separator;
+ case FL_KP + '-':
+ return XK_KP_Subtract;
+ case FL_KP + '.':
+ return XK_KP_Decimal;
+ case FL_KP + '/':
+ return XK_KP_Divide;
}
// Unknown special key?