neutrinordp: Allow keyboard layout information to be sent to remote. #1933
Replies: 5 comments 4 replies
-
Specifically, we are considering the following measures. As a prerequisite, the keyboard layout of the RDP Client can be referenced by the following member variables of the mod structure
The keyboard layout set for a Proxy connection is defined by the following member variables of the settings structure
I'm thinking of bridging these two structure member variables in More specifically, if you have xrdp/neutrinordp/xrdp-neutrinordp.c Lines 463 to 544 in 53e2ecf |
Beta Was this translation helpful? Give feedback.
-
It certainly looks like a good idea to me. Since the neutrinordp module is just a proxy, the normal use-case would seem (to me) to pass the keyboard layout through if one is specified. See also section 2.2.1.3.2 in [MS-RDPBCGR] which has a bit more info on this. In particular, the keyboardType can be zero, in which case the server is expected to specify the value. |
Beta Was this translation helpful? Give feedback.
-
I have opened Draft PR #1934 for demonstration. |
Beta Was this translation helpful? Give feedback.
-
For those reading this, the PR #1934 raised by @TOMATO-ONE has now been merged into devel. |
Beta Was this translation helpful? Give feedback.
-
Hi all I was going to propose the PR again, but I'm abandoning it. It is true that masking the upper 16 bits of the keyboardLayout is necessary when connecting to xrdp from a Japanese Windows environment with a Japanese keyboard. We have implemented an option in PR #1934 to override keyboard settings when connecting to a NeutrinoRDP RDP Proxy. I made a false assumption in PR #1934. Sorry about that. The original purpose has already been achieved. Based on the findings of this discussion, I've started a proposal in #1950 for the ability to override keyboard information in xrdp itself. Please continue to join in the discussion. |
Beta Was this translation helpful? Give feedback.
-
Hi. all
This is a discussion on Additional features for xrdp NutrinoRDP Proxy mode.
I am open to suggestions.
In
xrdp-neutrinordp.c
, the member variable of the settings structure that defines the remote keyboard layout is not set to a value, so the default value of NeutrinoRDP,0x00
, is sent to the remote.This means that the remote connection will not have the correct keyboard layout, except for US ASCII.
I don't know much about non-US keyboard layouts, so maybe it's not a big problem at the moment.
However, the Japanese keyboard has a special keyboard layout in the world.
When an RDP-Client with a Japanese keyboard is connected to remote Windows in xrdp RDP-Proxy mode, the US-EN keyboard layout causes problems, especially with misplaced symbols.
So far I've been working around this by changing the registry that defines the keyboard layout on the remote Windows side.
I would like to be able to deal with this on the xrdp side.
Beta Was this translation helpful? Give feedback.
All reactions