Glfw: GLFW_PRESS en la devolución de llamada de tecla después de mantener presionada la tecla durante un tiempo y soltarla

Creado en 7 mar. 2017  ·  4Comentarios  ·  Fuente: glfw/glfw

Linux Ubuntu
Información de tiempo de compilación de glfw: 3.1.2 X11 GLX clock_gettime / dev / js XI Xf86vm compartido
runtime glfw versión: 3.1.2

void App::key_callback(GLFWwindow*, int key, int, int action, int)
{
    if(action == GLFW_PRESS)
        keys.pressEvent(key);
    else if(action == GLFW_RELEASE)
        keys.releaseEvent(key);
}

Después de presionar cualquier tecla, obtengo GLFW_PRESS (acción) como se esperaba, luego de presionarla y soltarla, hay las siguientes acciones en el orden dado:
-GLFW_RELEASE
-GLFW_PRESS
-VERSIÓN DE GLFW

acciones adicionales de prensa y liberación están causando cierto retraso en mi aplicación. No tengo este problema en Windows y Mac OS.

Información de tiempo de compilación de glfw: 3.3.0 X11 GLX EGL clock_gettime / dev / js compartido
runtime glfw versión: 3.3.0

sigue sin funcionar

X11 bug duplicate verified

Todos 4 comentarios

Posiblemente relacionado con https://github.com/glfw/glfw/issues/747. ¿Puede ver si el problema ocurre en el programa de prueba de eventos glfw?

0000007a a 1 en 12,784: Se presionó la tecla 0x0041 Scancode 0x0026 (A) (a) (sin mods)
0000007b a 1 en 12,788: carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
0000007c a 1 en 12,788: Entrada de carácter 0x00000061 (a)
0000007d a 1 en 13,284: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
0000007e a 1 en 13,288: carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
0000007f a 1 en 13,288: Entrada de carácter 0x00000061 (a)
00000080 a 1 en 13,316: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
00000081 a 1 en 13,320: Carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
00000082 a 1 en 13,320: Entrada de carácter 0x00000061 (a)
00000083 a 1 en 13,347: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
00000084 a 1 en 13,352: Carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
00000085 a 1 en 13,352: Entrada de carácter 0x00000061 (a)
00000086 a 1 en 13,377: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
00000087 a 1 en 13,382: Carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
00000088 a 1 en 13,382: Entrada de carácter 0x00000061 (a)
00000089 a 1 en 13,408: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
0000008a a 1 en 13,413: carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
0000008b a 1 en 13,413: Entrada de carácter 0x00000061 (a)
0000008c a 1 en 13,439: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
0000008d a 1 en 13,443: carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
0000008e a 1 en 13,444: Entrada de carácter 0x00000061 (a)
0000008f a 1 en 13,470: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
00000090 a 1 en 13,475: carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
00000091 a 1 en 13,475: Entrada de carácter 0x00000061 (a)
00000092 a 1 en 13,501: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
00000093 a 1 en 13,506: carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
00000094 a 1 en 13,506: Entrada de carácter 0x00000061 (a)
00000095 a 1 en 13,532: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
00000096 a 1 en 13,537: Carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
00000097 a 1 en 13,537: Entrada de carácter 0x00000061 (a)
00000098 a 1 en 13,565: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
00000099 a 1 en 13,571: Carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
0000009a a 1 en 13,571: Entrada de carácter 0x00000061 (a)
0000009b a 1 en 13,594: Se repitió la clave 0x0041 El código de escaneo 0x0026 (A) (a) (sin modificaciones)
0000009c a 1 en 13,596: carácter 0x00000061 (a) con entrada de modificadores (sin modificaciones)
0000009d a 1 en 13,596: Entrada de carácter 0x00000061 (a)
0000009e a 1 en 13,611: Se lanzó la clave 0x0041 Scancode 0x0026 (A) (a) (sin modificaciones)

hmm parece funcionar correctamente en la prueba de eventos.

Esto debería solucionarse ahora con 4ff66a7818e3eaa5362c828a18220b12f1cd9bc8.

¡obras! :)

¿Fue útil esta página
0 / 5 - 0 calificaciones