No internet connection
  1. Home
  2. Technical Support

Version 2.5.0 - Keys are not mapped correctly anymore

By @tinyuser2022
    2024-01-15 14:47:33.617Zassigned to
    • @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.

    • 14 replies

    There are 14 replies. Estimated reading time: 12 minutes

    1. T
      @tinyuser2022
        2024-01-15 20:55:45.766Z

        Updated to 2.6 - same issue.

        The pipe character is underneath the ESC key with the arrow up sign + Option. Why is that?

        1. 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.

          1. T
            In reply totinyuser2022:
            @tinyuser2022
              2024-01-17 15:42:54.786Z

              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

              1. 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 the Y 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 use AltGr 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 of Y on a German keyboard). > required me to use shift (expected), and I could enter | by hitting the right-hand alt key with < - On a Mac this is the right-hand option key.

                Can you test whether you can enter | via your TinyPilot by using the right-hand option key along with they key directly to the left of your Y 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.

              2. T
                In reply totinyuser2022:
                @tinyuser2022
                  2024-01-18 08:26:03.982Z

                  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.

                  1. 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 a Y. That's because the English Z key maps to the German Y 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.

                  2. T
                    In reply totinyuser2022:
                    @tinyuser2022
                      2024-01-18 16:03:56.163Z

                      Everything else works as expected.

                      Here are my MAC settings for the keyboard:

                      Here are my remote settings:

                      1. 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?

                      2. T
                        In reply totinyuser2022:
                        @tinyuser2022
                          2024-01-19 13:10:00.371Z

                          Here they are:

                          1. 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.

                            1. 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.

                            2. 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

                              1. T
                                In reply totinyuser2022:
                                @tinyuser2022
                                  2024-01-22 15:57:58.009Z

                                  Yes, with Firefox it is working as expected. But why is that?

                                  1. 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.