The key identifiers for Page Up and Page Down are swapped. Within Keyboard.js:
Page Down is actually 0xFF56, while Page Up is 0xFF55.
This means Page Up and Page Down will be handled in reverse by any browser supporting DOM3 key events (currently Firefox). Once pressed, they will remain stuck down, as the keysym of the lifted key will be derived from the keyCode, and THAT mapping is correct. From Guacamole's perspective, the lifted key was never pressed.