Esempio n. 1
0
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));
}
Esempio n. 2
0
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);
            }
         }
      }
   }