Two issues observed with TigerVNC server on Windows OS when raw keyboard mode is enabled

294 views
Skip to first unread message

Sum, Achim

unread,
Nov 9, 2017, 5:24:06 AM11/9/17
to tigervn...@googlegroups.com

Hello

 

I did some tests with the new raw keyboard mode that is provided with TigerVNC (so far only available in nightly builds). There are few issues observed when running the TigerVNC on Windows OS. Btw, so far I tested with Windows 10 only.

 

Regards

 

Achim

 

 

1. TigerVNC on Windows OS does not show the expected behavior with raw keyboard mode enabled when sending Ctrl + Alt + Del.

 

How to reproduce

1. Install nightly of TigerVNC from October 30th 2017 for Windows.

2. Configure the server to apply raw keyboard mode, and enable log output.

3. From the TigerVNC client on Windows, send Ctrl + Alt + Del key combination using the client context menu.

 

Observations:

- No action is performed on remote side

- With logging enabled for the TigerVNC server, the expected sequence of keys is printed

 

Expectation:

On Windows OS typing the CTRL + ALT + DEL key combination should show a screen that permits to choose between different actions (Lock computer, switch user, log off, ...)

 

 

 

2. TigerVNC on Windows OS with raw keyboard mode enabled does not activate Pause but Scrolllock when pressing the Pause key on client side.

 

How to reproduce

1. Install nightly of TigerVNC from October 30th 2017 for Windows.

2. Configure the server to apply raw keyboard mode.

3. Use novnc to connect to the TigerVNC server.

4. Press the "Pause" key on the client side keyboard.

 

Observation:

There is some evidence that actually the Scrolllock key is pressed on the server side

- A keylogger indicates that Scrolllock has been pressed

- The Windows onscreen keyboard will actually toggle the Scrolllock key

- The TigerVNC server logs will show the following key related actions:

                VNCSConnST:  Key pressed: 0xff13 / 0xc6

                SInput:      SendInput ScanCode: 0x46 Flags: 0x9 Down

                VNCSConnST:  Key released: 0xff13 / 0xc6

                SInput:      SendInput ScanCode: 0x46 Flags: 0xb Up

 

Expectation: ... Would be that on remote side the Pause key is pressed

This message is subject to the following terms and conditions: MAIL DISCLAIMER

Pierre Ossman

unread,
Nov 9, 2017, 5:58:02 AM11/9/17
to Sum, Achim, tigervn...@googlegroups.com
On 09/11/17 11:24, Sum, Achim wrote:
> Hello
>
> I did some tests with the new raw keyboard mode that is provided with TigerVNC (so far only available in nightly builds). There are few issues observed when running the TigerVNC on Windows OS. Btw, so far I tested with Windows 10 only.
>

Thank you for testing. I'll have a look at these issues.

Could you tell me what keylogger you used for debugging?

Regards
--
Pierre Ossman Software Development
Cendio AB https://cendio.com
Teknikringen 8 https://twitter.com/ThinLinc
583 30 Linköping https://facebook.com/ThinLinc
Phone: +46-13-214600 https://plus.google.com/+CendioThinLinc

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Sum, Achim

unread,
Nov 9, 2017, 11:06:48 AM11/9/17
to Pierre Ossman, tigervn...@googlegroups.com
Hi Pierre

Thanks for the quick reply.

We have our own python based keylogger. I will try to make that available to you.

Regards

Achim
--
You received this message because you are subscribed to the Google Groups "TigerVNC User Discussion/Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tigervnc-user...@googlegroups.com.
To post to this group, send email to tigervn...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tigervnc-users/eac2a932-ec57-b15b-80e3-dde613b205da%40cendio.se.
For more options, visit https://groups.google.com/d/optout.
This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer>

Pierre Ossman

unread,
Nov 13, 2017, 10:04:21 AM11/13/17
to Sum, Achim, tigervn...@googlegroups.com
Alright, so there were a couple of bugs here. Windows had some special
behaviour for some keys. Here's a PR that fixes the issues I found:

https://github.com/TigerVNC/tigervnc/pull/537

Please have a look.

I've not looked at Ctrl+Alt+Del yet. That's next on my list.

Sum, Achim

