amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > SDL-Keyabfrageproblem [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2004-10-02, 00:07 h

TerAtoM
Posts: 1230
User
Hallo,

ich habe ein kleines Testprogramm für mein geplantes projekt geschrieben und dabei etwas merkwürdiges entdeckt.

Wenn ich die Pfeiltasten OBEN und LINK gleichzeitig drücke bekomme ich keine meldung von meiner Spacetaste mehr. Alle anderen Pfeiltastenkombinationen gehen aber einwandfrei!!??

Hier der Code:

Uint8 *keystate;
keystate = SDL_GetKeyState(0);

if (keystate[SDLK_SPACE])
bolFire = true;
else
bolFire = false;

if (keystate[SDLK_RIGHT])
ShipX += ShipSpeed;

if (keystate[SDLK_LEFT])
ShipX -= ShipSpeed;

if (keystate[SDLK_DOWN])
ShipY += ShipSpeed;

if (keystate[SDLK_UP])
ShipY -= ShipSpeed;


Wohlgemerkt: Ich benutze das ganze zum entwickeln unter Windows und dem DevC++ Compiler... tritt das problem beim Amiga vielleicht gar nicht auf??

CU TerA
--
TerAtoM
Band: http://www.TERATOM.de
Soft: http://www.NTComp.de
Privat: http://www.TerAmigA.de.vu
Profession: http://www.Xavo.de
ICQ: 18056588

[ - Answer - Quote - Direct link - ]

2004-10-02, 08:06 h

thomas
Posts: 7718
User

Das dürfte an der Tastatur liegen, die nicht mehr als zwei Tasten gleichzeitig erkennen kann. Der Amiga hat eine ähnliche Einschränkung, die ist aber anders als bei einer PS/2-Tastatur. Jedenfalls lassen sich manche Spiele am Amiga mit PC-Tastatur nicht spielen. Genaueres kann ich dazu nicht sagen, ist zu lange her, daß ich das gelesen habe.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Answer - Quote - Direct link - ]

2004-10-02, 10:56 h

TerAtoM
Posts: 1230
User
Zitat:
Original von thomas:

Das dürfte an der Tastatur liegen, die nicht mehr als zwei Tasten gleichzeitig erkennen kann. Der Amiga hat eine ähnliche Einschränkung, die ist aber anders als bei einer PS/2-Tastatur. Jedenfalls lassen sich manche Spiele am Amiga mit PC-Tastatur nicht spielen. Genaueres kann ich dazu nicht sagen, ist zu lange her, daß ich das gelesen habe.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/



Danke, aber das ist es vermutlich nicht. Daran habe ich auch zuerst gedacht und natürlich die anderen kombinationen durchprobiert (OBEN+RECHTS+SPACE, UNTEN+RECHTS+SPACE, UNTEN+LINKS+SPACE) und die gehen alle. Die einzige die eben nicht geht ist die OBEN+LINKS+SPACE... das wundert micht eben sehr...

...und so ist die funktionalität auch nicht wirklich gegeben... ist ja blöd wenn ich mich nach links-oben bewege nicht mehr schiessen kann ;)

CU TerA
--
TerAtoM
Band: http://www.TERATOM.de
Soft: http://www.NTComp.de
Privat: http://www.TerAmigA.de.vu
Profession: http://www.Xavo.de
ICQ: 18056588

[ - Answer - Quote - Direct link - ]

2004-10-02, 11:07 h

thomas
Posts: 7718
User

Doch, das liegt an der Tastaturmatrix. Jede Taste schließt eine Zeile und eine Spalte kurz. Wenn man zwei benachbarte Tasten gleichzeitig drückt, ist eine dritte tot. Das ist natürlich nicht immer die gleiche.

Bei hochwertigeren Tastaturen passiert das nicht, weil die keine Matrix benutzen.

Gruß Thomas


--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Answer - Quote - Direct link - ]

2004-10-02, 12:36 h

TerAtoM
Posts: 1230
User
Toll... gibt es einen Workaround um auch "minderwertige" Tastaturen dazu zu bewegen alle Tasten zu bekommen?

Weil das hier ist eigentlich ein hochwerties Dell Notebook ist. Und wenn das da auftritt dann wird es wohl bei den meisten Notebooks der fall sein. Von den minderwertigen Desktop-Tastaturen gar nicht zu reden (und die erkennt man ja auch von aussen nicht wirklich).

Was natürlich blöd ist...

CU TerA


PS: Bei einer extern angeschlossener Dell-Tastatur tritt das probelm nicht auf.

--
TerAtoM
Band: http://www.TERATOM.de
Soft: http://www.NTComp.de
Privat: http://www.TerAmigA.de.vu
Profession: http://www.Xavo.de
ICQ: 18056588

[ - Answer - Quote - Direct link - ]

2004-10-03, 13:25 h

Holger
Posts: 8116
User
Zitat:
Original von TerAtoM:
Toll... gibt es einen Workaround um auch "minderwertige" Tastaturen dazu zu bewegen alle Tasten zu bekommen?

Nein.
Die dritte Taste ist deshalb tot, weil die beiden anderen Tasten die zugehörige Zeile und Spalte bereits kurzgeschlossen haben. Das heißt, aus Sicht der Matrixabfrage ist diese Taste immer mitgedrückt, deshalb wird sie vom Tastaturcontroller bewußt herausgefiltert.
Normalerweise haben die Modifer-Keys, also shift, control, alt eine eigene Leitung, weil sie ja in Kombination mit allen anderen Tasten funktionieren müssen. Probier also, statt Leertaste shift, alt oder control zu verwenden.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > SDL-Keyabfrageproblem [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.