You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by "Michael Jumper (JIRA)" <ji...@apache.org> on 2018/01/01 21:19:00 UTC

[jira] [Commented] (GUACAMOLE-352) Add support for dead keys

    [ https://issues.apache.org/jira/browse/GUACAMOLE-352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16307554#comment-16307554 ] 

Michael Jumper commented on GUACAMOLE-352:
------------------------------------------

There are two aspects to dead key support:

# Client-side support for handling dead keys (currently partial, depending on browser and OS)
# Server-side support for generating dead key events for RDP's benefit (non-existent)

Guacamole does currently correctly handle dead keys, but only on platforms and browsers which generate key events for the fully composed key. On platforms which instead rely on input or composition events, like OS X or Firefox on Linux, incomplete key events are generated and handling of dead keys fails.

At the guacd level, assuming the dead key is correctly handled on the browser side, the corresponding key events still need to be sent to the remote desktop. This will work correctly without modification for all protocols except RDP, which will need to additionally take dead keys in the RDP server keyboard layout into account when replicating keys pressed browser-side. Lacking this, typing within RDP will still work, but will rely on Unicode events.

To make things work across the board, we must thus:

* Modify Guacamole's keyboard handling to take composition and input events into account, thus ensuring the fully-composed key is always correctly handled regardless of platform/browser.
* Modify Guacamole's RDP key event translation system to include explicit support for generating dead key events for the RDP server's benefit, thus avoiding Unicode events if the remote keyboard layout has explicit support for the pressed key.


> Add support for dead keys
> -------------------------
>
>                 Key: GUACAMOLE-352
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-352
>             Project: Guacamole
>          Issue Type: Improvement
>          Components: guacamole, guacamole-common-js, RDP
>         Environment: Debian 8 Jessie
> Firefox 45.9.0
> Locale en_US.utf8
> Keyboard Generic English (US) layout
>            Reporter: Luiz A. Bühnemann
>            Assignee: Michael Jumper
>
> In order to simulate this problem you should first change your keyboard layout on X11 to English (US, international with dead keys).
> I do this on my machine by using the setxkbmap command:
> {code}
> $ setxkbmap us -variant intl
> {code}
> After logging into any guacamole session, it doesn't matter the protocol chosen, when I try typing accented characters like 'áéíóú' (which is a key sequence of DeadAcute and then the character we want to have accented) I get 'aeiou' instead.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)