Glfw: GLFW_PRESS no retorno de chamada chave após segurar a tecla por algum tempo e liberá-la

Criado em 7 mar. 2017  ·  4Comentários  ·  Fonte: glfw/glfw

Linux Ubuntu
glfw informações de tempo de compilação: 3.1.2 X11 GLX clock_gettime / dev / js XI Xf86vm compartilhado
versão glfw de tempo de execução: 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);
}

Depois de pressionar qualquer tecla, obtenho GLFW_PRESS (ação) conforme o esperado e, depois de segurá-la e soltá-la, há as seguintes ações na ordem determinada:
-GLFW_RELEASE
-GLFW_PRESS
-GLFW RELEASE

ações adicionais de imprensa e liberação estão causando algum atraso em meu aplicativo. Eu não tenho esse problema no Windows e Mac OS.

glfw informações de tempo de compilação: 3.3.0 X11 GLX EGL clock_gettime / dev / js compartilhado
versão glfw do tempo de execução: 3.3.0

Ainda não funciona

X11 bug duplicate verified

Todos 4 comentários

Possivelmente relacionado a https://github.com/glfw/glfw/issues/747. Você pode ver se o problema ocorre no programa de teste de eventos glfw?

0000007a a 1 em 12.784: Tecla 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi pressionada
0000007b a 1 em 12.788: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
0000007c a 1 em 12.788: Entrada de caractere 0x00000061 (a)
0000007d a 1 em 13.284: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
0000007e a 1 em 13.288: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
0000007f a 1 em 13.288: Entrada de caractere 0x00000061 (a)
00000080 a 1 em 13.316: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
00000081 a 1 em 13.320: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
00000082 a 1 em 13.320: Entrada de caractere 0x00000061 (a)
00000083 a 1 em 13.347: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
00000084 a 1 em 13.352: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
00000085 a 1 em 13.352: Entrada de caractere 0x00000061 (a)
00000086 a 1 em 13.377: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
00000087 a 1 em 13.382: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
00000088 a 1 em 13.382: Entrada de caractere 0x00000061 (a)
00000089 a 1 em 13.408: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
0000008a a 1 em 13.413: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
0000008b a 1 em 13.413: Entrada de caractere 0x00000061 (a)
0000008c a 1 em 13.439: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
0000008d a 1 em 13.443: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
0000008e a 1 em 13.444: Entrada de caractere 0x00000061 (a)
0000008f para 1 em 13.470: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
00000090 a 1 em 13.475: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
00000091 a 1 em 13.475: Entrada de caractere 0x00000061 (a)
00000092 a 1 em 13.501: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
00000093 a 1 em 13.506: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
00000094 a 1 em 13.506: Entrada de caractere 0x00000061 (a)
00000095 a 1 em 13.532: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
00000096 a 1 em 13.537: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
00000097 a 1 em 13.537: Entrada de caractere 0x00000061 (a)
00000098 a 1 em 13.565: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
00000099 a 1 em 13.571: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
0000009a a 1 em 13.571: Entrada de caractere 0x00000061 (a)
0000009b para 1 em 13.594: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi repetido
0000009c a 1 em 13.596: Caractere 0x00000061 (a) com entrada de modificadores (sem mods)
0000009d a 1 em 13.596: Entrada de caractere 0x00000061 (a)
0000009e para 1 em 13.611: Chave 0x0041 Scancode 0x0026 (A) (a) (sem mods) foi lançado

hmm parece funcionar corretamente no teste de eventos.

Isso deve ser corrigido agora com 4ff66a7818e3eaa5362c828a18220b12f1cd9bc8.

trabalho! :)

Esta página foi útil?
0 / 5 - 0 avaliações