more X11 inputs

Canoi b635f2fc 8f4fd0d1

Changed files
+85 -6
+63 -5
bite.c
··· 87 87 }; 88 88 #else 89 89 char keys[] = { 90 + [XK_BackSpace] = BITEK_BACKSPACE, 90 91 [XK_Tab] = BITEK_TAB, 92 + [XK_Return] = BITEK_RETURN, 93 + [XK_Escape] = BITEK_ESCAPE, 94 + [XK_Delete] = BITEK_DELETE, 91 95 [XK_space] = BITEK_SPACE, 92 - [XK_Return] = BITEK_RETURN, 96 + [XK_Alt_L] = BITEK_LALT, 97 + [XK_Alt_R] = BITEK_RALT, 93 98 [XK_Shift_L] = BITEK_LSHIFT, 94 99 [XK_Shift_R] = BITEK_RSHIFT, 95 100 [XK_Control_L] = BITEK_LCONTROL, ··· 146 151 [XK_Y] = BITEK_Y, 147 152 [XK_Z] = BITEK_Z, 148 153 154 + [XK_a] = BITEK_A, 155 + [XK_b] = BITEK_B, 156 + [XK_c] = BITEK_C, 157 + [XK_d] = BITEK_D, 158 + [XK_e] = BITEK_E, 159 + [XK_f] = BITEK_F, 160 + [XK_g] = BITEK_G, 161 + [XK_h] = BITEK_H, 162 + [XK_i] = BITEK_I, 163 + [XK_j] = BITEK_J, 164 + [XK_k] = BITEK_K, 165 + [XK_l] = BITEK_L, 166 + [XK_m] = BITEK_M, 167 + [XK_n] = BITEK_N, 168 + [XK_o] = BITEK_O, 169 + [XK_p] = BITEK_P, 170 + [XK_q] = BITEK_Q, 171 + [XK_r] = BITEK_R, 172 + [XK_s] = BITEK_S, 173 + [XK_t] = BITEK_T, 174 + [XK_u] = BITEK_U, 175 + [XK_v] = BITEK_V, 176 + [XK_w] = BITEK_W, 177 + [XK_x] = BITEK_X, 178 + [XK_y] = BITEK_Y, 179 + [XK_z] = BITEK_Z, 180 + 149 181 [XK_KP_0] = BITEK_NUMPAD0, 150 182 [XK_KP_1] = BITEK_NUMPAD1, 151 183 [XK_KP_2] = BITEK_NUMPAD2, ··· 156 188 [XK_KP_7] = BITEK_NUMPAD7, 157 189 [XK_KP_8] = BITEK_NUMPAD8, 158 190 [XK_KP_9] = BITEK_NUMPAD9, 191 + 192 + [XK_F1] = BITEK_F1, 193 + [XK_F2] = BITEK_F2, 194 + [XK_F3] = BITEK_F3, 195 + [XK_F4] = BITEK_F4, 196 + [XK_F5] = BITEK_F5, 197 + [XK_F6] = BITEK_F6, 198 + [XK_F7] = BITEK_F7, 199 + [XK_F8] = BITEK_F8, 200 + [XK_F9] = BITEK_F9, 201 + [XK_F10] = BITEK_F10, 202 + [XK_F11] = BITEK_F11, 203 + [XK_F12] = BITEK_F12, 204 + 205 + [XK_minus] = BITEK_MINUS, 206 + [XK_plus] = BITEK_PLUS, 207 + [XK_less] = BITEK_LESS, 208 + [XK_equal] = BITEK_EQUAL, 209 + [XK_greater] = BITEK_GREATER, 159 210 }; 160 211 #endif 161 212 ··· 524 575 free(ctx); 525 576 return NULL; 526 577 } 527 - const char *ver = glGetString(GL_VERSION); 578 + const char *ver = (const char*)glGetString(GL_VERSION); 528 579 printf("OpenGL loaded: %s\n", ver); 529 580 return ctx; 530 581 } ··· 1385 1436 } break; 1386 1437 case KeyPress: { 1387 1438 e.type = BITE_KEY_PRESSED; 1439 + int code = ev.xkey.keycode; 1388 1440 int keysym = XkbKeycodeToKeysym( 1389 1441 ctx->window.display, 1390 1442 ev.xkey.keycode, 1391 1443 0, 1392 - 1 1444 + ev.xkey.state & ShiftMask ? 1 : 0 1393 1445 ); 1394 1446 e.key.keycode = keys[keysym]; 1395 - // printf("KeyPress: %d %d %d\n", keysym, ev.xkey.keycode, e.key.keycode); 1447 + printf("KeyPress: %d %d %d\n", keysym, ev.xkey.keycode, e.key.keycode); 1396 1448 } break; 1397 1449 case KeyRelease: { 1398 1450 e.type = BITE_KEY_RELEASED; 1399 - e.key.keycode = keys[ev.xkey.keycode]; 1451 + int keysym = XkbKeycodeToKeysym( 1452 + ctx->window.display, 1453 + ev.xkey.keycode, 1454 + 0, 1455 + ev.xkey.state & ShiftMask ? 1 : 0 1456 + ); 1457 + e.key.keycode = keys[keysym]; 1400 1458 } break; 1401 1459 } 1402 1460 fn = ctx->callbacks[e.type];
+22 -1
bite.h
··· 59 59 BITEK_BACKSPACE, 60 60 BITEK_TAB, 61 61 BITEK_RETURN, 62 + BITEK_LALT, 63 + BITEK_RALT, 62 64 BITEK_LSHIFT, 63 65 BITEK_RSHIFT, 64 66 BITEK_LCONTROL, ··· 134 136 BITEK_NUMPAD8, 135 137 BITEK_NUMPAD9, 136 138 BITEK_MULTIPLY, 137 - BITEK_ADD, 139 + BITEK_PLUS, 140 + BITEK_MINUS, 141 + 142 + BITEK_LESS, 143 + BITEK_EQUAL, 144 + BITEK_GREATER, 145 + 146 + BITEK_F1, 147 + BITEK_F2, 148 + BITEK_F3, 149 + BITEK_F4, 150 + BITEK_F5, 151 + BITEK_F6, 152 + BITEK_F7, 153 + BITEK_F8, 154 + BITEK_F9, 155 + BITEK_F10, 156 + BITEK_F11, 157 + BITEK_F12, 158 + 138 159 }; 139 160 140 161 enum {