Version 2.5.0 - Keys are not mapped correctly anymore
- @david
Since a while i can not use the key > or pipe key anymore. Keyboard layout is MAC and Tiny is displaying a windows version. I guess this problem came with an update. How can this beeing solved.
Linked from:
- T@tinyuser2022
Updated to 2.6 - same issue.
The pipe character is underneath the ESC key with the arrow up sign + Option. Why is that?
- In reply totinyuser2022⬆:David @david2024-01-16 11:49:35.557Z
Hi @tinyuser2022, I'm sorry you're running into this key mapping issue.
As far as I know, there haven't been any changes to the way TinyPilot maps keys for a while. The last changes were when we added support for a couple of Japanese keys as an improvement to 2.5.4. This update is unlikely to be related to the issue you're seeing.
Usually, mapping issues like this are due to systems having different keyboard layouts. It would be super useful to have more information about your keyboard layouts on both machines to try and figure out what the issue is.
On your client machine (the computer you're using to connect to your TinyPilot web interface), can you tell me the Operating System, keyboard language, and keyboard layout you're using? You can usually find this information in your keyboard settings.
Could you also share the same information (Operating System, keyboard language, and keyboard layout) for your target machine, too? i.e., the machine you're controlling with your TinyPilot.
Please let me know if I clarify anything here.
- TIn reply totinyuser2022⬆:@tinyuser2022
Hi, in short:
Source is MAC with a German keyboard layout.
Remote is Windows with German keyboard layout.Basicall all other keys are working - just those are wrong: <>|
Regards
- David @david2024-01-17 19:43:10.788Z
Thanks for that info!
I took a look online at the German keyboard layout, and it looks like
<
,>
, and|
are all on the same key - directly to the left of theY
key (on the German layout). I also found a tool on Microsoft's website that shows the layout of different keyboards. From that tool, it looks like you need to useAltGr
along with the<
key to input a|
on Windows.I set my target machine to use a German layout and accessed my TinyPilot web interface on a Mac.
I was able to input
<
by hitting the expected key (directly left ofY
on a German keyboard).>
required me to useshift
(expected), and I could enter|
by hitting the right-handalt
key with<
- On a Mac this is the right-handoption
key.Can you test whether you can enter
|
via your TinyPilot by using the right-handoption
key along with they key directly to the left of yourY
key?If that doesn't work, can you visit keycode.info and type
<
,>
, and|
, and share screenshots of the information it displays?Please let me know if I can clarify anything here.
- TIn reply totinyuser2022⬆:@tinyuser2022
Yes this is not possible - thats why we have this ticket. I can get the correct keys by pressing Option-Key + the roof up key underneath the ESC key. On my MAC directly without tinypilot it is exactly like you describe. Just inside the remote Windows session these keys are somehow changed.
- David @david2024-01-18 15:24:32.644Z
Your target machine interprets keypresses forwarded by your TinyPilot as if you were using your target machine's keyboard layout. For example, if my target machine uses a German keyboard layout, but my client machine uses an English layout, I would hit the English
Z
key on my physical keyboard and my target machine would display aY
. That's because the EnglishZ
key maps to the GermanY
key.From your description, it sounds like your client machine (Mac) uses a German layout. But your target machine may be using a different layout, since
|
,>
, and<
aren't in the expected place.Could you test other non-alpha-numeric characters, like
@
#
$
*
(
)
to see if they're in the expected positions?Could you also share a screenshot of your Windows keyboard settings with me?
On Windows, open Settings, click on Time & Language, then Language. Under the Preferred languages section, select the current default language and click the Options button. There should be a Keyboards heading with a list of keyboards that are installed on your machine.
- TIn reply totinyuser2022⬆:@tinyuser2022
Everything else works as expected.
Here are my MAC settings for the keyboard:
Here are my remote settings:
- David @david2024-01-19 12:41:24.073Z
Thanks for confirming the other keys are working as expect and for sharing those screenshots, @tinyuser2022! This behavior is odd.
On your Mac, can you visit keycode.info and type
<
,>
, and|
, and share screenshots for each of those keys?
- T
- David @david2024-01-22 12:33:09.353Z
Thanks for sharing those screenshots, @tinyuser2022. Those codes appear correct.
I'm a bit stumped on this issue, so we're doing some additional research to see if there's anything else we can check. I'll respond with an update when I have more information.
Please feel free to add any additional information or ask any questions in the meantime.
- In reply totinyuser2022⬆:David @david2024-01-22 15:25:35.396Z
Thanks for your patience with this, @tinyuser2022. After doing some more testing, it looks like this might be a browser issue.
I performed all of my previous tests using Firefox, which worked. However, Safari and Chrome have different behavior, and I was able to reproduce the issue you're seeing (using ^ plus shift/option).
Could you try typing
<
,>
, and|
in Firefox and let me know if that works as expected? If Firefox works, that definitely suggests that this is a browser issue. Unfortunately, if that's the case, there's not much we can do on the TinyPilot side, because Safari and Chrome are sending different keycodes to your TinyPilot than Firefox.I understand that it's not a convenient solution to use a different browser to type via your TinyPilot, but I'm not sure if there's anything else we can do to fix this.
- In reply totinyuser2022⬆:@fft2024-01-22 15:09:36.845Z
Hi,
in the forum, is another issue which is IMHO related: (read full thread)@ sign not at expected spot (german keyboard tested)
Back than I had the feeling that it also could be a mapping problem between Windows and Mac. I strongly believe that it might be an idea, to implement a table in TinyPilot which you can
use to fill in the "remote" machine key presses from https://keycode.info/ (I would use the full event dump) on one side and also the https://keycode.info/ for the machine, where TinyPilot is connected to. I personally assume that there a a few very special keys, that needs to be "solved" in that way.If it helps, contact me directly per PM, and I can setup my Mac for remote with german keyboard, and connect the TinyPilot to the windows machine for testing. (Both german keyboard)
thanks
Juergen - TIn reply totinyuser2022⬆:@tinyuser2022
Yes, with Firefox it is working as expected. But why is that?
- David @david2024-01-22 19:04:42.690Z
It looks like this an odd behavior issue with Chrome and Safari. Chrome and Safari are both incorrectly interpreting the
<
key and sending that incorrect data to TinyPilot, causing TinyPilot to send the wrong key to your target machine. Firefox appears to interpret the<
key correctly.Since this is a browser issue, there isn't much we can do in the short term to fix this. However, I've created an issue on Github to track this problem and to see if there may be anything we can do to fix this on the TinyPilot side.
I hope that helps! Please let me know if you have any questions.