static void rwebinput_input_poll(void *data) { rwebinput_input_t *rwebinput = (rwebinput_input_t*)data; rwebinput_state_t *state = RWebInputPoll(rwebinput->context); memcpy(&rwebinput->state, state, sizeof(rwebinput->state)); }
static void rwebinput_input_poll(void *data) { rwebinput_input_t *rwebinput = (rwebinput_input_t*)data; rwebinput_state_t *state = RWebInputPoll(rwebinput->context); // get new keys for (unsigned i = 0; i < 32; i++) { if (state->keys[i] != rwebinput->state.keys[i]) { uint8_t diff = state->keys[i] ^ rwebinput->state.keys[i]; for (unsigned k = 0; diff; diff >>= 1, k++) { if (diff & 1) { input_keyboard_event((state->keys[i] & (1 << k)) != 0, input_translate_keysym_to_rk(i * 8 + k), 0, 0); } } } }