neko icon indicating copy to clipboard operation
neko copied to clipboard

[BUG] Guacamole keyboard resend invalid characters

Open gbrian opened this issue 2 years ago • 6 comments

Hi,

When writting and astherisk, SHIFT+*, guacamole keyboard gets stuck and starts resend invalid characters. keyboard_issue_neko

Looks like the issue is here: https://github.com/m1k1o/neko/blob/c48309b6485a816789589ff7115a9bc4e4340000/client/src/utils/guacamole-keyboard.js#L845

gbrian avatar Jun 01 '22 05:06 gbrian

What keyboard layout do you use on your host and inside neko? Is it everywhere US as shown bottom right in vscode?

m1k1o avatar Jun 01 '22 09:06 m1k1o

Yes, US image

gbrian avatar Jun 01 '22 10:06 gbrian

There has been updates in guacamole upstream codebase. I upgrade it and see if that fixes the issue.

m1k1o avatar Jun 01 '22 20:06 m1k1o

@gbrian can you retest with latest change? Also whole keyboard, if something changed.

m1k1o avatar Jun 01 '22 20:06 m1k1o

Hi, Unless did something wrong, I've pulled latest image and tested, same behaviour. Testing some changes on Guacamole.keyboard. I'll keep you posted.

CAUGHT!

image

Basically it happens when you release SHIFT key before the character pressed. In this case weh want to sent a ":" (Semicolon) that's SHIFT + . (shift + period) on ES keyboard:

  • I press the combination SHIFT + . (shift + period):
    • A SHIFT keydown is sent to server
    • A : (semicolon) keydown is sent to server
  • Then I release SHIFT KEY
    • A SHIFT keyup is sent to server
  • Then I release the "." (period) key
    • A . (period) keydown is sent to server

At this point the server keeps thinking ":" (semicolon) still pressed Guacamole has a timeout and finally sends a "keyup" for the ":" (semicolon)

gbrian avatar Jun 04 '22 05:06 gbrian

Pushed new changes for a fix (workaround) https://github.com/m1k1o/neko/pull/178

gbrian avatar Jun 15 '22 05:06 gbrian