Non-English Keyboard Problems

General discussion for players of Oolite.

Moderators: winston, another_commander

User avatar
Cholmondely
Archivist
Archivist
Posts: 5365
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Non-English Keyboard Problems

Post by Cholmondely »

Cmdr James wrote: Fri Jul 23, 2021 7:21 pm
Cholmondely wrote: Fri Jul 23, 2021 10:43 am
We all do things differently - and there is a lot of information out there.
Indeed, but as I have been trying to say, I am having difficulty understanding the question you are asking.

Can I in some way help you with whatever you are trying to achieve?
Only if you have a keyboard.plist specifically adapted for the QWERTZ keyboard (others have already contributed equivalents for French & "Latin-American" Spanish) - or if you have the skills to update one of the older items above. I would think that an update for Keyconfig to bring it up to date for v.1.90 would be most useful. But I don't know, as I don't have the problems. What I do know is that there have been a few people over the past year since I got involved who have complained about this sort of thing. And that will be the minority who bother to register on this board and say something. I wonder how many just don't bother and disappear away into the undergrowth?

But thank you for offering!
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
hiran
Theorethicist
Posts: 2403
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Non-English Keyboard Problems

Post by hiran »

Cholmondely wrote: Fri Jul 23, 2021 7:44 pm
Only if you have a keyboard.plist specifically adapted for the QWERTZ keyboard (others have already contributed equivalents for French & "Latin-American" Spanish) - or if you have the skills to update one of the older items above. I would think that an update for Keyconfig to bring it up to date for v.1.90 would be most useful. But I don't know, as I don't have the problems. What I do know is that there have been a few people over the past year since I got involved who have complained about this sort of thing. And that will be the minority who bother to register on this board and say something. I wonder how many just don't bother and disappear away into the undergrowth?

But thank you for offering!
The biggest problem for sure is that you cannot just try out a different keyboard layout without having one.
On the other side you would be a perfect candidate for test since you are very comfortable on the keyboard so far and would immediately detect glitches.
I for my side do not even know in what situations which keypress should help and am desperately patting any button I can reach - with varying results.

So we have are the blind and the lame. Either we work together or I send one of my keyboards over to you. Which probably would save time on both our ends?
Sunshine - Moonlight - Good Times - Oolite
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Re: Non-English Keyboard Problems

Post by Cmdr James »

hiran wrote: Fri Jul 23, 2021 8:37 pm
Either we work together or I send one of my keyboards over to you. Which probably would save time on both our ends?
you realise the keyboards are exactly the same, they just have different stickers on the letters, right?
hiran wrote: Fri Jul 23, 2021 8:37 pm
I for my side do not even know in what situations which keypress should help and am desperately patting any button I can reach - with varying results.
To understand the controls simply pause the game, hit F2 and see what does what.

What exactly am I missing?
User avatar
hiran
Theorethicist
Posts: 2403
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Non-English Keyboard Problems

Post by hiran »

Cmdr James wrote: Fri Jul 23, 2021 9:22 pm
hiran wrote: Fri Jul 23, 2021 8:37 pm
Either we work together or I send one of my keyboards over to you. Which probably would save time on both our ends?
you realise the keyboards are exactly the same, they just have different stickers on the letters, right?
If this was true I should be able to remove all US or english key caps and just stick those with german labels back. I must be a very specific case as it has never worked out for me.
Cmdr James wrote: Fri Jul 23, 2021 9:22 pm
What exactly am I missing?
Image
(in case the picture is not visible, check here

On this image you can see the two keyboards I am facing every day. On top there is a MF2 US keyboard, while on bottom there is a MF2 German keyboard.

Note the difference of the sizes of the enter key. Whoa, where did that key for backslash go on the german keyboard?
Look at the size of the left shift key. Where did the key on the german keyboard come from? It does not carry the backslash...

No, I cannot agree the keyboard layouts are all the same just with different stickers. There are some keys really on different positions. And I am not complaining about the Fn key in the Dell US keyboard (lower row second from left) as it just imitates the Fn key on the laptop.

Wikipedia refers to three layouts being in common use and shows even six of them: https://en.wikipedia.org/wiki/Keyboard_ ... al_layouts
Last edited by hiran on Sat Jul 24, 2021 8:43 am, edited 4 times in total.
Sunshine - Moonlight - Good Times - Oolite
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16081
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Non-English Keyboard Problems

Post by Cody »

The problem with the forum sometimes not displaying images is getting worse, it seems. Ho-hum!
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
hiran
Theorethicist
Posts: 2403
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Non-English Keyboard Problems

Post by hiran »

Cody wrote: Sat Jul 24, 2021 9:34 am
The problem with the forum sometimes not displaying images is getting worse, it seems. Ho-hum!
In this special case I believe it is Box.com. The link I can share is not the link to the picture but a link to a web page presenting the picture.
The link to the picture itself seems to expire with the according session cookie.
Sunshine - Moonlight - Good Times - Oolite
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Re: Non-English Keyboard Problems

Post by Cmdr James »

hiran wrote: Fri Jul 23, 2021 9:43 pm
On this image you can see the two keyboards I am facing every day. On top there is a MF2 US keyboard, while on bottom there is a MF2 German keyboard.
OK, I give up.

I have installed 2 versions of oolite on this laptop (german windows 10 home, qwertz keyboard) over this thread to check the key mappings and everything works out of the box exactly as Id expect. Key mappings are exactly as displayed on the keymappings page and all seem to work. I even tried an external bluetooth keyboard, again works fine.

Sorry, seems I cannot help here.

My final thought is that perhaps the keyboard stickers dont match the configuration? ie oolite thinks its a us keyboard but in fact it has german stickers on?

Either way, yaw (as an example since most of the keys are anyway the same) are the two keys to the right of 'm'. Assuming you have a german computer, those will be the , and . keys and will correctly be identified by the keyboard config screen. If you convince oolite you have an qwerty keyboard then it will most likely tell you those are < and > but as long as the os and the keyboards match it should all work fine.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Non-English Keyboard Problems

Post by phkb »

It appears to me that the core problem we are trying to address here is documentation, not configuration. Various individuals over time have attempted to come up with helpful materials to aid with understanding the keyboard layouts, but in a way any attempt in this area is going to be hard pressed to cover every scenario. Even aside from the QWERTZ/QWERTY variations, laptop keyboards are renowned for moving key positions around, or hiding some keys under special function keys.

From the core game's perspective, the one thing we need to get right is the documentation. If there are errors in the manual that comes with the game, we need to fix those. On the wiki, we can share the contributions of users over time, understanding that these have been created by individuals (not the teams of people Microsoft or Apple would use for similar services) and so the applicability or usability in every circumstance might be limited. We can certainly offer instructions on how to edit the keyconfig file and make that as clear and as simple as possible. But I don't think there's anything that needs fixing in the game itself. If users have created a keyconfig file that is worth sharing, they can be distributed via the download manager with info on what need they're addressing (although, it should be pointed out that you can only have one keyconfig file loaded, and if we end up with multiple versions on the DM, and users install them all, it may not be clear which version is active when they play, as only one file will "win".)

Are there particular errors in the core documentation we need to fix? I'm happy to jump in and do the edits as required.
Last edited by phkb on Sun Jul 25, 2021 12:18 am, edited 1 time in total.
User avatar
tsoj
Deadly
Deadly
Posts: 199
Joined: Wed May 18, 2016 8:19 pm
Location: Berlin
Contact:

Re: Non-English Keyboard Problems

Post by tsoj »

I think the problem is that it is almost impossible to document anything for non-US layouts under Linux. For me, it was trial and error to check which keys work and which don't. In the end, I found it easiest to avoid all special characters (except "," and "." as they are the same almost everywhere) and to rely on using upper and lower case characters for different stuff.

So I would suggest adding this tip to the Linux/Non-US keyboard issue section. Here is the keyconfig.plist for a German layout for Linux if anyone is interested in it. It is very similar to the layout that Cholmondely posted a picture of earlier.

Code: Select all

{
    key_roll_left                   = "q";
    key_roll_right                  = "e";
    key_pitch_forward               = "w";
    key_pitch_back                  = "s";
    key_yaw_left                    = "a";
    key_yaw_right                   = "d";

    key_view_forward                = "1";
    key_view_aft                    = "2";
    key_view_port                   = "3";
    key_view_starboard              = "4";

    key_gui_screen_status           = "5";
    key_gui_chart_screens           = "6";
    key_gui_system_data             = "7";
    key_gui_market                  = "8";

    key_gui_arrow_left              = 253; // arrow left
    key_gui_arrow_right             = 252; // arrow right
    key_gui_arrow_up                = 255; // arrow up
    key_gui_arrow_down              = 254; // arrow down

    key_increase_speed              = 255; // arrow up
    key_decrease_speed              = 254; // arrow down
    key_inject_fuel                 = "i";

    key_prime_equipment             = "N";
    key_activate_equipment          = "n";
    key_mode_equipment              = "b";
    key_fastactivate_equipment_a    = "0";
    key_fastactivate_equipment_b    = "\t"; // tab

    key_fire_lasers                 = 252; // arrow right
    key_weapons_online_toggle       = "U";
    key_launch_missile              = "m";
    key_next_missile                = "z"; // "y" on QWERTY
    key_ecm                         = 253; // arrow left

    key_target_incoming_missile     = "T";
    key_target_missile              = "t";
    key_untarget_missile            = "u";
    key_ident_system                = "r";

    key_scanner_zoom                = "y"; // "z" on QWERTY
    key_scanner_unzoom              = "Y"; // "Z" on QWERTY

    key_launch_escapepod            = 27; // escape

    key_galactic_hyperspace         = "g";
    key_hyperspace                  = "h";
    key_jumpdrive                   = "j";

    key_dump_cargo                  = "D";
    key_rotate_cargo                = "R";

    key_autopilot                   = "c";
    key_autodock                    = "C";
    key_docking_clearance_request   = "L";

    key_snapshot                    = "x";
    key_docking_music               = "s";

    key_advanced_nav_array          = "A";
    key_map_home                    = 303; // Home or Pos1
    key_map_info                    = "i";

    key_pausebutton                 = "p";
    key_show_fps                    = "F";
    key_mouse_control               = "M";
    key_hud_toggle                  = "O";

    key_comms_log                   = "o";
    key_prev_compass_mode           = "k";
    key_next_compass_mode           = "l";
    
    key_chart_highlight             = "P";

    key_market_filter_cycle         = "W";
    key_market_sorter_cycle         = "E";
    
    key_cycle_mfd                   = ",";
    key_switch_mfd                  = ".";

    key_next_target                 = "K";
    key_previous_target             = "J";

    key_custom_view                 = "v";

    key_dump_target_state           = "H";
    
    key_oxzmanager_setfilter        = "f";
    key_oxzmanager_showinfo         = "i";
    key_oxzmanager_extract          = "x";

    key_inc_field_of_view           = "B";
    key_dec_field_of_view           = "V";
}

I guess there could be some kind of "fixing the game itself", but it seems that this amounts to too much work that could be better invested in something else: https://github.com/OoliteProject/oolite/issues/222.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5365
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Non-English Keyboard Problems

Post by Cholmondely »

tsoj wrote: Sat Jul 24, 2021 11:45 pm
I think the problem is that it is almost impossible to document anything for non-US layouts under Linux. For me, it was trial and error to check which keys work and which don't. In the end, I found it easiest to avoid all special characters (except "," and "." as they are the same almost everywhere) and to rely on using upper and lower case characters for different stuff.

So I would suggest adding this tip to the Linux/Non-US keyboard issue section. Here is the keyconfig.plist for a German layout for Linux if anyone is interested in it. It is very similar to the layout that Cholmondely posted a picture of earlier.

Code: Select all

{
    key_roll_left                   = "q";
    key_roll_right                  = "e";
    key_pitch_forward               = "w";
    key_pitch_back                  = "s";
    key_yaw_left                    = "a";
    key_yaw_right                   = "d";

    key_view_forward                = "1";
    key_view_aft                    = "2";
    key_view_port                   = "3";
    key_view_starboard              = "4";

    key_gui_screen_status           = "5";
    key_gui_chart_screens           = "6";
    key_gui_system_data             = "7";
    key_gui_market                  = "8";

    key_gui_arrow_left              = 253; // arrow left
    key_gui_arrow_right             = 252; // arrow right
    key_gui_arrow_up                = 255; // arrow up
    key_gui_arrow_down              = 254; // arrow down

    key_increase_speed              = 255; // arrow up
    key_decrease_speed              = 254; // arrow down
    key_inject_fuel                 = "i";

    key_prime_equipment             = "N";
    key_activate_equipment          = "n";
    key_mode_equipment              = "b";
    key_fastactivate_equipment_a    = "0";
    key_fastactivate_equipment_b    = "\t"; // tab

    key_fire_lasers                 = 252; // arrow right
    key_weapons_online_toggle       = "U";
    key_launch_missile              = "m";
    key_next_missile                = "z"; // "y" on QWERTY
    key_ecm                         = 253; // arrow left

    key_target_incoming_missile     = "T";
    key_target_missile              = "t";
    key_untarget_missile            = "u";
    key_ident_system                = "r";

    key_scanner_zoom                = "y"; // "z" on QWERTY
    key_scanner_unzoom              = "Y"; // "Z" on QWERTY

    key_launch_escapepod            = 27; // escape

    key_galactic_hyperspace         = "g";
    key_hyperspace                  = "h";
    key_jumpdrive                   = "j";

    key_dump_cargo                  = "D";
    key_rotate_cargo                = "R";

    key_autopilot                   = "c";
    key_autodock                    = "C";
    key_docking_clearance_request   = "L";

    key_snapshot                    = "x";
    key_docking_music               = "s";

    key_advanced_nav_array          = "A";
    key_map_home                    = 303; // Home or Pos1
    key_map_info                    = "i";

    key_pausebutton                 = "p";
    key_show_fps                    = "F";
    key_mouse_control               = "M";
    key_hud_toggle                  = "O";

    key_comms_log                   = "o";
    key_prev_compass_mode           = "k";
    key_next_compass_mode           = "l";
    
    key_chart_highlight             = "P";

    key_market_filter_cycle         = "W";
    key_market_sorter_cycle         = "E";
    
    key_cycle_mfd                   = ",";
    key_switch_mfd                  = ".";

    key_next_target                 = "K";
    key_previous_target             = "J";

    key_custom_view                 = "v";

    key_dump_target_state           = "H";
    
    key_oxzmanager_setfilter        = "f";
    key_oxzmanager_showinfo         = "i";
    key_oxzmanager_extract          = "x";

    key_inc_field_of_view           = "B";
    key_dec_field_of_view           = "V";
}

I guess there could be some kind of "fixing the game itself", but it seems that this amounts to too much work that could be better invested in something else: https://github.com/OoliteProject/oolite/issues/222.
Thank you for posting this. I'll bung it up in some appropriate spots!

But as regards SDL2/1.2 I'm sorry: I don't understand the linked discussion other than that Alugarius is upset. What is SDL and why does it matter?

<rant> Does it really matter as much as making Oolite more accessible to non-English speakers? Does it matter as much as adding some more fast activation keys? Does it matter as much as having 3 dimensional galaxies rather than 2-d ones? Or breaking down the pocket universes: allowing travel from one stellar system to another without using a witchdrive jump? Or having planet, sun & moon surfaces show on the IFF scanner? Or introducing black holes & binary systems?

And bearing in mind that our developer team is denuded of enough people to do much of this anyway... Does it matter as much as bringing back some of the people we've lost? </rant>
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Non-English Keyboard Problems

Post by phkb »

Cholmondely wrote: Sun Jul 25, 2021 2:08 am
What is SDL and why does it matter?
SDL stands for "Simple DirectMedia Layer" and is the main component Oolite uses to interface with graphics, controllers, sound etc. Without it, we would have to code up individual solutions for each element it covers, on each platform Oolite runs on. With SDL, much of that hard work is done for us.

Oolite uses SDL 1.4 (I believe - I'd have to check) which is now quite old. SDL 2 offers updates in a lot of areas and could potentially make some coding issues much easier to deal with. However, it would require some more team members who understand the ins and outs of graphics programming, and a lot of time.
User avatar
hiran
Theorethicist
Posts: 2403
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Non-English Keyboard Problems

Post by hiran »

Would it help if we shed some light on how Oolite actually processes keyboard events?

After all we want to work out how varying keyboard layouts impact the handling of the software. But there are many translation layers inbetween that can add variations, and so far my feeling is that a lot of solutions out there work out locally yet are not trusted on a global level.

I believe knowing the exact behaviour would allow us to improve documentation and clear out myths. Unfortunately the closer you get the more complex the problem looks at the beginning. I went through https://handmade.network/wiki/2823-keyb ... _key_names and now come up with this list:

* Keyboard layout (physical arrangement of keys and their numbering)
* Make/Break codes sent to the computer
* Conversion of OS keyboard driver from physical keycodes to virtual keycodes
* Conversion of OS regional settings from virtual keycodes to characters
* SDL stuff to translate from OS to something internal?
* Oolite querying SDL and reacting on what exactly?
Sunshine - Moonlight - Good Times - Oolite
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Non-English Keyboard Problems

Post by phkb »

@hiran: Can I just back up a step? In your first post on this thread you said:
When trying to explore more functionality, just trying the keyboard did not help at all. Going for manuals led me to many not-working keys either.
What specific keys did not work, and what specific instructions in the manual were misleading for you, or did not work?
User avatar
hiran
Theorethicist
Posts: 2403
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Non-English Keyboard Problems

Post by hiran »

phkb wrote: Sun Jul 25, 2021 6:55 am
@hiran: Can I just back up a step? In your first post on this thread you said:
When trying to explore more functionality, just trying the keyboard did not help at all. Going for manuals led me to many not-working keys either.
What specific keys did not work, and what specific instructions in the manual were misleading for you, or did not work?
Good question. What exactly were I trying to do?
Maybe it was too much at the same time, without having the right background.

I was getting shot a lot by pirates. My skills to dodge a fight, let alone win one were zero. I found the Imperial Star Destroyer where I could neither dock nor refuel the ship but was safe from pirates.
I tried to pull derelict ships but the tractor beam would not work (today I would say it was not primed), I tried to use the astrogation computer to select different targets but it would not switch (not sure which key I tried). Eventually I found out the 0 key would give me fuel. It must have gotten primed onto that key and I cannot even tell how. Similarly and without knowledge I lost the barrage military laser and could not tell when or why exactly.

It is not that I would not care what it means to switch HUD displays - I simply did not know there is even such a thing. Every now and then I read about a possibility to rearrange HUDs or select them, however I never read how it would be done. When I remember times from Flight Simulator 4 onwards, I knew all the keys to operate both the plane (e.g. turn on fuel pump, prime the engine, switch magnetos...) up to operate the simulator (switch to the comms frequency, tune in to another station, choose weather conditions, time warp or likelyhood of equipment failures) by heart. But there I had good tutorials that seem to be missing between the OXPs.

The vanilla game does probably not require to switch between much equipment so there is no documentation. And the OXPs that add equipment probably already assume the players are familiar with buying or switching equipment.

Where I mistrust the keyboard setup is when multiple keys do not work out for me, I cannot figure out the reason and other people tell me "it works for me", or "there is only one keyboard layout and it is already tested". When i saw the bits of documentation about keyboard I got entangled in the layers I listed above and did not bother touching any of them.
Sunshine - Moonlight - Good Times - Oolite
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Non-English Keyboard Problems

Post by phkb »

Thanks, hiran, that does provide a lot of context.

If I can offer a way forward, then I think the issue is less to do with content and complexities of the keyconfig.plist file (and there are issues here), and more to do with the gulf that exists in the documentation between the core game functionality and all the custom functions that OXP's provide.

Almost from day one, the advice to new users has been to start with the core game, and then add OXP's to the game slowly, so that the changes to the game can be noted and easily identified. However, with the advent of the expansion pack manager, I think we can say that for 99.99% of players, that is unlikely to be their experience. The website is encouraging players to download things, and the assumption in that encouragement is that the players will either (a) know what they're doing, or (b) know where to go for help (ie the forum). But I have a feeling that we are only seeing a small portion of players register on the forum and ask their questions.

The upshot is that the core game is doing a poor job of explaining some things that OXP's are taking advantage of (MFD's and primable equipment being the main examples). Just looking at the Oolite reference sheet with fresh eyes, I can see a few items that are possibly wrong for non-QWERTY keyboards (eg Shift+\ is the "|" character on my keyboard, and that is the key that is assigned in the keyconfig file, but is Shift+\ the same on every keyboard?), I can see some things that are inconsistently named ("special equipment" is mentioned a few times, although my feeling is that everywhere else in the game it's called primable equipment), but the biggest gap is that there is an assumed knowledge about MFD usage and special equipment usage in the documentation that is never addressed. Coupled with the fact that OXP usage must be the assumed starting point for the majority of players, that is a fundamental flaw in documentation.

There is even a naivety in the reference sheet when it says
This reference sheet makes several references to 'OXPs'. Oolite eXpansion Packs can add extra missions, equipment, ships or change the game mechanics. These packs are not part of the standard game and will not be covered by this sheet. For more information on them and how to install them, visit the Oolite Wiki.
So I think the time has come to embrace the OXP situation a little more comprehensively in the included documentation. I have some ideas I'd like to work on to expand the reference sheet and try to bridge this gap. It shouldn't take long to knock together some concepts and share them here for discussion.

As an additional goal, can those with non-UK/US QWERTY keyboards have a look at the Oolite Reference Sheet keyboard guide and point out the key combos that don't work in your environment? If nothing else, if we can identify the problematic keys, we can highlight them in some way on the keyboard guide and provide some more commentary to help players overcome them.
Post Reply