unread,
Nov 13, 2017, 10:07:57 AM11/13/17
to Pierre Ossman, tigervn...@googlegroups.com
Thanks, i will check that.

Meanwhile, I also performed some further analysis, and found the following, which is probably in line with your findings and modifications:

Seems novnc is mapping the Pause key to 0xe046. Considering the spec for the QEMU Extended Key Event Message, this will be sent over the wire as 0xc6. On side of the TigerVNC server, this will be converted back to 0x46 in function doScanCodeEvent of SInput.cxx. The 0x46 will be passed to the Windows API SendInput function by means of the wScan field of a KEYBDINPUT structure. Checking the Microsoft Keyboard Scan Code Specification document (https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc) reveals that Ox46 is the scancode value for Scrolllock key, assuming that this is the document to refer to.
The Microsoft scancode.doc and other resources like https://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html suggest that the Pause key is very special, and might need some special handling.

Regards

Achim

-----Original Message-----
From: tigervn...@googlegroups.com [mailto:tigervn...@googlegroups.com] On Behalf Of Pierre Ossman
Sent: Montag, 13. November 2017 16:04
To: Sum, Achim; tigervn...@googlegroups.com
Subject: Re: [tigervnc-users] Two issues observed with TigerVNC server on Windows OS when raw keyboard mode is enabled

--
You received this message because you are subscribed to the Google Groups "TigerVNC User Discussion/Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tigervnc-user...@googlegroups.com.
To post to this group, send email to tigervn...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tigervnc-users/ca04c28b-c15b-9667-afc8-1841ae733e6b%40cendio.se.
For more options, visit https://groups.google.com/d/optout.
This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer>

Pierre Ossman

unread,
Nov 13, 2017, 10:18:56 AM11/13/17
to Sum, Achim, tigervn...@googlegroups.com
On 13/11/17 16:04, Pierre Ossman wrote:
>
> I've not looked at Ctrl+Alt+Del yet. That's next on my list.
>

Should also be fixed now. Note however that it only works in service
mode because of security restrictions.

Sum, Achim

unread,
Nov 13, 2017, 11:13:38 AM11/13/17
to Pierre Ossman, tigervn...@googlegroups.com
The changes in https://github.com/TigerVNC/tigervnc/pull/537 look good to me. Will this be included in the next nightly build, so I can test using a binary? ... I do not have a TigerVNC build environment available

Regards


-----Original Message-----
From: Pierre Ossman [mailto:oss...@cendio.se]
Sent: Montag, 13. November 2017 16:19
To: Sum, Achim; tigervn...@googlegroups.com
Subject: Re: [tigervnc-users] Two issues observed with TigerVNC server on Windows OS when raw keyboard mode is enabled

This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer>

Pierre Ossman

unread,
Nov 14, 2017, 3:04:41 AM11/14/17
to Sum, Achim, tigervn...@googlegroups.com
On 13/11/17 17:13, Sum, Achim wrote:
> The changes in https://github.com/TigerVNC/tigervnc/pull/537 look good to me. Will this be included in the next nightly build, so I can test using a binary? ... I do not have a TigerVNC build environment available
>

I'm afraid they won't be in the build until merge. I'll see if I can
produce a build for you here.

Brian Hinz

unread,
Nov 14, 2017, 6:06:41 AM11/14/17
to Pierre Ossman, Sum, Achim, tigervn...@googlegroups.com
On Tue, Nov 14, 2017 at 3:04 AM, Pierre Ossman wrote:
On 13/11/17 17:13, Sum, Achim wrote:
The changes in https://github.com/TigerVNC/tigervnc/pull/537 look good to me. Will this be included in the next nightly build, so I can test using a binary? ... I do not have a TigerVNC build environment available


I'm afraid they won't be in the build until merge. I'll see if I can produce a build for you here.

 I can produce a build set from an arbitrary fork/branch easily, so if you want I can build it.

-brian

Brian Hinz

unread,
Nov 14, 2017, 6:41:57 AM11/14/17
to Pierre Ossman, Sum, Achim, tigervn...@googlegroups.com
Here is a complete set of nightlies built from 1ce3b379:
 

-brian

Sum, Achim

unread,
Nov 14, 2017, 7:27:59 AM11/14/17
to Brian Hinz, Pierre Ossman, tigervn...@googlegroups.com

