Autor Tema: ¿Capturar múltiples teclas al mismo tiempo?  (Leído 601 veces)

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
¿Capturar múltiples teclas al mismo tiempo?
« en: 23 de Junio de 2012, 03:07:48 am »
Buenas PHPeros.
Últimamente me he estado afincando mas a lo que javascript se refiere y tengo una duda la cual es la siguiente:

Imagínense que la tecla A cumpla una función mientras se encuentra presionada, mientras que la tecla B cumple otra. Mi pregunta es, si llega el momento de que ambas teclas se encuentren presionadas, ¿como puedo cumplir ambas funciones al mismo tiempo?

Saludos.
Twitter: @JoakoM010



Comunidad PHPeros

¿Capturar múltiples teclas al mismo tiempo?
« en: 23 de Junio de 2012, 03:07:48 am »

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:¿Capturar múltiples teclas al mismo tiempo?
« Respuesta #1 en: 23 de Junio de 2012, 15:49:00 pm »
No sé como manejar dos teclas diferentes, pero siempre puedes aprovechar control y alt, que por lo que he visto últimamente, existe event.ctrlKey y event.altKey; que son boleanos que indican si dichas teclas están presionadas (esto aparece en eventos como keyup)

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:¿Capturar múltiples teclas al mismo tiempo?
« Respuesta #2 en: 23 de Junio de 2012, 20:01:29 pm »
No sé como manejar dos teclas diferentes, pero siempre puedes aprovechar control y alt, que por lo que he visto últimamente, existe event.ctrlKey y event.altKey; que son boleanos que indican si dichas teclas están presionadas (esto aparece en eventos como keyup)

Me vengo enterando lo de control y alt, pero es que necesito que sean teclas que yo mismo defina.
He estado buscando por Google sobre esto, pero no he encontrado nada que me saque de dudas y espero al menos encontrar alguien por aquí que ya  le pasara algo similar.

Saludos.

Nota: Te extrañe :$
Twitter: @JoakoM010



Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:¿Capturar múltiples teclas al mismo tiempo?
« Respuesta #3 en: 27 de Junio de 2012, 00:40:22 am »
Me vengo enterando lo de control y alt, pero es que necesito que sean teclas que yo mismo defina.
He estado buscando por Google sobre esto, pero no he encontrado nada que me saque de dudas y espero al menos encontrar alguien por aquí que ya  le pasara algo similar.

Saludos.

Nota: Te extrañe :$
Tal vez puedas usar onmousedown para detectar cuando una tecla se aprieta, y onmouseup para cuando se suelta, y comprobar cuales están simultaneamente presionadas, algo así
Código: [Seleccionar]
// jQuery ftw
var pressed_keys = [];
$(document).ready(function() {
$(document).mousedown(function(e) {window.pressed_keys.push(e.which||e.keyCode)}).mouseup(function(e) {
var current_key = e.which || e.keyCode;
if(current_key == 'teclaquequieres' && $.inArray('teclaquedebeestarapretadatambien', pressed_keys)) {
// lo que sea
}
});
});
También puedes alterarlo para que SOLO esas teclas estén presionadas, que sería lo suyo, claro...
y bueno, probablemente haya una manera mejor; pero así puede funcionar

Nota: Obviamente, no puedes vivir sin mí (?) :$

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:¿Capturar múltiples teclas al mismo tiempo?
« Respuesta #4 en: 27 de Junio de 2012, 01:08:09 am »
Tal vez puedas usar onmousedown para detectar cuando una tecla se aprieta, y onmouseup para cuando se suelta, y comprobar cuales están simultaneamente presionadas, algo así
Código: [Seleccionar]
// jQuery ftw
var pressed_keys = [];
$(document).ready(function() {
$(document).mousedown(function(e) {window.pressed_keys.push(e.which||e.keyCode)}).mouseup(function(e) {
var current_key = e.which || e.keyCode;
if(current_key == 'teclaquequieres' && $.inArray('teclaquedebeestarapretadatambien', pressed_keys)) {
// lo que sea
}
});
});
También puedes alterarlo para que SOLO esas teclas estén presionadas, que sería lo suyo, claro...
y bueno, probablemente haya una manera mejor; pero así puede funcionar

Nota: Obviamente, no puedes vivir sin mí (?) :$

Si, exactamente eso había pensado pero creí que existía una manera mas lógica de hacerlo.
Nota: Lógicamente no, espero verte mas seguido por estos lados... :$
Twitter: @JoakoM010