Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Detectar Varias Teclas Simultaneas

Iniciado por Vivael13h, 21 de Marzo de 2005, 02:00:57 PM

« anterior - próximo »

senior wapo

 Es un problema de hard, creo.

Por lo que sé, mas bien, creo recordar que creo haber leido que creo que decian en una revista que creian que era por esto:

Los teclados no tienen 102 interruptores que detectar individualmente porque sería muy costoso. Lo que hacen es que tienen un circuito por fila y otro por columna, como una malla. Cuando pulsas una tecla cierras el circuito y pasa corriente por su fila y columna, y así detectan la pulsación si es 1 tecla.

¿ Pero que pasa si pulsas 4 teclas que forman un cuadrado ? ¿ Has pulsado 4 o has pulsado 2 esquinas opuestas?

Algo asi era... que conteste algún experto  :)  

Sacrifai

Cita de: "[EX3"] Ahora que comentais el tema me estoy acordando de cuando jugabamos 4 personas en el mismo teclado (si si, 4 personas  (uoh) ) a una version del juego de motos de luz de la mitica pelicula Tron, el juego en cuestion GL_Tron, el player 1 si pulsaba 4 teclas simultaneas, las que fuese, bloqueaba al resto de jugadores impidiendo que estos pudiesen controlar sus motos, era toda una cabronada (twist)

Salu2...
Y ese magico sonido del speaker ( o como se llame ) :lol:  

sés

 
Cita de: "egf"el orden en que esta escrito un codigo puede variar el resultado
Pero si una tecla está o no pulsada no depende para nada del orden en que tú preguntes. Si está pulsada, lo está.

Cita de: "senior wapo"¿ Pero que pasa si pulsas 4 teclas que forman un cuadrado ? ¿ Has pulsado 4 o has pulsado 2 esquinas opuestas?
En el viejo Spectrum, si pulsabas ciertas teclas era equivalente a pulsar otra distinta.
Como dices, tiene que ver con la matriz que forma el teclado. Un ejemplo imaginario:
Pulsas Q, W y S. Como has pulsado 3 de las 4 esquinas de un cuadrado (Q,W,S,A), el ordenador cree que se ha pulsado la A.

En Spectrum era así. En PC (por lo que he comprobado), si pulsas varias teclas, dependiendo de las que sean y del teclado, simplemente no se detectan:
Pulsas A... ok, pulsas S... ok, pulsas D... ok, pulsas J... y de esta ya no se entera. Sin embargo puede que sí se entere si pulsas la O o la Y. A saber.

En los viejos ordenadores (Spectrum, Amstrad, MSX...) "no se daba ese problema" porque todos los teclados ERAN IGUALES. Los programadores buscaban combinaciones de teclas que no dieran problemas y listos. Además... ni de coña se utilizaban tantas teclas en los juegos :P
Soy indeciso... ¿o no?

BeRSeRKeR

 Efectivamente hay combinaciones que no detecta. Para probar, he abierto el ejemplo de la SDK de DX que muestra el funcionamiento del teclado a través de DInput y por ejemplo me deja pulsar A,S,D,F,J,K,L,Ñ o Q,W,E,R,J,K,L,Ñ pero no A,S,D,F,Q,W,E,R o J,K,L,Ñ,U,I,O,P ni tampoco A,S,D,W.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

sés

 Sí, pero como ya he dicho: depende del teclado.

Para los juegos de lucha, en mi teclado uso G,J,Y,N (o F,H,T,B) para las direcciones y 1,2,3,Q,W,E para los golpes. Sin embargo esas teclas no funcionan bien en otros teclados.
Por ejemplo: Me ocubro agachado (G+N) y ya no me reconoce la E (patada fuerte)

En casa de un amigo tuve que buscar una combinación que funcionara en el suyo... que asco.
Soy indeciso... ¿o no?






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.