You are not logged in.
Hi people
I've played World of Warcraft using Wine for some time now, and one thing that I never managed to get working is the æ, ø and å keys on my keyboard while in-game. The game simply does not register anything when I press those keys.
So I started to dig into it, and found out that other special key characters doesn't work either (e.g. the "½"-key, between Esc and Tab). Furthermore I haven't found anyone experiencing the same issue as me.
I found that quite many people have problems with World of Warcraft changing the keyboard layout in Windows if multiple keyboard layouts is available, however, I only have the "dk" keyboard layout set and also the keyboard layout doesn't seem to change as I don't get different characters, they just simply doesn't do anything.
I would have tested this with other games, but I don't have any other games installed. However, I tried to launch SketchUp, and found out that the exact same problem persist, making me think that this is not related to World of Warcraft, but more likely Wine.
To make things clear: All my keys work perfectly in native applications (i.e. applications not launched with Wine).
I hope that someone can help with this, as it would make it alot easier to write Danish in WoW with the æøå characters.
If at all relevant:
$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules: evdev
model: pc105
layout: dk
options: terminate:ctrl_alt_bksp
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+dk+inet(evdev)+terminate(ctrl_alt_bksp)
geometry: pc(pc105)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+dk+inet(evdev)+terminate(ctrl_alt_bksp)" };
xkb_geometry { include "pc(pc105)" };
};
Thanks a lot!
Offline
What does "localectl status" show ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Thanks for the reply!
$ localectl status
System Locale: LANG=en_DK.UTF-8
VC Keymap: dk
X11 Layout: dk
X11 Model: pc105
X11 Options: terminate:ctrl_alt_bksp
Offline
Everything looks ok and should work, but maybe something (like a WM/DE) messes up things.
Does it help if you tell wine explicitly to use DK locale ?
LC_ALL=en_DK.UTF-8 wine /path/to/program
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Yes that does the trick! Thanks a lot!
Is there any way to tell what causes wine to launch with a different locale, or should I just stick with the above?
Offline
It's a workaround that shouldn't be needed, personally i would investigate .
Does the problem occur if you start wine programs directly from terminal without parameters ?
If not, what WM/DE are you using (Gnome,KDE, openbox, i3, lxqt, xfce to name a few) ?
Testing wine behaviour in other WM/DE will help to narrow down what causes this.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Yea, I agree.
I always launch wine programs from the terminal, as I honestly don't use wine for anything else than World of Warcraft, so yes, the problem occur if I start wine programs without the locale parameter.
I use i3, but have xfce and Gnome3 installed alongside, mainly for displaying Gtk applications. And with that in mind, I actually don't know how I should launch wine programs without using the terminal. But of course I could have added it to dmenu.
EDIT: To clarify, I never start any xfce or gnome3 sessions, only i3.
Last edited by xiroV (2017-07-19 17:09:45)
Offline
Lone_Wolf's point was for you to try logging in to either XFCE or Gnome to see if the problem persists. We're trying to narrow down what is causing the issue.
Offline
Oh sorry, I totally missed that.
I tried starting both a Gnome and XFCE session. I couldn't launch wine programs using the menu's (the game simply crashed), but that is probably unrelated. The problem persists when launching the game from terminal, from either WM/DE.
Offline
That indicates the problem is not in your i3 / gnome / xfce setup, but in things they all share .
How are you starting X ?
post relevant user configured files (ex : if running startx post ~/.xinitrc )
Last edited by Lone_Wolf (2017-07-19 18:02:30)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
I'm using GDM as my display manager, so I'm not really sure what to post. I can't find anything that looks relevant to the problem.
My ~/.xinitrc file only contains:
exec i3
EDIT: Furthermore, the problem persists across terminal emulators and shells (tried a few different emulators and zsh and bash). I'm unaware if there could ever be an issue in this area, but checked anyways.
Last edited by xiroV (2017-07-19 19:00:44)
Offline
That narrows things down a lot .
Temporary disable GDM and start X manually . problem persists ?
Also post the content of any *.conf files in /etc/X11 and /etc/X11/xorg.conf.d .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Disabling GDM and using startx makes the problem go away!
I only have 3 *.conf files, all in xorg.conf.d. I'm pretty sure that I created at least 2 of those files myself (possibly using templates from the wiki), but as this was years ago, I don't remember exactly what they do:
00-keyboard.conf
# Read and parsed by systemd-localed. It's probably wise not to edit this file
# manually too freely.
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "dk"
Option "XkbModel" "pc105"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
10-synaptics.conf
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "TapButton1" "1"
Option "TapButton2" "0"
Option "TapButton3" "0"
Option "VertEdgeScroll" "on"
Option "MaxDoubleTapTime" "100"
EndSection
20-backlight.conf
Section "Device"
Identifier "Card0"
Driver "intel"
Option "Backlight" "intel_backlight"
EndSection
However, I've been wanting to change GDM out with something more lightweight for long now, so I guess using another DM will remove the problem altogether?
Offline
I've just tried installing LightDM with the lightdm-gtk-greeter. Starting i3 using lightdm results in the same problem, which makes me guess that GDM probably isn't responsible.
Offline
The config files look fine, the only one that's keyboard related sets everything correctly.
For session problems you normally look in /usr/share/xsessions , but given the issue arises in several environments i doubt the culprit is there.
Otoh Xprofile is sourced by display managers, but not by startx (atleast by default) .
Are there /etc/xprofile or ~/.xprofile files on your system ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Nope, none of those files exist on my system.
I've been looking around in different config files mentioned on the wiki regarding locale, but everything is set to en_DK.UTF-8.
However, I'm wondering, in /etc/locale.conf I have the following:
LANG=en_DK.UTF-8
But running "printenv" prints:
...
LANG=en_DK.utf8
...
Question is: Is there supposed to be a "-" in "utf8", or are these environment variables of a different syntax than used in /etc/locale.conf" ?
Last edited by xiroV (2017-07-21 16:58:10)
Offline
Okay, I might have found something useful.
I found someone having similar issues, however the conversation seems a bit scrambled, so I can't make much sense from it:
https://forum.winehq.org/viewtopic.php?t=8686
After reading it, I tried running the game using:
$ WINEDEBUG=warn+keyboard wine PATH/TO/GAME
Which produced the following output:
warn:keyboard:X11DRV_KEYBOARD_DetectLayout 7 keysyms per keycode not supported, set to 4
warn:keyboard:X11DRV_KEYBOARD_DetectLayout Using closest match (Danish keyboard layout) for scan/virtual codes mapping.
warn:keyboard:X11DRV_InitKeyboard vkey 010D is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 0124 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 0126 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 0121 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 0125 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 0127 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 0123 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 0128 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 0122 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 012D is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 012E is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 01B3 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 01B3 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 012C is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 01B4 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard vkey 0003 is being used by more than one keycode
warn:keyboard:X11DRV_InitKeyboard No more vkeys available!
Does this help in any way?
Offline
While the bug looks similar, the log output is not relevant.
I've tried LC_ALL=en_US.UTF-8 WINEDEBUG=warn+keyboard winecfg and that shows same errors.
I am using startx / lxde / openbox, so a very different setup from yours and have similar issues.
(I only use wine for some singleplayer games, and for those keyboard has never been a problem)
I'm inclined to suspect a bug in wine, possibly related to not-explicitly set LC_ variables.
Searching suggests wine devs solved the bug for special cases, but didn't find the underlying issue.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Okay, good to know that I'm not the only one experiencing this issue. I hope the developers will eventually find the issue, and for now, I'll just run my games with LC_ALL.
On an additional note, a friend of mine does not experience any of the same issues on his default Ubuntu setup, which might be one of the "cases" you were refering to.
Thanks a lot for your help and patience.
Offline