Isetott wrote:I'm a bit puzzled why the chat box input in the game works with my swedish layout when I run the game without Inner Space and ISBoxer if direct input and USEnglish layout is used?
My understanding on why is a bit fuzzy, but if I have to guess, it is because the game is doing a MapVirtualKeyCode, after reading the direct input stream, and maybe Inner Space is not, so after Inner Space reads the input, it ends up sending the US layout equivalent value to the game, rather than the native layout value, because it does not do the MapVirtualKeyCode. I'm really just speculating a bit on information I have read when this issue has come up a few times and I've thought I could come up with a solution (without code) with a bit of help from google.
Isetott wrote:With Inner space and ISBoxer it isn't completely USEnglish since I can type swedish letter like åäö though from other keys then they normally belongs to and some keys seems to have a USEnglish layout.
Correct. That will be because those keys are sending a different DIK to Windows, and eventually the game, that cannot be misinterpreted. This issue will normally stem around those keys which require modifiers, or where they are assumed to be in a standard US Layout position, like SHIFT+2 in an UK layout is ", but in a US layout is @, or SHIFT+7 is & in a UK layout and \ in Norwegian, or even the Duestch with the Z and Y around the other way to a US layout, or the French with the AZERTY. This list goes on. Simply, the hardware is sending some kind of code (a DIK code?) and this is then interpreted somewhere in the stream via the Layout as a Key Code, which in turn might be mapped to a Virtual Key Code, which then determines something that might be turned into characters on the screen. Various libraries might skip some of the "standard" process, or in the case of Direct Input, read the DIK code directly and rely on custom programming to implement the remaining steps. It is all rather complicated for something that you think should be simple, and I am skipping over large amount of the process because I dont understand it. IMHO, it is because the original design of the modern computer came out of a think tank which never imagined that anyone outside of the US of A would ever get their grubby mitts on such a tool and thus there is a bunch of legacy, which has never really been totally reworked properly for a global setup. It also doesn't help that there is no one standard to identify character sets. If we ever meet nice aliens that want to send us emails, lets hope they know about ASCII.
Isetott wrote:This makes me think that there is a mapping before key events are passed on to the game.
Well, yes. Inner Space is reading your keyboard input before anything else, and then sending something to the game. What it sends depends on what it reads and how it reads it, and then will depend on which libraries are loaded and being replaced in the game (Inner Space substitutes certain API libraries with it's own ones).
Isetott wrote:Another akward behaviour that showed up is: if I set focus to internet explorer or another program like notepad and try to type @ (which for me is alt gr + 2) no @ is shown but focus is switched to the game. I have to quit Inner space, ISBoxer and the game to be able to type @.
This will be because during the Quick Setup Wizard, you missed the tickbox for the "I have an Alt Gr key". This option stops ISBoxer from assigning the default hotkeys of CTRL+ALT+[NUM] to each of the slots.

Your choices from here are either to set the hotkey to something else (select the Character Set in the top left, and the Slot Number in the lower left, and then in the lower right it will have a Hotkey to Switch to this Character option), untick the "make this hotkey global" option (although the problem will still exist within game windows, which will be annoying if you need to type in something like an email address), or remove the Character Set, run through the Quick Setup Wizard again, and tick the tick box. Unfortunately you cannot set this option to NONE or NOKEY, to remove any hotkey, outside of the Quick Setup Wizard and have it not use the default values of CTRL+ALT+[NUM]. This is a bug which will hopefully be fixed (actually it might have been already and I just don't remember it).
Isetott wrote:In the Preferences-charactername.ini it points out three .keymap files: Control.keymap, Shift.keymap and Main.keymap. In the Main.keymap I can see something like this:
"" [ QUEST_PANEL_KEY DIKEYBOARD_L ]
To open quest panel, target enemies, skill panel etc. that is no problem, but to just type text in the chat box is a problem, for an example if I'm to ask a question I don't find the ?
I understand these keymap files as a configuration on what key should do what action, like opening the inventory, use shortcut bar slot 1, 2 etc. but not to change the layout of the keyboard affecting chat input. The jobb of localizing the keyboard for different language layouts should be handled by the OS. Maybe my OS has became broken in some way.
Sorry if I missunderstood anything. I rest my playing of this game untill I can stand the idea of playing it without this nice program or that I find a solution

Thanks again for your digging and tips!
I have tried to create virtual files as you described, but it unfortunately didn't change anything.
This stuff was more out of interest as to whether there was anything you could set in them to force a keyboard layout, and perhaps it was being set incorrectly when the files were virtualised, or in the case of any non-virtualised files, they were having "access" issues due to multiple instances of the games accessing them and falling back to other behaviours. It was speculation and I didn't really hold high hopes for it as I'm pretty sure the issue is in the use of DirectInput and how Inner Space is reading and then passing values on to the game.
This problem is mainly around older games (DoAC and EQ1 are common for this to come up in), as Microsoft don't recommend developers use DirectInput anymore. They have other API's which provide the input speed which DirectInput provided, and without the annoyances of the USEnglish thing (and a bunch of other foibles), although interestingly enough, pretty much all the methods to read input from HID's have a bunch of various idiosyncrasies, and there does not appear to be a single one which does not need special handling. It doesn't help matters that there are similar issues with the hardware side too (well, firmware in the devices).