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

Certain keys fail for external keyboards on iOS Safari

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0.0
    • Component/s: guacamole-common-js
    • Labels:
      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

              People

              • Assignee:
                mike.jumper Michael Jumper
                Reporter:
                mike.jumper Michael Jumper
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: