Bug 4804 - 'Dead keys' feature interferes with AltGr's operation
Status: RESOLVED WONTFIX
Alias: None
Product: ioquake3
Classification: Unclassified
Component: Misc
Version: GIT MASTER
Hardware: PC All
: P3 major
Assignee: Zachary J. Slater
QA Contact: ioquake3 bugzilla mailing list
URL:
Depends on:
Blocks:
 
Reported: 2010-11-26 15:58 EST by tinkah
Modified: 2010-12-20 03:16:03 EST
1 user (show)

See Also:



Description tinkah 2010-11-26 15:58:55 EST
I'll put the severity barely at 'major' since it directly affects gamers playing with certain bindings, making it for them a reason to avoid the client completely.

What basically happens is that the 'dead keys' avoidance feature in IN_TranslateSDLToQ3Key() is triggered for various combination of AltGr being kept pressed and another key being then pressed simultaneously.

I suspect it's very related to the fact AltGr is a bizzare key: It doesn't send a down event and an up event. It sends both a LEFT CTRL and a RIGHT ALT event (and then again for 'up'). This is system or hardware related since I saw identical behavior in a non-SDL keyboard testing app: It assumed when AltGR was pressed that both LEFT CTRL and RIGHT ALT were pressed. 



Anyway, at least a workaround for the reported problem is to comment out the 'dead keys' check completely.
Comment 1 tinkah 2010-11-26 16:31:44 EST
it proves buggy with the workaround. better solution is required.
Comment 2 tinkah 2010-11-26 16:57:52 EST
nevermind! workaround is fine.
Comment 3 Tim Angus 2010-12-19 13:29:18 EST
There are a few issues with international keyboard layouts at the moment that basically can't be solved without better API support (SDL 1.3). Simply commenting out some code might fix your particular problem but will have knock on effects in other situations and for users using different layouts.
Comment 4 tinkah 2010-12-19 19:38:08 EST
(In reply to comment #3)
> There are a few issues with international keyboard layouts at the moment that
> basically can't be solved without better API support (SDL 1.3). Simply
> commenting out some code might fix your particular problem but will have knock
> on effects in other situations and for users using different layouts.

The problem with closing this - I don't care myself I can fork it - is that it's obvious gamers are more convenient with that workaround than with the ..workaround currently established. You aren't perfect but that's not a reason to choose the less ..perfect.
Comment 5 Ludwig Nussel 2010-12-20 03:16:03 EST
well, we could make the behavior configurable via cvar to see which setting is better