event->x, event->y);
#endif
+#if defined(HAS_SCREEN_KEYBOARD)
+ if (video.shifted_up)
+ event->y += video.shifted_up_pos;
+#endif
+
motion_status = FALSE;
if (event->type == EVENT_BUTTONPRESS)
GetKeyModState());
#endif
-#if defined(PLATFORM_ANDROID)
- if (game_status == GAME_MODE_PSEUDO_TYPENAME)
- {
- HandleTypeName(0, key);
-
+#if !defined(HAS_SCREEN_KEYBOARD)
+ // non-mobile devices: only handle key input with modifier keys pressed here
+ // (every other key input is handled directly as physical key input event)
+ if (!checkTextInputKeyModState())
return;
- }
#endif
- // only handle key input with text modifier keys pressed
- if (checkTextInputKeyModState())
- {
- HandleKey(key, KEY_PRESSED);
- HandleKey(key, KEY_RELEASED);
- }
+ // process text input as "classic" (with uppercase etc.) key input event
+ HandleKey(key, KEY_PRESSED);
+ HandleKey(key, KEY_RELEASED);
}
void HandlePauseResumeEvent(PauseResumeEvent *event)
if (game_status == GAME_MODE_PLAYING || !setup.debug.frame_delay_game_only)
{
- boolean mod_key_pressed = ((GetKeyModState() & KMOD_Control) ||
- (GetKeyModState() & KMOD_Alt) ||
- (GetKeyModState() & KMOD_Meta));
+ boolean mod_key_pressed = (GetKeyModState() != KMOD_None);
for (i = 0; i < NUM_DEBUG_FRAME_DELAY_KEYS; i++)
{
if (key == setup.debug.frame_delay_key[i] &&
- (mod_key_pressed || !setup.debug.frame_delay_use_mod_key))
+ (mod_key_pressed == setup.debug.frame_delay_use_mod_key))
{
GameFrameDelay = (GameFrameDelay != setup.debug.frame_delay[i] ?
setup.debug.frame_delay[i] : GAME_FRAME_DELAY);
return;
}
- if ((key == KSYM_minus ||
- key == KSYM_plus ||
- key == KSYM_equal || // ("Shift-=" is "+" on US keyboards)
- key == KSYM_0) &&
- ((GetKeyModState() & KMOD_Control) ||
- (GetKeyModState() & KMOD_Alt) ||
- (GetKeyModState() & KMOD_Meta)) &&
+ if ((key == KSYM_0 || key == KSYM_KP_0 ||
+ key == KSYM_minus || key == KSYM_KP_Subtract ||
+ key == KSYM_plus || key == KSYM_KP_Add ||
+ key == KSYM_equal) && // ("Shift-=" is "+" on US keyboards)
+ (GetKeyModState() & (KMOD_Control | KMOD_Meta)) &&
video.window_scaling_available &&
!video.fullscreen_enabled)
{
- if (key == KSYM_0)
+ if (key == KSYM_0 || key == KSYM_KP_0)
setup.window_scaling_percent = STD_WINDOW_SCALING_PERCENT;
+ else if (key == KSYM_minus || key == KSYM_KP_Subtract)
+ setup.window_scaling_percent -= STEP_WINDOW_SCALING_PERCENT;
else
- setup.window_scaling_percent +=
- (key == KSYM_minus ? -1 : +1) * STEP_WINDOW_SCALING_PERCENT;
+ setup.window_scaling_percent += STEP_WINDOW_SCALING_PERCENT;
if (setup.window_scaling_percent < MIN_WINDOW_SCALING_PERCENT)
setup.window_scaling_percent = MIN_WINDOW_SCALING_PERCENT;