Fixed (SDL2) Most symbol keys are messed up in Italian locale

Status
Not open for further replies.

gregory_house

Also known as TemporaryAl
As the title says, in the SDL2 build every single symbol key except the number keys, comma, dot and underscore keys shows a different weird behaviour in the Italian locale:

  • >< prints out < regardless if shift is pressed or not
  • some keys print letters (capital letters with shift)
  • à prints out two different wrong symbols in say (~/` respectively with/without shift), nothing in the console by itself, capital X in the console with shift

This way I'm left with no way to type a question mark or square brackets, for example.

(To be honest, underscore is the only key which prints out the right symbol both with and without shift pressed, but the numbers, comma, and dot had their second symbol wrong in older versions too)


Srb2log.txt shows this:

Code:
Unknown Keycode 232, Name: è
Unknown Keycode 236, Name: ì
Unknown Keycode 236, Name: ì
Unknown Keycode 236, Name: ì
Unknown Keycode 236, Name: ì
Unknown Keycode 236, Name: ì
Unknown Keycode 236, Name: ì
Unknown Keycode 236, Name: ì
Unknown Keycode 236, Name: ì
Unknown Keycode 236, Name: ì
Unknown Keycode 236, Name: ì
Unknown Keycode 224, Name: à
Unknown Keycode 224, Name: à
Unknown Keycode 249, Name: ù
Unknown Keycode 249, Name: ù
Unknown Keycode 224, Name: à
Unknown Keycode 224, Name: à
Unknown Keycode 242, Name: ò
 
Last edited by a moderator:
These are the interesting meaty bugs. I might have to introduce new keysyms in SRB2 to support keycodes in other locales.

Can you force srb2 to run under enUS locale and see what happens?
 
Yes, I'd already tried that, and everything works just like in older versions.

(As in, numbers, dot and comma only get their main symbol right, and every other symbol key is completely wrong, but at least they all printed out different characters including the ones missing now.)

Changing the system keyboard is just a matter of pressing a two-key combination whenever I need it, so this bug isn't really game-breaking, still an annoyance though.
 
What exactly is the old keyboard behavior in srb2dd when the Italian keyboard is enabled? Do the keys match up based on position on the keyboard rather than the symbol they actually represent? I'm trying to figure out how I'm going to approach this.

The quick solution would be to use scancodes instead of keycodes, which are layout independent, and just assume everyone is using a US keyboard for the purposes of typing. If that's how the old versions work, then I'll just go with that. Otherwise, I'll try to find another solution.
 
Srb2dd (with both locales) works just like SDL2 with EnUS locale, that means it's just like using an American keyboard in say, notepad, so I'm guessing the keys match up based on position.

Just like this image:
OgRPSosa2+AAAAAASUVORK5CYII=
1280px-ANSI_Keyboard_Layout_Diagram_with_Form_Factor.svg.png


Keys never got the symbol they represent on the IT keyboard right in any version of SRB2, but if that's not possible reverting back to this old behaviour is okay too.
 
I have implemented SDL scancode translation to SRB2's key map in my local branch, which should make keyboard input the same regardless of keymap, and it should be in the next release. Thanks for the bug report.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top