No internet connection
  1. Home
  2. Technical Support

Sending CTRL Sequence via on-screen keyboard

By EC @ecarmel
    2022-10-04 02:58:27.317Z

    Dear Tinypilot,

    Thank you for a wonderful product. My problem involves using the TinyPilot and two identical IOGEAR 4-port KVMs, at the same time.

    Short version: I am having difficulty sending the sequence "CTRL","CTRL","2","ENTER" via TinyPilot on-screen keyboard. I am clicking on "CTRL" four times ("CTRL" is sticky), then click on "2", then click on "ENTER." This does not seem to produce the desired result. Clicking "CTRL" twice also does not work.

    Long version: In my installation, the TinyPilot USB output (intended for the controlled computer) is connected to an IOGEAR GCS1794 4-Port KVM, which in turn is connected to two computers. In order to switch the GCS1794 from computer #1 to computer #2, I need to cause the TinyPilot to send to the GCS1794 the following keyboard sequence: "CTRL", "CTRL", "2", "ENTER".

    If I send this sequence via TinyPilot from the keyboard of my remote computer, the KVM responds as expected.

    However when my remote keyboard is connected to the remote computer through another KVM, I cannot send this sequence through the keyboard - it will affect the wrong KVM.

    Hence I want to send the sequence "CTRL", "CTRL","2","ENTER" via the TinyPilot on-screen keyboard. The on-screen key "CTRL" is "sticky." I tried to push it four times to produce "CTRL","CTRL", but it does not seem to work. Please advise how to enter the desired sequence visually.

    • 11 replies
    1. David @david2022-10-05 17:40:30.658Z

      Hi @ecarmel, sorry about your on-screen keyboard issues with your KVM.

      Can you tell me if I understand your setup correctly?

      And in this situation, you're trying to switch between Target computer 1 and Target computer 2 with KVM 2. And you have to use the on-screen keyboard because using the physical keyboard will switch KVM 1. Is that right?

      1. EEC @ecarmel
          2022-10-05 18:10:07.243Z

          Yes, the diagram and description are accurate and on-point.

          1. David @david2022-10-05 18:22:56.662Z

            Ok great!

            If a physical keyboard (via TinyPilot) can command KVM-2 to switch between target computers, TinyPIlot's on-screen keyboard should be able to achieve that too.

            Can you try clicking leftCTRL, rightCTRL, 2, Enter, and see if that works?

            1. EEC @ecarmel
                2022-10-05 18:33:29.907Z

                Thank you, David. I tried the proposed sequence and it did not produce the desired behavior.

                1. David @david2022-10-06 19:44:36.822Z

                  Are you able to try entering the key sequence partially via the physical keyboard and then with the on-screen keyboard?

                  e.g., CTRL, CTRL on the physical keyboard, followed by 2 and Enter using the on-screen keyboard? (Or different combinations of each?).

                  That should help avoid the issue with the on-screen keyboard, while also avoiding switching the first KVM (since part of the key sequence is entered using the on-screen keyboard).

          2. Progress
          3. E
            EC @ecarmel
              2022-10-06 20:01:42.415Z

              Thank you, David. The concept works, sometimes. I will try to find a sequence (and timing) that works reliably. Thank you.

              1. E
                EC @ecarmel
                  2022-10-06 21:29:20.394Z2022-10-07 13:27:00.550Zreplies toecarmel:

                  Thank you, David, for the workaround.

                  Your concept works, but it leaves KVM1 in a bad state. This can be cured with a few more keystrokes.

                  Assumptions:

                  1. On KVM1, Port 1 leads to TinyPilot, and Port 2 leads to Foobar device.

                  2. On KVM2, Port 1 leads to Target Computer 1, and Port 2 leads to Target Computer 2

                  3. Initially, the user at KVM1 sees TinyPilot and Target Computer 1

                  4. KVM1 and KVM2 were programmed for the "alternate" hotkey "CTRL" instead of the default hotkey "Scroll Lock". Not sure this is required, but that is my configuration since I'm using a Mac keyboard.

                  In order to switch to Target Computer 2, the user at KVM1 should enter the following sequence:

                  1. From the keyboard, enter: CTRL, CTRL, 2, Enter (This will show Foobar Device)

                  2. From the keyboard, enter: CTRL, CTRL, 1, Enter (this will show TinyPilot and Target Computer 1)

                  3. Now KVM 1 is in a well defined state

                  4. From the keyboard, enter: CTRL, CTRL

                  5. On screen, click the following keys on TinyPilot visual keyboard: 2, Enter

                  6. User will now see Target Computer 2, but KVM1 is in a bad state

                  7. From the keyboard, enter: CTRL, CTRL, 2, Enter (this will show Foobar Device)

                  8. From the keyboard, enter: CTRL, CTRL, 1, Enter (this will again show the TinyPilot and Target Computer 2)

                  9. Send an email to TinyPilot support and petition them to develop a simpler solution :) :) :)

                  Thank you for your timely help!

                  EC

                  1. David @david2022-10-07 11:40:37.087Zreplies toecarmel:

                    Thanks for the update! I'm glad you're now able to switch between target devices - even though it requires a slight workaround.

                    Is it possible to change the key sequence of the 2 KVMs? If each KVM had a distinct switching hotkey it might help with that odd state you mentioned.

                    I'm not sure what the exact issue is that causes the on-screen keyboard to fail at inputting the key sequence. Perhaps it's a compatibility issue? I'll add the IOGEAR GCS1794 4-Port KVM to our KVM compatibility list with the note about hotkey switching.

                    1. E
                      EC @ecarmel
                        2022-10-07 13:43:47.437Zreplies todavid:

                        David,

                        1. I want to thank you again for the very helpful spirit. It's wonderful finding empathy, creativity and intelligence when one is seeking help.

                        2. Yes, it is possible to change the "hotkey" on the GCS1794, and with the two KVMs using different hotkeys may lead to a better user experience.

                        3. The default hotkey on GCS174 is the "Scroll Lock" key. I have configured my two units to use the (only) alternate hotkey "CTRL" because it is unclear how to cause my Apple keyboard to produce "Scroll Lock". See GCS174 owner's manual for instructions.

                        4. With that said, I have added assumption #4 to the workaround instructions above - recognizing that the hotkey was changed from the default.

                        5. My impression is that the TinyPilot does not send "CTRL" code when the on-screen "CTRL" is pressed. I suspect that the software designer configured the CTRL key as a "toggle", assuming that CTRL is always used as a modifier, e.g. "CTRL-C", "CTRL-Z" etc. If this is true, I suggest the following modification:

                        a. A short click on the on-screen CTRL will make CTRL behave like any other key - it will send the code for CTRL to the controlled computer.

                        b. A long click on the on-screen CTRL will produce the current behavior

                        c. If the same issue holds for other on-screen keys, e.g. "Shift", do the same thing.

                        Thank you again for a wonderful product. I always wanted to control BIOS and boot sequence remotely but the price was too high, and I did not like using two KVM hardware components to achieve this. Your solution is elegant, cost-effective, and feels very good.

                        EC

                        1. David @david2022-10-07 14:34:55.086Zreplies toecarmel:

                          I want to thank you again for the very helpful spirit. It's wonderful finding empathy, creativity and intelligence when one is seeking help.

                          No trouble at all - I'm glad to have been helpful!

                          And thank you for the suggestions and feedback for the on-screen keyboard, I'll pass those on to the team.

                          Thanks again for your kind words!

                          1. Michael Lynch @michael2022-10-07 16:58:48.878Zreplies toecarmel:

                            Thanks for your patience and feedback, @ecarmel!

                            My impression is that the TinyPilot does not send "CTRL" code when the on-screen "CTRL" is pressed. I suspect that the software designer configured the CTRL key as a "toggle", assuming that CTRL is always used as a modifier, e.g. "CTRL-C", "CTRL-Z" etc. If this is true, I suggest the following modification:

                            TinyPilot's on-screen keyboard does use Ctrl as a modifier, but it also sends the keydown event immediately. You can confirm this with the Linux showkey utility: