ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.24k stars 175 forks source link

Steam does not recognize special characters #5704

Open PlusMinus0 opened 6 years ago

PlusMinus0 commented 6 years ago

Your system information

Please describe your issue in as much detail as possible:

This is most likely the same issue as #5076 but it turns out, that not only the login prompt ignores umlauts (I had to change my password in the web interface to login again). I came across the problem again when I tried to play The Witcher: Enhanced Edition with Steam Play:

Because I use an alternative keyboard (neo2) I have to rebind controls for some games (those that use chars for keybinds instead of keycodes). Unfortunately I could not bind any umlaut to actions. For the bug in effect check out the gif of the steam search bar ignoring umlauts being entered.

steam

Althogh I do mention an alternative keyboard layout, the effect is the same for the “normal” QWERTZ-layout.

Steps for reproducing this issue:

  1. (Change keyboard layout)
  2. Try to use any of the following ä, ö, ü , ß (even copy and paste them)
Nexolight commented 6 years ago

Your system information

Steam client version: 8 Sept 2018. API v018, package version 1536436120 Distribution: Void Linux Display-Server: X11 Opted into Steam client beta?: Yes Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

I cannot type öäü and potentially some other characters on a Swiss German Keyboard into any part of the steam client with the following locale set up. These keys do work in any other application. I can actually paste these characters but I cannot type them:

LANG=de_CH.utf8
LC_CTYPE="de_CH.utf8"
LC_NUMERIC="de_CH.utf8"
LC_TIME="de_CH.utf8"
LC_COLLATE=C
LC_MONETARY="de_CH.utf8"
LC_MESSAGES="de_CH.utf8"
LC_PAPER="de_CH.utf8"
LC_NAME="de_CH.utf8"
LC_ADDRESS="de_CH.utf8"
LC_TELEPHONE="de_CH.utf8"
LC_MEASUREMENT="de_CH.utf8"
LC_IDENTIFICATION="de_CH.utf8"
LC_ALL=

I get this error line from the console log each time I press one of these characters:

[0909/222517.529420:WARNING:keyboard_code_conversion_x.cc(1357)] Unknown keycode:0

Steps for reproducing this issue:

  1. Take a SwissGerman Keyboard (might happen with others as well)

  2. Take a leading Edge Distro (in this case Void) and install Steam (use STEAM_RUNTIME=1)

  3. Make sure the locale is set up properly

  4. Open the steam client and try to type "ä ö ü" into the search bar or chat window.

Nexolight commented 6 years ago

If you search for the codes that steam logs into console, then it's apparently not the only application that produces it, which leads me to the assumption that this is caused by a more recent system library that is not included in the steam runtime. I stumbled upon libxml. But that's just a guess.

Any information regarding this would be very helpful as it's quite annoying.

networkcookie commented 6 years ago

excuse me.. so is there a solution to this or nah?

SuperNascher commented 6 years ago

Hi,

the problem is that you're missing the en_US.utf8 locale.

On Debian basted systems you can just do a dpkg-reconfigure locales. On Arch follow this guide here https://wiki.archlinux.org/index.php/Locale

Afterwards just restart steam and it should work.

PlusMinus0 commented 6 years ago
$ locale -a
C
de_DE.utf8
en_US.utf8
POSIX

As you can see, it is installed.

SuperNascher commented 6 years ago

As you can see, it is installed.

Strange, could you test it with xorg instead of wayland? My colleagues had the same problem, but after they installed en_US as locale, it magically worked.

Nexolight commented 6 years ago

Hi,

the problem is that you're missing the en_US.utf8 locale.

On Debian basted systems you can just do a dpkg-reconfigure locales. On Arch follow this guide here https://wiki.archlinux.org/index.php/Locale

Afterwards just restart steam and it should work.

For me that was apparently the problem

Basically I uncommented my local language + en_US in /etc/default/libc-locales.

de_CH.UTF-8
de_CH ISO-8859-1
en_US.UTF-8
en_US.ISO-8859-1

then I rebuilt the glibc locales according to the wiki of my distro. Now I can type the letters äöü etc. again.

Matombo commented 4 years ago

I have the issue too, but not in the steam client or chat itelf, but only in the login dialoge, when having an umlaut in the steam name or password. Regenerating the locales and making sure en_US.UTF8 is included didn't help

JulianGro commented 2 years ago

Same issue here on Debian Testing. Though I have had it on Linux Mint 19.3 as well.

JulianGro commented 2 years ago

Adding en_US.UTF8 seems to fix the issue. I don't see why a software that is displaying everything in German would specifically need en_US.UTF8 to accept input properly, but whatever the case, Steam should give us a warning about that or attempt to just enable en_US.UTF8 itself.

Managor commented 3 months ago

Does Steam still require en_US.UTF8?