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

[jira] [Commented] (GUACAMOLE-520) Japanese keyboard layout for RDP incorrect

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

Amarjeet Singh commented on GUACAMOLE-520:
------------------------------------------

It's not only about Guacamole.  FreeRDP 1.0.2 has issues with Japanese Keyboard which I found and they are fixed in the later issues.

File :* libfreerdp-core/freerdp.c*  : I have added these lines form the FreeRDP 1.2.X version to 1.0.2 and there are other changes also. It is reported a BUG as well in FreeRDP.

What is the last known FreeRDP version which Guacamole supports ? Please mention it in the documents as I haven't found in any of the documents or I might know where to look.

We have to move to FreeRDP 2.0.0 as it is also verified.

{code:none}
/*Amarjeet Singh: Keyboard layout detection - backport from 1.2.x */
    if (settings->kbd_layout == KBD_JAPANESE_INPUT_SYSTEM_MS_IME2002)
    {
        settings->kbd_type = 7;
        settings->kbd_subtype = 2;
        settings->kbd_fn_keys = 12;
    }
    /*Amarjeet Singh: Keyboard layout detection - backport from 1.2.x */
{code}

and That is the reason I highlight the weird behaviour. FreeRDP 1.0.2 doesn't send the keyboard-layout in case of Japanese.

Key mappings in Guacamole is not wrong but missing few scancodes. I have also checked the Microsoft Japanese scancodes document.

> Japanese keyboard layout for RDP incorrect
> ------------------------------------------
>
>                 Key: GUACAMOLE-520
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-520
>             Project: Guacamole
>          Issue Type: Bug
>          Components: RDP
>            Reporter: Amarjeet Singh
>            Priority: Minor
>         Attachments: Keyboard_testing_report_Guacamole.xlsx
>
>
> [The Japanese keyboard layout definition used by Guacamole's RDP support|https://github.com/apache/guacamole-server/blob/e2feb416052b1a1ab33db6e79c5ea6e4f6f6eacf/src/protocols/rdp/keymaps/ja_jp_qwerty.keymap] currently contains the following:
> {code:none}
> #
> # Licensed to the Apache Software Foundation (ASF) under one
> # or more contributor license agreements.  See the NOTICE file
> # distributed with this work for additional information
> # regarding copyright ownership.  The ASF licenses this file
> # to you under the Apache License, Version 2.0 (the
> # "License"); you may not use this file except in compliance
> # with the License.  You may obtain a copy of the License at
> #
> #   http://www.apache.org/licenses/LICENSE-2.0
> #
> # Unless required by applicable law or agreed to in writing,
> # software distributed under the License is distributed on an
> # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> # KIND, either express or implied.  See the License for the
> # specific language governing permissions and limitations
> # under the License.
> #
> parent  "base"
> name    "ja-jp-qwerty"
> freerdp "KBD_JAPANESE"
> map -shift      0x02..0x0D 0x7D ~ "1234567890-^\"
> map -shift      0x10..0x1B      ~ "qwertyuiop@["
> map -shift      0x1E..0x28 0x2B ~ "asdfghjkl;:]"
> map -shift      0x2C..0x35 0x73 ~ "zxcvbnm,./\"
> map +shift      0x02..0x0A 0x0C 0x0D 0x7D ~ "!"#$%&'()=~|"
> map +shift      0x10..0x1B      ~ "QWERTYUIOP`{"
> map +shift      0x1E..0x28 0x2B ~ "ASDFGHJKL+*}"
> map +shift      0x2C..0x35 0x73 ~ "ZXCVBNM<>?_"
> map -shift      0x29            ~ 0xFF28
> map -shift      0x29            ~ 0xFF2A
> map +shift      0x29            ~ 0xFF29
> {code}
> This is inherently incorrect, as the Japanese keyboard can type far more characters than those given here. Even if the missing characters are correctly mapped, several of these characters depend on additional, Japanese-specific modifier/lock keys which the keymap format does not currently define.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)