The selected system keyboard layout is respected during XQuartz.app startup, but any subsequent changes are not reflected within the X.Org server.
xmodmap -pke will always report the same initial value.
"Follow System Layout" is turned on.
Btw, although I have selected "development" as the version because I'm using MacPorts with xorg-server-devel, other users are seeing this for the latest XQuartz installer release as well.
I confirm this bug. Layout changes only if you restart the XQuartz.
Also it's quite sad that does not try to combine layouts into one keycode table.
While it should take all layouts available in OSX and combine them. This is very needed in order for x2go client to work correctly. Each 1 second x2go client dumps keycodes from xmodmap and applies them on a remote machine. So if xmodmap will return keycodes only for the current layout, english for example, and apply it on a remote machine. So when you change layout on mac x2go will send new keycode table with another language, like German, only in a few seconds. This will make frequent switching very awful and frustrating.
I ducked this issue by manually composing keycode table and uploading it on a remote machine, but I hope the fix this in XQuartz itself.
@sysradium: That's not possible. You should talk to the x2go authors about changing that behavior.
The layout is properly switching for me with 2.7.10_beta1. Nobody else seems to have reported this, so I suspect a local configuration issue. Please ask for support on the x11-users mailing list.