Some corrections to what I just read:
First:
The Fn-key in Pandora is not HW in the sense it's function were fixed. See the kernel source for Pandora for details. The tricks done are quite hacky in nature... is stuff like this even mergable to official kernel?
files: board-omap3pandora.c, twl4030_keypad.c, gpio_keys.c
Should be unique names, so paths omitted now. I modified them all to create my keylayout. In which Fn is rightshift, so clearly not hardwired to alter scancodes!
Essentially:Fn goes down, the kernel starts faking scancodes.
Bottom line: you can make the current Fn into an AltGr and see the hilarity as it unfolds... For example, operating on the console (before starting X) is going to be.... interesting
. You need to compensate for missing scancodes at some higher-than-kernel-level.
Second:
Problem for dosbox is as described above - it interpretes symbols as keys and handles modifiers by itself, BUT actually the problem also partially has its roots in SDL... which in turn, in the Pandora implementation reads keypresses not from X, but from kernel
. So whatever fancy stuff you got in your Xmodmap SDL says pfffft and practically checks your scancode. And to see which keys are available there: /usr/include/linux/input.h around line 175. If it aint there it aint a key. I hit this early on when I made Xmodmap changes that "dosbox just ignores wtf".
Third: in no way is the dosbox keymap problem just a Pandora problem. Back in the late 80s and early 90s you did not play a flightsim unless you knew how a US layout works - most games used scancodes and happily ignored your weirdo scandinavian layout. The bigger market areas got some games localized, but not all... So it was not + and - you pressed to increase and decrease speed, it was the keys you would have pressed had your keyboard been US... Text adventures same thing. And not just PC, I remember this from some Amiga titles too. No big issue you learn to live with that once you figure it out.
A Pandora specific problem was that some symbols could not be written at all in, for example, UAE. And the root cause was the same keylayout.