Wei Tjong Yao 12 anni fa
parent
commit
485bcf9b8c
1 ha cambiato i file con 21 aggiunte e 11 eliminazioni
  1. 21 11
      ThirdParty/SDL/src/video/raspi/SDL_raspievents.c

+ 21 - 11
ThirdParty/SDL/src/video/raspi/SDL_raspievents.c

@@ -36,7 +36,7 @@ struct input_event event[64];
 #define NUM_INPUT_DEVICE sizeof(event_fd) / sizeof(int)
 
 static SDL_Keycode keymap[] = {
-    0,
+    0/*KEY_RESERVED*/,
     SDLK_ESCAPE,'1','2','3','4','5','6','7','8','9','0','-','=',SDLK_BACKSPACE,
     SDLK_TAB,'q','w','e','r','t','y','u','i','o','p','[',']',SDLK_RETURN,
     SDLK_LCTRL,'a','s','d','f','g','h','j','k','l',';','\'','`',
@@ -46,10 +46,12 @@ static SDL_Keycode keymap[] = {
     SDLK_NUMLOCKCLEAR,SDLK_SCROLLLOCK,
     SDLK_KP_7,SDLK_KP_8,SDLK_KP_9,SDLK_KP_MINUS,SDLK_KP_4,SDLK_KP_5,SDLK_KP_6,
     SDLK_KP_PLUS,SDLK_KP_1,SDLK_KP_2,SDLK_KP_3,SDLK_KP_0,SDLK_KP_PERIOD,
-    0,0,0,SDLK_F11,SDLK_F12,0,0,0,0,0,0,0,
-    SDLK_KP_ENTER,SDLK_RCTRL,SDLK_KP_DIVIDE,SDLK_PRINTSCREEN,SDLK_RALT,0,
+    0/*UNKNOWN*/,0/*KEY_ZENKAKUHANKAKU*/,0/*KEY_102ND*/,SDLK_F11,SDLK_F12,0/*KEY_RO*/,
+    0/*KEY_KATAKANA*/,0/*KEY_HIRAGANA*/,0/*KEY_HENKAN*/,0/*KEY_KATAKANAHIRAGANA*/,0/*KEY_MUHENKAN*/,
+    0/*KEY_KPJPCOMMA*/,SDLK_KP_ENTER,SDLK_RCTRL,SDLK_KP_DIVIDE,SDLK_PRINTSCREEN,SDLK_RALT,0/*KEY_LINEFEED*/,
     SDLK_HOME,SDLK_UP,SDLK_PAGEUP,SDLK_LEFT,SDLK_RIGHT,SDLK_END,SDLK_DOWN,SDLK_PAGEDOWN,SDLK_INSERT,SDLK_DELETE,
-    0,0,0,0,0,0,0,SDL_SCANCODE_PAUSE,0,0,0,0,0,SDLK_LGUI,SDLK_RGUI,
+    0/*KEY_MACRO*/,SDLK_MUTE,SDLK_VOLUMEDOWN,SDLK_VOLUMEUP,SDLK_POWER,SDLK_KP_EQUALS,SDLK_KP_PLUSMINUS,SDL_SCANCODE_PAUSE,
+    0/*KEY_SCALE*/,SDLK_KP_COMMA,0/*KEY_HANGEUL*/,0/*KEY_HANJA*/,0/*KEY_YEN*/,SDLK_LGUI,SDLK_RGUI,0/*KEY_COMPOSE*/,
 };
 
 static int
@@ -66,12 +68,20 @@ TranslateMouseButton(__u16 code) {
     }
 }
 
+typedef enum
+{
+    NONE,
+    MOTION,
+    WHEEL
+} RelativeEvent;
+
 static void
 PropagateEvents(_THIS, int index)
 {
     SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
 
-    int i, count, button, x, y, relevent;
+    int i, count, button, x, y;
+    RelativeEvent relevent;
     if ((count = read(event_fd[index], event, sizeof(event))) < 0) {
         return;
     }
@@ -92,24 +102,24 @@ PropagateEvents(_THIS, int index)
             case REL_X:
             case REL_HWHEEL:
                 x = event[i].value;
-                relevent = event[i].code == REL_X ? 1 : 2;
+                relevent = event[i].code == REL_X ? MOTION : WHEEL;
                 break;
             case REL_Y:
             case REL_WHEEL:
                 y = event[i].value;
-                relevent = event[i].code == REL_Y ? 1 : 2;
+                relevent = event[i].code == REL_Y ? MOTION : WHEEL;
                 break;
             default:
-                relevent = 0;
+                relevent = NONE;
             }
             break;
 
         case EV_SYN:
             switch (relevent) {
-            case 1:
-                SDL_SendMouseMotion(data->window, index, 1, x, y);
+            case MOTION:
+                SDL_SendMouseMotion(data->window, index, 1/*relative*/, x, y);
                 break;
-            case 2:
+            case WHEEL:
                 SDL_SendMouseWheel(data->window, index, x, y);
                 break;
             default: ;