Esempio n. 1
0
void apple_input_keyboard_event(bool down,
      unsigned code, uint32_t character, uint32_t mod, unsigned device)
{
#if TARGET_OS_IPHONE
   settings_t *settings = config_get_ptr();
#endif

   code = HIDKEY(code);

#if TARGET_OS_IPHONE
   if (settings->input.keyboard_gamepad_enable)
   {
      if (handle_icade_event(&code, &down))
         character = 0;
      else
         code      = 0;
   }
   else if (settings->input.small_keyboard_enable)
   {
      if (handle_small_keyboard(&code, down))
         character = 0;
   }
#endif

   if (code == 0 || code >= MAX_KEYS)
      return;

   apple_key_state[code] = down;

   input_keyboard_event(down,
         input_keymaps_translate_keysym_to_rk(code),
         character, (enum retro_mod)mod, device);
}
void apple_input_keyboard_event(bool down,
      unsigned code, uint32_t character, uint32_t mod, unsigned device)
{
   driver_t *driver = driver_get_ptr();
   apple_input_data_t *apple = (apple_input_data_t*)driver->input_data;

   if (!apple)
      return;

   code = HIDKEY(code);

   if (apple->icade_enabled)
   {
      handle_icade_event(code);
      return;
   }

   if (apple->small_keyboard_enabled && 
      handle_small_keyboard(&code, down))
      character = 0;
   
   if (code == 0 || code >= MAX_KEYS)
      return;

   apple->key_state[code] = down;
    
   input_keyboard_event(down,
         input_keymaps_translate_keysym_to_rk(code),
         character, (enum retro_mod)mod, device);
}
Esempio n. 3
0
void apple_input_keyboard_event(bool down,
      unsigned code, uint32_t character, uint32_t mod)
{
   apple_input_data_t *apple = (apple_input_data_t*)driver.input_data;
   enum retro_mod mods = RETROKMOD_NONE;

   code = HIDKEY(code);

   if (icade_enabled)
   {
      handle_icade_event(code);
      return;
   }

   if (small_keyboard_enabled && handle_small_keyboard(&code, down))
      character = 0;
   
   if (code == 0 || code >= MAX_KEYS)
      return;

   if (apple)
      apple->key_state[code] = down;

   mods |= (mod & NSAlphaShiftKeyMask) ? RETROKMOD_CAPSLOCK : 0;
   mods |= (mod & NSShiftKeyMask)      ? RETROKMOD_SHIFT : 0;
   mods |= (mod & NSControlKeyMask)    ? RETROKMOD_CTRL : 0;
   mods |= (mod & NSAlternateKeyMask)  ? RETROKMOD_ALT : 0;
   mods |= (mod & NSCommandKeyMask)    ? RETROKMOD_META : 0;
   mods |= (mod & NSNumericPadKeyMask) ? RETROKMOD_NUMLOCK : 0;

   input_keyboard_event(down,
         input_translate_keysym_to_rk(code), character, mods);
}
void apple_input_handle_key_event(unsigned keycode, bool down)
{
   keycode = HIDKEY(keycode);

   if (icade_enabled)
      handle_icade_event(keycode);
   else if (keycode < MAX_KEYS)
      g_current_input_data.keys[keycode] = down;
}
Esempio n. 5
0
void apple_input_keyboard_event(bool down, unsigned code, uint32_t character, uint32_t mod)
{
   code = HIDKEY(code);

   if (icade_enabled)
   {
      handle_icade_event(code);
      return;
   }

   if (small_keyboard_enabled && handle_small_keyboard(&code, down))
      character = 0;
   
   if (code == 0 || code >= MAX_KEYS)
      return;

   g_current_input_data.keys[code] = down;
   
   /* This is copied here as it isn't defined in any standard iOS header */
   enum
   {
      NSAlphaShiftKeyMask = 1 << 16,
      NSShiftKeyMask      = 1 << 17,
      NSControlKeyMask    = 1 << 18,
      NSAlternateKeyMask  = 1 << 19,
      NSCommandKeyMask    = 1 << 20,
      NSNumericPadKeyMask = 1 << 21,
      NSHelpKeyMask       = 1 << 22,
      NSFunctionKeyMask   = 1 << 23,
      NSDeviceIndependentModifierFlagsMask = 0xffff0000U
   };

   enum retro_mod mods = RETROKMOD_NONE;
   mods |= (mod & NSAlphaShiftKeyMask) ? RETROKMOD_CAPSLOCK : 0;
   mods |= (mod & NSShiftKeyMask)      ? RETROKMOD_SHIFT : 0;
   mods |= (mod & NSControlKeyMask)    ? RETROKMOD_CTRL : 0;
   mods |= (mod & NSAlternateKeyMask)  ? RETROKMOD_ALT : 0;
   mods |= (mod & NSCommandKeyMask)    ? RETROKMOD_META : 0;
   mods |= (mod & NSNumericPadKeyMask) ? RETROKMOD_NUMLOCK : 0;

   input_keyboard_event(down, input_translate_keysym_to_rk(code), character, mods);
}