test/checkkeys.c
changeset 4560 95352c671a6e
parent 2315 95586dfe1992
child 5081 25d4feb7c127
equal deleted inserted replaced
4559:f8c3870af5a2 4560:95352c671a6e
    51     if (mod & KMOD_MODE)
    51     if (mod & KMOD_MODE)
    52         printf(" MODE");
    52         printf(" MODE");
    53 }
    53 }
    54 
    54 
    55 static void
    55 static void
    56 PrintKey(SDL_keysym * sym, int pressed)
    56 PrintKey(SDL_keysym * sym, SDL_bool pressed, SDL_bool repeat)
    57 {
    57 {
    58     /* Print the keycode, name and state */
    58     /* Print the keycode, name and state */
    59     if (sym->sym) {
    59     if (sym->sym) {
    60         printf("Key %s:  scancode %d = %s, keycode 0x%08X = %s ",
    60         printf("Key %s:  scancode %d = %s, keycode 0x%08X = %s ",
    61                pressed ? "pressed " : "released",
    61                pressed ? "pressed " : "released",
    85                 printf(" (0x%X)", sym->unicode);
    85                 printf(" (0x%X)", sym->unicode);
    86 #endif
    86 #endif
    87         }
    87         }
    88     }
    88     }
    89     print_modifiers();
    89     print_modifiers();
       
    90     if (repeat) {
       
    91         printf(" (repeat)");
       
    92     }
    90     printf("\n");
    93     printf("\n");
    91 }
    94 }
    92 
    95 
    93 static void
    96 static void
    94 PrintText(char *text)
    97 PrintText(char *text)
   132     while (!done) {
   135     while (!done) {
   133         /* Check for events */
   136         /* Check for events */
   134         SDL_WaitEvent(&event);
   137         SDL_WaitEvent(&event);
   135         switch (event.type) {
   138         switch (event.type) {
   136         case SDL_KEYDOWN:
   139         case SDL_KEYDOWN:
   137             PrintKey(&event.key.keysym, 1);
       
   138             break;
       
   139         case SDL_KEYUP:
   140         case SDL_KEYUP:
   140             PrintKey(&event.key.keysym, 0);
   141             PrintKey(&event.key.keysym, event.key.state, event.key.repeat);
   141             break;
   142             break;
   142         case SDL_TEXTINPUT:
   143         case SDL_TEXTINPUT:
   143             PrintText(event.text.text);
   144             PrintText(event.text.text);
   144             break;
   145             break;
   145         case SDL_MOUSEBUTTONDOWN:
   146         case SDL_MOUSEBUTTONDOWN: