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:
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.