It may be a problem with the keyboard setup in citrix.
From another forum
Browsers generate keydown, keypress, keyup events (in that order) for normal characters, where keypress contains the actual character typed. keypress for these special chars is generated only after space is received in case of US Intl keyboard.
However when a website (like Receiver) swallows "keydown" event, browser cannot generate keypress event as it doesn't know previous events. So browser doesn't generate ~ keypress at all. So keydown/up of space is sent without keypress and a space is written inside session."
Check out this site.