Ok, problem is rather "simple" in the end. Looking at unix/sdl_gimpl.c line 180, we have the convertion table. What it says is that :
- if the symbol pressed is a printable ASCII char, then it is passed as it is. So far, so good
- else, if the sym matches a big switch case, we convert to the internal ioquake keycode.
- else, the key is ignored
and after that, a second test is made :
- if the key symbol is a pure ASCII value, then we pass it to the input buffer
First part is used to handle ingame keys like forward, fire etc ... and second part is used to handle console commands, text input fields etc ...
The problem is that french keyboards ( and many othe keyboards ) have some keys which produce a symbol which isn't ASCII but is still considered printable ( although not for quake ). And there's little chance to get them working like that. It'll require quite some change in the internals of the keyboard handling.