Uploaded image for project: 'Guacamole'
  1. Guacamole
  2. GUACAMOLE-859

Incorrect Caps Lock keysym sent to Windows via RDP

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.0.0
    • 1.2.0
    • None
    • None
    • macOS Mojave
      Windows 10

    Description

      1. On a Mac, connect to a Windows machine via an RDP connection in Guacamole
      2. On the Windows machine, open Chrome or Firefox and navigate to https://jsbin.com/reviciceke/2/edit?js,console,output
      3. Click the "Run with JS" button
      4. Click the output pane to make sure it has keyboard focus
      5. Press the Caps Lock key on your Mac (you may need to press it twice if it's already on)

      Actual: The JSBin's console outputs KeyboardEvent.code and KeyboardEvent.key for the "keypress" event. Note how KeyboardEvent.code is an empty string and KeyboardEvent.key is "Unidentified"

      Expected: KeyboardEvent.code should be "CapsLock", as should KeyboardEvent.key

      I believe the keysym being sent by guacamole-common-js's Keyboard.js is 0xffe5. I'm guessing the guacd RDP plugin has a bug, where that keysym is not mapped to the correct RDP scancode.

      For reference, using Microsoft's RDP client for macOS, KeyboardEvent.code and key are correctly "CapsLock".

      Note that this bug probably went un-noticed for a long time because Caps Lock still "works" in that future characters typed are capitalized. But in my use case, I need Windows to handle the Caps Lock key down itself.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              westont Weston Thayer
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: