Seems pretty obvious by now that you're happy to dislike the software and that no solution will appease you. Not because there are no solutions, but because you've chosen to be discontent.
If you're happy with that then Im happy for you, but its a bit on the nose to discredit the quality of someones work because youre not interested in learning to use the software.
To each their own though. If this is what makes you happy then who am I to tell you otherwise?
Because you're piling kludges on top of kludges, and I'm supposed to like that? Wine, because there's nothing on Linux to run it? Or build a keymap myself because the emulator fails emulating the keyboard in a useful way? Please, excuse me, but such solutions are not exactly "usable". They might be "ok" as last resort, but they are far from ideal.
Look, there are certain "minimum standards" I would recommend to follow. The minimum standard is that the keyboard works as expected (with the keys functioning as the labels on them say). The minimum standard should be that emulators tell me how to ungrab the mouse and how to give me control back, bare basics of user interface design. The minimum standard should also be that the file system emulation emulates the file system properly, yet links do not work correctly on xx-UAE (just another point on my list).
Nothing of that is impossible to reach, or in particular overly hard. I'm writing all this so it can hopefully be fixed. Somebody has to say. vmware on Linux pretty much works by the standards, to give one example. I would also say that my own emulator works by these minimum standards, though is probably less perfect than professional software, and it is admittedly a much simpler system that it emulates. The UAE variants I tested are not, sorry, and for the points I mentioned.
On cross compiling: I also did cross-compilation for the Atari 8-bits, using ca65, makefiles and emacs. Also works, and works better than on the original. But if I have to pile certain emulation layers on top of each other to compile a program for an old system, then that's not a workable solution. Alternativiely, using non-native tools: creating Amiga system libraries also requires a bit more than your "average" C compiler (gcc, for example) is able to offer, it requires some highly specialized tools. It's a tad more complex than writing your average C program.
It is understandable that the community is so small that nobody is willing to put much effort into providing the tools or the emulators, but that doesn't make the situation better, or the "workarounds" you're offering any better. Just because we're all only working on a hobby basis doesn't make the result any better on an absolute scale.