Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fails to detect some Japanese keyboard #663

Open
yyyjajp opened this issue Feb 9, 2017 · 2 comments
Open

fails to detect some Japanese keyboard #663

yyyjajp opened this issue Feb 9, 2017 · 2 comments
Assignees
Labels
confirmed confirmed reproduction keyboard

Comments

@yyyjajp
Copy link

yyyjajp commented Feb 9, 2017

Since commit 9c31bd5 my laptop's keyboard layout in xrdp is "us" not "jp". Reverting the commit gets back the "jp" layout.
xrdp.log looks like the same, but setxkbmap -print output is different.
current:
xrdp.log.txt
setxkbmap.txt
after the revert:
xrdp.log.txt
setxkbmap.txt

@metalefty
Copy link
Member

I can reproduce the issue.

@metalefty
Copy link
Member

The issue is related #418 not only #516.

proski:

Could you please open an issue for it? What's in your xrdp.log? The code is supposed to fall back to the basic key layout (0x00000411 in this case). The actual key maps for jp and jp2 were the same.

The xrdp's key layout properly fallbacks to 0x00000411 layout but even in fallback case, xrdp still lookups xorg's keylayout by 0xe0010411. So if no definition for 0xe0010411 is found in xrdp_keyboard.ini, xorg keylayout fallbacks to us.

If fallback occurred, client_info->keylayout also should be set to client_info->keylayout & 0x0000ffff.

metalefty added a commit to metalefty/xrdp that referenced this issue Feb 16, 2017
caused by 9c31bd5.  This is not a complete fix but just a workwround
because keylayout value of Japanese keyboard can be other than these
4 values. This workdaround still doesn't cover all JP keyboards.

  - 0x00000411
  - 0xe0010411
  - 0xe0200411
  - 0xe0210411

Looking for `0411` in lower 16 bits is enough to detect JP keyboards.
metalefty added a commit to metalefty/xrdp that referenced this issue Feb 16, 2017
caused by 9c31bd5.  This is not a complete fix but just a workwround
because keylayout value of Japanese keyboard can be other than these
4 values. This workaround still doesn't cover all JP keyboards.

  - 0x00000411
  - 0xe0010411
  - 0xe0200411
  - 0xe0210411

Looking for `0411` in lower 16 bits is enough to detect JP keyboards.
metalefty added a commit to metalefty/xrdp that referenced this issue Feb 16, 2017
caused by 9c31bd5.  This is not a complete fix but just a workaround
because keylayout value of Japanese keyboard can be other than these
4 values. This workaround still doesn't cover all JP keyboards.

  - 0x00000411
  - 0xe0010411
  - 0xe0200411
  - 0xe0210411

Looking for `0411` in lower 16 bits is enough to detect JP keyboards.
metalefty added a commit that referenced this issue Feb 16, 2017
caused by 9c31bd5.  This is not a complete fix but just a workaround
because keylayout value of Japanese keyboard can be other than these
4 values. This workaround still doesn't cover all JP keyboards.

  - 0x00000411
  - 0xe0010411
  - 0xe0200411
  - 0xe0210411

Looking for `0411` in lower 16 bits is enough to detect JP keyboards.
@metalefty metalefty added the confirmed confirmed reproduction label Jul 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
confirmed confirmed reproduction keyboard
Projects
None yet
Development

No branches or pull requests

2 participants