aboutsummaryrefslogtreecommitdiffstats
path: root/vncviewer
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2018-11-06 12:40:53 +0100
committerPierre Ossman <ossman@cendio.se>2018-11-06 12:46:43 +0100
commit0f1c63060cc000ddb8b15391b1349ab6653184ba (patch)
tree23df9d6b5ab52106e34658b992d0dde5dc97309e /vncviewer
parent785cb9d837d2baefae852866c67e5d3de49dd2c1 (diff)
downloadtigervnc-0f1c63060cc000ddb8b15391b1349ab6653184ba.tar.gz
tigervnc-0f1c63060cc000ddb8b15391b1349ab6653184ba.zip
Handle AltGr from Windows' touch keyboard
Diffstat (limited to 'vncviewer')
-rw-r--r--vncviewer/Viewport.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/vncviewer/Viewport.cxx b/vncviewer/Viewport.cxx
index 7b5df572..165560cb 100644
--- a/vncviewer/Viewport.cxx
+++ b/vncviewer/Viewport.cxx
@@ -945,6 +945,13 @@ int Viewport::handleSystemEvent(void *event, void *data)
self->altGrArmed = false;
Fl::remove_timeout(handleAltGrTimeout);
+ // Windows' touch keyboard doesn't set a scan code for the Alt
+ // portion of the AltGr sequence, so we need to help it out
+ if (!isExtended && (keyCode == 0x00)) {
+ isExtended = true;
+ keyCode = 0x38;
+ }
+
if (isExtended && (keyCode == 0x38) && (vKey == VK_MENU) &&
((msg->time - self->altGrCtrlTime) < 50)) {
// Alt seen, so this is an AltGr sequence