[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
- To: alleg-developers@xxxxxxxxxx
- Subject: Re: [AD] Bug in keyboard
- From: Elias Pschernig <allefant@xxxxxxxxxx>
- Date: Tue, 8 Mar 2005 15:00:14 +0100
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=I7z3ziFXcJhQ4qSgHyB8Hv9XFrvnwayQuMltFFaVHf2R46vYTykd6V0QgXngjTexduf3iORSgkuYWehhOk5htoyXSLIRwBxgZb+ZU9+2YcXZnyHE4WOr6Kbu7sgbrhuLmQHTkjKHguMB1qUbVlToFJ3c9YNFsR5CBe6SN54cBbg=
I can reproduce it, it's actually as the keys are reported by DirectX.
It can be worked around by examining the key state, as is done anyway
in the version with my keyboard patch.. so I could add it there
easily.
More details:
For something like:
1. press shift
2. press left
3. release shift
4. release left
DX reports this:
1. shift was pressed
2. shift was released, left was pressed
3. (no event is generated at all)
4. left was released
So what we could do is, check the state of the shift key with every
key press, and generate the Allegro key events for the shift key only
based on that, and ignore the DX info completely. As long as we do not
need this for additional keys, it should work well enough.