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

Certain keys fail for external keyboards on iOS Safari

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 1.0.0
    • guacamole-common-js
    • None

    Description

      As reported by Greg on the mailing lists, external keyboards do not quite work correctly with Guacamole under iOS Safari:

      I’m trying to use Guacamole with an iOS device (I’ve tried both iPad and iPhone devices) with an IOGear GKB632B keyboard (https://www.iogear.com/product/GKB632B/)

      The problem is that Guac doesn’t seem to understand the keyboard mapping, particularly for the escape key (and I would guess other keys as well, but all I’m trying to do is use ‘vi’). On this keyboard When used through Safari on the iOS devices, the escape key generates a ‘U’ character. It works when connected to a MacBook.

      On further investigation, iOS Safari seems to be sending incorrect, platform-specific key identifiers for the failing keys:

      ... Here’s the result from the keypress tester:

      keydown e.keyCode=0	e.which=0	e.keyIdentifier=Unidentified	e.key=UIKeyInputEscape	e.altKey=false	e.ctrlKey=false	e.altGraphKey=false	e.metaKey=false e.shiftKey=false	e.location=0	e.keyLocation=0	
      keypress	e.keyCode=85	e.which=85	e.keyIdentifier=	e.key=UIKeyInputEscape	e.altKey=false	e.ctrlKey=false	e.altGraphKey=false	e.metaKey=false e.shiftKey=false	e.location=0	e.keyLocation=0	
      keyup	e.keyCode=0	e.which=0	e.keyIdentifier=Unidentified	e.key=UIKeyInputEscape	e.altKey=false
      

      So… looks kind of funny. The keycode reported is ’85’ which is the U character, but the key that’s reported is ‘UIKeyInputEscape’, which is clearly not ‘U’, and also not ESC (27). Googling ‘UIKeyInputEscape’ suggests that this is UIKit’s name for the escape key, but the keycode is wrong.

      It's possible that these identifiers simply need to be added to the list of known identifiers to work around the issue... or perhaps something else is going on.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            mjumper Mike Jumper
            mjumper Mike Jumper
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment