Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CF: losing Run/Fire in 0.95.1
On Dec 2, 12:22am, Maciej Kalisiak wrote:
> Subject: CF: losing Run/Fire in 0.95.1
>
> It seems CF (I guess the server, since it seems to be handling this)
> sometimes fails to track the Ctrl and Shift key positions. Every now
> and then when I have to do something frantically with the keyboard,
> I lose "Run" and "Fire" due to (output of client):
It appears you are using the gtk client. When reporting bugs in the
client, please include what version of the client (gtk or standard x11) you
are using, since a large portion of what the client does is unique is this
regard.
>
> Fire is on while shift is not
> Fire is on while shift is not
> Run is on while ctrl is not
> Fire is on while shift is not
> Run is on while ctrl is not
> Run is on while ctrl is not
> Run is on while ctrl is not
>
> The strange thing is that the server loses track of both keys at the
> same time (perhaps the special case is when both keys are in
> transition at the same instant). Furthermore, my PgUp and PgDn become
> the Fire and Run, except that they cannot be used with the arrow keys,
> not being true modifier keys themselves.
The above suggests that the gtk client is loosing information someplace.
However, the above messages suggests that the gtk client is missing the
state transitions.
>
> Ugh. Makes the game totally unplayable. Any recommendations? (in the
> meantime I guess I'll have another peak at the server code, see if I
> can find the bugger; I guess this is as good an occasion as ever to
> get my hands dirty :)
I would try using the X11 client and see if that works. If you don't see
the problem there, it is definately a client issue and not the server.
The server does maintain some idea of run and fire status - however, the
client provides this information (client sees that the shift key has
been hit, and then tells the server to turn fire on. When it sees the
shift key released, it then tells the client to turn fire off. Likewise
for control/run.) So the server is only as accurate as the information the
client provides. If the player hits shift, the client sends that fire
is on, and the player releases the shift key but the client doesn't notice
(and thus doesn't tell the server that fire is off), the server will go
on with the fire on since that is the last it was told.
That said - I do know of ways to confuse even the X11 client - if you press
the shift/control key while in the window and move the pointer out of the
window and then release the key, the client won't see the release (since
it is no longer in focus). Likewise, if you press control out of the window
and enter the window and release it, the client then sees a release with
no press (not as big a deal).
--
-- Mark Wedel
mark@pyramid.com
-
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to crossfire-request@ifi.uio.no]