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

Incorrect Caps Lock keysym sent to Windows via RDP

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.0.0
    • Fix Version/s: 1.2.0
    • Component/s: None
    • Labels:
    • Environment:
      macOS Mojave
      Windows 10


      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.


        Issue Links



            • Assignee:
              westont Weston Thayer


              • Created:

                Issue deployment