Thanks. I will do the tests and provide feedback.

 

Regards

 

Achim

 

From: bph...@gmail.com [mailto:bph...@gmail.com] On Behalf Of Brian Hinz
Sent: Dienstag, 14. November 2017 12:42
To: Pierre Ossman
Cc: Sum, Achim; tigervn...@googlegroups.com
Subject: Re: [tigervnc-users] Two issues observed with TigerVNC server on Windows OS when raw keyboard mode is enabled

 

On Tue, Nov 14, 2017 at 6:06 AM, Brian Hinz wrote:

--

You received this message because you are subscribed to the Google Groups "TigerVNC User Discussion/Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tigervnc-user...@googlegroups.com.
To post to this group, send email to tigervn...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

This message is subject to the following terms and conditions: MAIL DISCLAIMER

Sum, Achim

unread,
Nov 16, 2017, 8:52:39 AM11/16/17
to Pierre Ossman, tigervn...@googlegroups.com
Hello Pierre, Brian

I have tested the changes to the keyboard input handling for Windows, and can confirm that now the behavior is as expected. Thanks for the quick action. Do you have any idea when this will be merged and available in nightly builds?

Some other question: Under certain conditions, we sporadically see small artifacts in the graphics on client side. Our assumption is that this is an issue of TigerVNC server for Windows as it can be observed with various clients.
There is some discussion going on in my company to eventually spend some money to have this fixed. So we might offer some 'bounty' for that. To do so, i have to directly create an official ticket in the Issues list, i assume?

Regards

Achim


-----Original Message-----
From: Pierre Ossman [mailto:oss...@cendio.se]
Sent: Montag, 13. November 2017 16:19
To: Sum, Achim; tigervn...@googlegroups.com
Subject: Re: [tigervnc-users] Two issues observed with TigerVNC server on Windows OS when raw keyboard mode is enabled

This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer>

Pierre Ossman

unread,
Nov 17, 2017, 5:11:27 AM11/17/17
to Sum, Achim, tigervn...@googlegroups.com
On 16/11/17 14:52, Sum, Achim wrote:
> Hello Pierre, Brian
>
> I have tested the changes to the keyboard input handling for Windows, and can confirm that now the behavior is as expected. Thanks for the quick action. Do you have any idea when this will be merged and available in nightly builds?
>

I'll try to merge it today now that it has been properly tested.

> Some other question: Under certain conditions, we sporadically see small artifacts in the graphics on client side. Our assumption is that this is an issue of TigerVNC server for Windows as it can be observed with various clients.
> There is some discussion going on in my company to eventually spend some money to have this fixed. So we might offer some 'bounty' for that. To do so, i have to directly create an official ticket in the Issues list, i assume?
>

Indeed. Note that bountysource's integration with github is currently
broken, so you'll probably have to make a manual comment that there is a
bounty.

I should also warn you that we haven't seen that much interest in the
existing bounties. :/

DRC

unread,
Nov 17, 2017, 8:54:12 AM11/17/17
to tigervn...@googlegroups.com
On 11/17/17 4:11 AM, Pierre Ossman wrote:
> Indeed. Note that bountysource's integration with github is currently
> broken, so you'll probably have to make a manual comment that there is a
> bounty.
>
> I should also warn you that we haven't seen that much interest in the
> existing bounties. :/

To be frank, I'd be more interested in them if they paid more. I can
speak to the real cost of open source development, since I've been
surviving about 80% on independent open source contract development for
the past 8 1/2 years since leaving Sun Microsystems. As an example,
this particular bounty was posted for $20:
https://www.bountysource.com/issues/34074059-supporting-the-encryption-of-vino-server-auth-18
but it cost me about $450 in labor and expenses to implement the
equivalent feature in our viewer. And I can assure you that I'm working
at the ragged edge in terms of my ability to pay rent and other
expenses. Many open source projects are sponsored by large corporations
and other organizations that are footing the bill (Red Hat, Mozilla,
etc.), so the actual cost of developing that code is hidden from the end
users. However, as soon as you try to make a living on it without a
corporate sponsor, you suddenly realize exactly how many dollars go into
each line of code.
Reply all
Reply to author
Forward
0 new messages